Add Azure OpenAI embedding provider to fix registry KeyError #1393
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a missing Azure OpenAI embedding provider to fix the
KeyError: 'azure' does not exist in the registry
error reported in issue #1268.Changes Made
New Azure OpenAI Embedding Provider: Implemented
AzureOpenAIEmbeddingModel
class innemoguardrails/embeddings/providers/azure.py
openai
packageProvider Registration: Added azure provider to the embedding provider registry in
__init__.py
Comprehensive Test Suite: Created
tests/test_azure_embedding_provider.py
with 6 test cases:Technical Details
The Azure provider uses the same embedding models as OpenAI (
text-embedding-ada-002
,text-embedding-3-small
,text-embedding-3-large
) but connects to Azure OpenAI endpoints. For custom deployment names, it performs an initial encoding call to determine the embedding size automatically.Testing
All 6 test cases pass, covering:
Fixes
Closes #1268
Type of Change