How to pass AzureOpenAIEmbeddings, I don’t have api keys I use azure_ad_token?
Using these version: # !pip install crewai==0.28.8 crewai_tools==0.1.6 langchain_community==0.0.29
from langchain_openai.embeddings import AzureOpenAIEmbeddings
azure_embeddings = AzureOpenAIEmbeddings(
openai_api_version=conf.pf_api_version,
azure_endpoint=conf.pf_oa_endpoint_embed,
azure_ad_token=tokens,
model=conf.pf_embedding_engine,
)
crew = Crew(
agents=[support_agent, support_quality_assurance_agent],
tasks=[inquiry_resolution, quality_assurance_review],
verbose=2,
memory=True,
embedder=embedder_config,
)
raise SchemaError([message] + x.autos, [e.format(data) if e else None] + x.errors)
schema.SchemaError: Key 'embedder' error:
Key 'config' error:
Wrong keys 'azure_ad_token', 'azure_endpoint', 'openai_api_version' in {'azure_endpoint
token I get using client
def _fetch_token(self):
"""Fetch the access token from the token URL."""
headers = {'Content-Type': '***'}
data = {
'client_id': self.client_id,
'client_secret': self.client_secret,
'grant_type': 'client_credentials',
'scope': 'openid email profile'
}
response = requests.post(self.token_url, headers=headers, data=data)
response.raise_for_status() # Raise exception for HTTP errors
self.token = response.json().get("access_token")
return self.token