在本文中
嵌入是一种特殊的数据表示格式,可以轻松地被机器学习模型和算法使用。嵌入是一段文本语义的信息密集表示。每个嵌入都是一个浮点数向量,使得向量空间中两个嵌入之间的距离与原始格式中两个输入之间的语义相似性相关。例如,如果两个文本相似,那么它们的向量表示也应该相似。在 Azure 数据库(例如Azure Cosmos DB for MongoDB vCore或Azure 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 内容,了解有关如何负责任地使用其的更多信息。
下一步
- 通过我们的嵌入教程,了解有关使用 Azure OpenAI 和嵌入执行文档搜索的更多信息。
- 详细了解为Azure OpenAI 提供支持的底层模型。
- 存储嵌入并使用您选择的 Azure 服务执行矢量(相似性)搜索:
反馈
即将推出:整个 2024 年,我们将逐步淘汰 GitHub Issues 作为内容反馈机制,并用新的反馈系统取而代之。有关详细信息,请参阅:Provide feedback for Microsoft Learn content - Contributor guide | Microsoft Learn。