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
647 stars 423 forks source link

Investigate imparity features between csharp and python azure search #329

Open LittleLittleCloud opened 4 months ago

LittleLittleCloud commented 4 months 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 4 months ago

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

LittleLittleCloud commented 4 months ago

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

image image image

LittleLittleCloud commented 4 months ago

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

image

pamelafox commented 4 months 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 4 months 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 4 months 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 4 months 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.