An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
Hello Ali Rizvi,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you would like to work efficiently using AzureOpen AI With Multiple CSV.
With the steps below you will be able achieve your aim:
- Put into consideration your architecture: Pipeline: Blob Storage > Cognitive Search (Hybrid Index) > Azure OpenAI (RTR Pattern)
- Structuring CSV Files is very important:
- Ensure consistent schema across all CSVs.
- Use descriptive headers and normalize data types.
- Add a unique
idcolumn for each row.
- Your Cognitive Search Index Design should be: Create fields:
Enable Semantic Search and Hybrid Search. Check this on https://learn.microsoft.com/en-us/azure/search/semantic-search-overview`content` (searchable, retrievable) `embedding` (vector field for embeddings) - Embedding Generation:
- Use Azure OpenAI
text-embedding-ada-002ortext-embedding-3-large. - Chunk text into 500–1000 tokens before embedding.
- Store embeddings in Cognitive Search vector fields. For more details - https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/embeddings
- Use Azure OpenAI
- On RTR Pattern Implementation navigate:
- Query Cognitive Search > Retrieve top N results > Pass as context to GPT. Use system prompt: “Answer based only on the provided context. If unsure, say ‘Not found.’” Keep
temperature=0for factual accuracy. use this link https://learn.microsoft.com/en-us/azure/ai-services/openai/use-your-data-overview for more details.
- Query Cognitive Search > Retrieve top N results > Pass as context to GPT. Use system prompt: “Answer based only on the provided context. If unsure, say ‘Not found.’” Keep
- For the skillsets:
- Add Text Analytics for entity/key phrase extraction.
- Use Custom Skills for domain-specific enrichment.
Finally, you need to put into consideration:
- Cost by optimize embedding generation by batching.
- Latency by using cache frequent queries.
- Context overflow by limit to top 3–5 chunks.
I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.
Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.