数据上的 Azure OpenAI - 系统消息使用情况

Azure OpenAI on your data - System message usage

提问人:Alex 提问时间:10/24/2023 更新时间:10/25/2023 访问量:223

问:

我正在使用 Azure OpenAI 处理您的数据,试图了解:

  • 为什么系统消息似乎无法按预期工作
  • 在“关于您的数据”案例中提供说明的策略

例如,调用POST https://{service-name}.openai.azure.com/openai/deployments/{model-name}/extensions/chat/completions?api-version=2023-08-01-preview

{
    "messages": [
        {
            "role": "system",
            "content": "Your task is to always respond in French."
        },
        {
            "role": "user",
            "content": "How to cherry pick a PR?"
        }
    ],
    "temperature": 0.5,
    "max_tokens": 12000,
    "top_p": 1,
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                ...
                "queryType": "semantic",
                "inScope": true,
                "roleInformation": "Your task is to always respond in French."
            }
        }
    ]
}

我得到以下回复:

{
    "id": "GUID",
    "model": "gpt-4-32k",
    "created": timestamp,
    "object": "extensions.chat.completion",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "content": "The most common way to cherry pick your PR ...",
                "end_turn": true,
                "context": {
                    "messages": [
                        {
                            "role": "tool",
                            "content": "{\"citations\": [{\"content\": \"{citation_content}\", \"intent\": \"How to cherry pick a PR?\"}",
                            "end_turn": false
                        }
                    ]
                }
            }
        }
    ]
}

正如我们所看到的,系统消息没有效果。这是一个已知问题吗?

在用户提示中提供说明的示例中,主要问题是 Azure 搜索中使用的搜索查询包含该提示的部分内容。

POST https://{service-name}.openai.azure.com/openai/deployments/{model-name}/extensions/chat/completions?api-version=2023-08-01-preview

{
    "messages": [
        {
            "role": "user",
            "content": "How to cherry pick a PR? When responding to this query, please translate the message to French."
        }
    ],
    "temperature": 0.5,
    "max_tokens": 12000,
    "top_p": 1,
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                ...
                "queryType": "semantic",
                "inScope": true,
                "roleInformation": "Your task is to always respond in French."
            }
        }
    ]
}

我得到以下回复:

{
    "id": "GUID",
    "model": "gpt-4-32k",
    "created": timestamp,
    "object": "extensions.chat.completion",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "content": "Voici comment vous pouvez choisir un PR ...",
                "end_turn": true,
                "context": {
                    "messages": [
                        {
                            "role": "tool",
                            "content": "{\"citations\": [{\"content\": \"This is the most common way ....\", \"intent\": \"How to cherry pick a PR? When responding to this query, please translate the message to French.\"}",
                            "end_turn": false
                        }
                    ]
                }
            }
        }
    ]
}
  • 直接在用户的提示上提示指令起作用,但搜索查询包含提示(如您所见,意向,这是用于在搜索服务中搜索的字段)。

两个主要问题:

  • 如何使用系统消息?我尝试了不同的方法(例如在用户提示后使用 in 或移动系统消息),但似乎都不起作用。这是一个已知问题吗?roleInformationdataSources
  • 如何向模型提供说明。也许我想用摘要来回应,或者我想在每次迭代中以特定的方式做出回应。如果该指令将包含在搜索查询中,我该如何提供该指令?我相信这里有更好的策略。
azure-cognitive-services azure-openai gpt-4

评论

0赞 Ram 10/25/2023
您在第一次响应或第二次响应时是否面临此问题?
0赞 Alex 10/25/2023
问题出在第一个响应中。第二种是缓解尝试,但如您所见,它改变了搜索服务的行为,同时向搜索服务后端发送提示信息。

答:

0赞 Ram 10/25/2023 #1

是的,这是已知的错误,我们已经为此问题创建了积压工作项,这是一个很好的微调问题。如果您使用的是 Turbo,则不会像 0613 型号版本那样重视系统消息指令。

您可以尝试提供不同的系统消息,如下所示。

GPT-35-涡轮增压 0613,温度 = 0.4,topp = 0.4 请用法语回答。

评论

0赞 Alex 10/25/2023
感谢您的回复!我在上面的例子中使用了 GPT4 32K。如果可能的话,您能否分享此错误的高级时间表。您知道这是否会在本季度处理吗?我以前一直在使用 GPT3.5 turbo 0613,我很确定我也可以在那里复制,我会回来举个例子。