使用自己的数据与模型聊天
可以在 Azure AI Studio 中通过聊天操场或 API 对你自己的数据进行 Azure OpenAI RAG 处理。
令牌注意事项和建议的设置
由于基于自有数据的带 Azure OpenAI 的 RAG 在提示符中包含索引的搜索结果,因此请务必了解这会如何影响令牌分配。 每次调用模型都包括系统消息、用户提示、对话历史记录、检索的搜索文档、内部提示和模型响应的令牌。
例如,系统消息是模型指令的有用参考,并且包含在每次调用中。 虽然系统消息没有标记限制,但使用你自己的数据时,如果系统消息超出了模型的标记限制(根据模型而异,在 400 到 4000 个标记之间),则系统消息将被截断。 使用自己的数据为 1500 个令牌时,模型的响应也会受到限制。
由于这些令牌限制,建议在调用中限制问题长度和对话历史记录长度。 提示工程技术(例如分解任务和思维提示链)可以帮助模型更有效地响应。
使用 API
将 API 与你自己的数据配合使用时,需要指定存储数据的数据源。 每次调用时,都需要包含 AI 搜索资源的 endpoint
、key
和 indexName
。
请求正文将类似于以下 JSON。
{
"dataSources": [
{
"type": "AzureCognitiveSearch",
"parameters": {
"endpoint": "<your_search_endpoint>",
"key": "<your_search_endpoint>",
"indexName": "<your_search_index>"
}
}
],
"messages":[
{
"role": "system",
"content": "You are a helpful assistant assisting users with travel recommendations."
},
{
"role": "user",
"content": "I want to go to New York. Where should I stay?"
}
]
}
使用自己的数据时的调用需要发送到与调用基础模型(包括 extensions
)时使用的终结点不同的终结点。 调用会发送到类似于下面的 URL。
<your_azure_openai_resource>/openai/deployments/<deployment_name>/chat/completions?api-version=<version>
请求还需要包括 Content-Type
和 api-key
。