使用自己的数据与模型聊天

已完成

可以在 Azure AI Studio 中通过聊天操场或 API 对你自己的数据进行 Azure OpenAI RAG 处理。

由于基于自有数据的带 Azure OpenAI 的 RAG 在提示符中包含索引的搜索结果,因此请务必了解这会如何影响令牌分配。 每次调用模型都包括系统消息、用户提示、对话历史记录、检索的搜索文档、内部提示和模型响应的令牌。

例如,系统消息是模型指令的有用参考,并且包含在每次调用中。 虽然系统消息没有标记限制,但使用你自己的数据时,如果系统消息超出了模型的标记限制(根据模型而异,在 400 到 4000 个标记之间),则系统消息将被截断。 使用自己的数据为 1500 个令牌时,模型的响应也会受到限制。

由于这些令牌限制,建议在调用中限制问题长度和对话历史记录长度。 提示工程技术(例如分解任务和思维提示链)可以帮助模型更有效地响应。

使用 API

将 API 与你自己的数据配合使用时,需要指定存储数据的数据源。 每次调用时,都需要包含 AI 搜索资源的 endpointkeyindexName

请求正文将类似于以下 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-Typeapi-key