in demo-python/code/community-integration/ragas/lib/utils.py [0:0]
def create_langchain_azure_openai_wrappers(
azure_openai_api_version: str,
azure_openai_endpoint: str,
azure_openai_3_large_embedding_deployment: str,
azure_openai_ada002_embedding_deployment: str,
azure_openai_generator_deployment: str,
azure_openai_critic_deployment: str,
azure_openai_key: Optional[str] = None
):
openai_credential = DefaultAzureCredential()
token_provider = get_bearer_token_provider(openai_credential, "https://cognitiveservices.azure.com/.default")
azure_openai_args = {
"openai_api_version": azure_openai_api_version,
"azure_endpoint": azure_openai_endpoint,
"api_key": azure_openai_key,
"azure_ad_token_provider": token_provider if not azure_openai_key else None
}
# Use API key if provided, otherwise use RBAC authentication
text_3_large_embeddings = AzureOpenAIEmbeddings(
azure_deployment=azure_openai_3_large_embedding_deployment,
**azure_openai_args
)
ada_002_embeddings = AzureOpenAIEmbeddings(
azure_deployment=azure_openai_ada002_embedding_deployment,
**azure_openai_args
)
generator_llm = AzureChatOpenAI(
azure_deployment=azure_openai_generator_deployment,
**azure_openai_args
)
critic_llm = AzureChatOpenAI(
azure_deployment=azure_openai_critic_deployment,
**azure_openai_args
)
return (text_3_large_embeddings, ada_002_embeddings, generator_llm, critic_llm)