在本文中

  1. 如何获得嵌入
  2. 最佳实践
  3. 限制和风险

嵌入是一种特殊的数据表示格式,可以轻松地被机器学习模型和算法使用。嵌入是一段文本语义的信息密集表示。每个嵌入都是一个浮点数向量,使得向量空间中两个嵌入之间的距离与原始格式中两个输入之间的语义相似性相关。例如,如果两个文本相似,那么它们的向量表示也应该相似。在 Azure 数据库(例如Azure Cosmos DB for MongoDB vCoreAzure Database for PostgreSQL - 灵活服务器)中嵌入强大的矢量相似性搜索。

如何获得嵌入

为了获取一段文本的嵌入向量,我们向嵌入端点发出请求,如以下代码片段所示:

Console

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2023-05-15\
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"input": "Sample Document goes here"}'

Open Ai  Python 1.X

Python

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  api_key = os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version = "2023-05-15",
  azure_endpoint =os.getenv("AZURE_OPENAI_ENDPOINT"
)

response = client.embeddings.create(
    input = "Your text string goes here",
    model= "text-embedding-ada-002"
)

print(response.model_dump_json(indent=2))

最佳实践

验证输入不超过最大长度



  •  
  • 我们最新嵌入模型的输入文本的最大长度是 8192 个标记。在提出请求之前,您应该验证您的输入没有超出此限制。
  • 如果在单个嵌入请求中发送输入数组,则最大数组大小为 2048。

限制和风险

我们的嵌入模型可能不可靠,或者在某些情况下会带来社会风险,并且在没有缓解措施的情况下可能会造成损害。查看我们的 Responsible AI 内容,了解有关如何负责任地使用其的更多信息。

下一步

反馈

即将推出:整个 2024 年,我们将逐步淘汰 GitHub Issues 作为内容反馈机制,并用新的反馈系统取而代之。有关详细信息,请参阅:Provide feedback for Microsoft Learn content - Contributor guide | Microsoft Learn

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐