Skip to content

RAG OOP support#42

Merged
aishwaryabh merged 58 commits intomainfrom
aibhandari/rag-semantic-support
Apr 1, 2024
Merged

RAG OOP support#42
aishwaryabh merged 58 commits intomainfrom
aibhandari/rag-semantic-support

Conversation

@aishwaryabh
Copy link
Copy Markdown
Contributor

@aishwaryabh aishwaryabh commented Mar 11, 2024

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 SemanticSearchInputAttribute and SemanticSearchOutputAttribute. I also had to create some converters as the Azure OpenAI SDK types (EmbeddingsOptions for example) implement the IJsonModel, which requires that we create our own custom converters if our objects contain those types. The host expects that we are deserializing using System.Text.Json so 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.

@aishwaryabh aishwaryabh changed the title DRAFT: RAG OOP support RAG OOP support Mar 26, 2024
@aishwaryabh aishwaryabh marked this pull request as ready for review March 26, 2024 05:20
Copy link
Copy Markdown
Member

@cgillum cgillum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes look good to me. There's just one very minor unresolved comment from the previous iteration.

@aishwaryabh
Copy link
Copy Markdown
Contributor Author

aishwaryabh commented Mar 29, 2024

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.

@aishwaryabh
Copy link
Copy Markdown
Contributor Author

aishwaryabh commented Apr 1, 2024

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 dotnet build. This PR is now unblocked and not coupled with the worker SDK release.

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.

@aishwaryabh aishwaryabh merged commit d9e0751 into main Apr 1, 2024
@aishwaryabh aishwaryabh deleted the aibhandari/rag-semantic-support branch April 1, 2024 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants