RAG OOP support#42
Conversation
cgillum
left a comment
There was a problem hiding this comment.
The changes look good to me. There's just one very minor unresolved comment from the previous iteration.
|
This PR is blocked on this PR completing a new release for the Worker.SDK . Our E2E test relies on creating a new nuget feed and using that for the inner build, but with the older versions of the Worker.SDK, this fails. I got the E2E test to pass for now by temporarily adding a dependency to the AzureTempStagingFeed but we would ideally want to wait until the official release has been done and use that. |
|
Talked to Fabio and found a workaround to use the worker SDK version 1.17.2 in the RAG samples. The issue with nuget pulling from a different feed for the E2E test was handled by specifying the user level Nuget.config file and specifically passing that in when we run We still need to move the CSharpIsolated chat sample to run on worker SDK version 1.17.2, instead of 1.17.1. I will address this in another PR. |
Resolves: https://github.com/Azure/azure-functions-pyfx-planning/issues/296
This PR adds support for the RAG kusto and AI search scenarios in dotnet isolated. I also went ahead and deleted the in-proc samples.
Within the Worker, I added the
SemanticSearchInputAttributeandSemanticSearchOutputAttribute. I also had to create some converters as the Azure OpenAI SDK types (EmbeddingsOptions for example) implement theIJsonModel, which requires that we create our own custom converters if our objects contain those types. The host expects that we are deserializing usingSystem.Text.Jsonso we have to specify how to serialize and deserialize the object specifically. I have also added the necessary converters within the WebJobs project.I also had to add a new project/package for the kusto worker and AI search worker, as we need that to consume the search provider and trigger the kusto web jobs package. The versioning for both of these packages are set by the new properties added in Directory.build.props.