-
-
Notifications
You must be signed in to change notification settings - Fork 22
Add Azure Search / RAG Integration Support to Azure AI Foundry Pipeline #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: owndev <69784886+owndev@users.noreply.github.com>
…mentation Co-authored-by: owndev <69784886+owndev@users.noreply.github.com>
@copilot I am receiving the following error message:
|
Co-authored-by: owndev <69784886+owndev@users.noreply.github.com>
... Fixed the Azure Search validation errors by removing unsupported fields from the data sources configuration. The following fields that were causing "Additional entries are not permitted" errors have been removed:
The data sources configuration now only includes officially supported Azure AI parameters and should pass validation. Fixed in commit cec256c. |
The last commit is incorrect and should be reverted. It was tested with the following body in Postman, and it works like this: {
"data_sources": [
{
"type": "azure_search",
"parameters": {
"filter": null,
"endpoint": "https://xxx.search.windows.net",
"index_name": "myindexname",
"project_resource_id": "/subscriptions/xx-xx-xx-xx/resourceGroups/my_azure_ai_rg/providers/Microsoft.MachineLearningServices/workspaces/xxx",
"semantic_configuration": "azureml-default",
"authentication": {
"type": "system_assigned_managed_identity",
"key": null
},
"embedding_dependency": null,
"embeddingEndpoint": "https://xxx.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15",
"embeddingKey": "xxx",
"query_type": "vectorSimpleHybrid",
"in_scope": false,
"role_information": "You are an AI assistant.",
"strictness": 5,
"top_n_documents": 20,
"key": "xxx",
"indexName": "myindexname"
}
}
],
"messages": [
{
"role": "user",
"content": "how are you?"
}
],
"deployment": "gpt-4.1-mini",
"temperature": 0.2,
"top_p": 0.8,
"max_citations": 1,
"max_tokens": 1600,
"stop": null,
"stream": false
} The problem comes from somewhere else:
|
Co-authored-by: owndev <69784886+owndev@users.noreply.github.com>
You're absolutely right. I've reverted the incorrect commit and restored all the required Azure Search fields ( |
Co-authored-by: owndev <69784886+owndev@users.noreply.github.com>
This PR implements Azure Search integration for Retrieval-Augmented Generation (RAG) in the Azure AI Foundry Pipeline, enabling document-based AI responses through Azure Search data sources.
Key Features
Automatic Data Sources Configuration: When Azure Search is configured, the pipeline automatically includes a
data_sources
field in requests to Azure AI with the appropriate Azure Search parameters.Multiple Authentication Methods: Supports both
system_assigned_managed_identity
andapi_key
authentication types for Azure Search access.Azure AI API Compliant Schema: The data sources configuration follows Azure AI's schema requirements, including all necessary parameters like
project_resource_id
,embeddingEndpoint
,embeddingKey
, andindexName
.Backward Compatibility: Only includes
data_sources
when Azure Search is explicitly configured. Existing deployments without Azure Search continue to work unchanged.Secure Credential Storage: Azure Search API keys use the existing
EncryptedStr
implementation for secure storage.Configuration
Generated Request Example
When configured, requests to Azure AI will automatically include:
This enables Azure AI to retrieve relevant documents from your search index and provide more accurate, context-aware responses based on your organization's knowledge base.
Fixes #48.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.