Azure-Samples / azure-search-openai-demo-csharp

A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.
MIT License
551 stars 345 forks source link

Investigate imparity features between csharp and python azure search #329

Open LittleLittleCloud opened 2 weeks ago

LittleLittleCloud commented 2 weeks ago

This issue is used to track all misalignments between python azure search and csharp ones.

link to python-azure-search: https://github.com/Azure-Samples/azure-search-openai-demo

LittleLittleCloud commented 1 week ago

CSharp's doesn't have chat window (because it's been removed intentionally)

LittleLittleCloud commented 1 week ago

Imparity in thought process: Python's show much more details on how RAG is completed

image image image

LittleLittleCloud commented 1 week ago

Imparity in rag configuration: Python's allow more settings in how documents get retrieved

image

pamelafox commented 1 week ago

As far as I know, C# does not yet have:

You can also go through https://github.com/Azure-Samples/azure-search-openai-demo/releases to see the highlights of what has been released over the last year.

You might not want to implement all of that, of course.

LittleLittleCloud comment

The following features have been added

jmatthiesen commented 1 week ago

Additionally - support of guidance for load balancing API requests (As described in a couple load balancing articles here: https://learn.microsoft.com/en-us/dotnet/ai/get-started-app-chat-scaling-with-azure-container-apps?toc=%2Fazure%2Fdeveloper%2Fai%2Ftoc.json&bc=%2Fazure%2Fdeveloper%2Fai%2Fbreadcrumb%2Ftoc.json&tabs=github-codespaces%2Cinitial-deployment). We need support for the AZURE_OPENAI_CUSTOM_URL env variables, for example.

jmatthiesen commented 1 week ago

Demonstrating support for Azure Speech Services - The C# version uses speech to text APIs in the browser, but the Python version demonstrates using Azure Speech Services.

pamelafox commented 1 week ago

Good points! One way to prioritize might be to look at what features Dina has written articles about for the Python sample, and try to match those for C#. Load balancing, private endpoints, evaluation.