AzureOpenAIEmbedder 类用于通过 Azure OpenAI API 将文本数据嵌入为向量。请在此处 https://ai.azure.com/ 获取您的密钥。

设置

设置您的 API 密钥

export AZURE_EMBEDDER_OPENAI_API_KEY=xxx
export AZURE_EMBEDDER_OPENAI_ENDPOINT=xxx
export AZURE_EMBEDDER_DEPLOYMENT=xxx

运行 PgVector

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v pgvolume:/var/lib/postgresql/data \
  -p 5532:5432 \
  --name pgvector \
  agnohq/pgvector:16

用法

cookbook/embedders/azure_embedder.py
from agno.agent import AgentKnowledge
from agno.vectordb.pgvector import PgVector
from agno.embedder.azure_openai import AzureOpenAIEmbedder

# 将句子嵌入数据库
embeddings = AzureOpenAIEmbedder().get_embedding("The quick brown fox jumps over the lazy dog.")

# 打印嵌入及其维度
print(f"Embeddings: {embeddings[:5]}")
print(f"Dimensions: {len(embeddings)}")

# 在知识库中使用 embedder
knowledge_base = AgentKnowledge(
    vector_db=PgVector(
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
        table_name="azure_openai_embeddings",
        embedder=AzureOpenAIEmbedder(),
    ),
    num_documents=2,
)

参数

参数类型默认值描述
modelstr"text-embedding-ada-002"用于生成嵌入的模型名称。
dimensionsint1536模型生成的嵌入的维度。
encoding_formatLiteral['float', 'base64']"float"嵌入被编码的格式。选项是“float”或“base64”。
userstr-与 API 请求关联的用户。
api_keystr-用于身份验证请求的 API 密钥。
api_versionstr"2024-02-01"用于请求的 API 版本。
azure_endpointstr-API 请求的 Azure 端点。
azure_deploymentstr-API 请求的 Azure 部署名称。
base_urlstr-API 端点的基本 URL。
azure_ad_tokenstr-用于身份验证的 Azure Active Directory 令牌。
azure_ad_token_providerAny-用于获取 Azure AD 令牌的提供者。
organizationstr-与 API 请求关联的组织。
request_paramsOptional[Dict[str, Any]]-要包含在 API 请求中的其他参数。可选。
client_paramsOptional[Dict[str, Any]]-用于配置 API 客户端的其他参数。可选。
openai_clientOptional[AzureOpenAIClient]-用于进行 API 请求的 AzureOpenAIClient 实例。可选。

开发者资源