福州網(wǎng)站建設>網(wǎng)站新聞>php技術

        OpenAI接口介紹- ChatCompletion

        發(fā)布日期:2023-09-06瀏覽次數(shù):607 來源:福州網(wǎng)站建設 標簽: chatgpt

        ChatCompletion是OpenAI中最核心的一個接口,顧名思義,你可以利用該接口構建自己的應用,用在與AI有交互的場景,例如聊天機器人、智能客服等,該接口具有連續(xù)對話的能力,因為它可以攜帶上下文信息。

        接口

        https://api.openai.com/v1/chat/completions  
        

        請求參數(shù)

        參數(shù)名 必選 類型 說明
        model string 支持的模型為:gpt-4, gpt-3.5-turbo, gpt-3.5-turbo-0301
        messages array 字典組成的列表對象
        temperature float 采樣溫度,隨機因子,控制輸出結果的隨機性,介于0到2之間,值越大隨機性越高,默認為1
        max_tokens integer 指定返回結果的token最大長度,默認是最大值,不同模型的最大token數(shù)不一樣,例如gpt-3.5的最大長度支持4096

        messages 是一個數(shù)組,數(shù)組中的元素是一個字典對象,包含兩個必選字段,分別是role和content

        參數(shù)名 必選 類型 說明
        role string 該條消息由哪個角色生成,可選值:system, user, assistant
        content string 該條消息對應的內容

        為什么messages要作為一個數(shù)組參數(shù)傳遞呢?

        因為我們實現(xiàn)多輪對話時,必須把上一輪的對話內容傳遞給模型,模型才知道如何聯(lián)系上下文來生成更精確的內容。

        角色

        message中每個元素必須指定一個角色,用來告訴該消息是誰生成的,目前該接口預設了3個值,分別是:

        • system:系統(tǒng)角色 ,用來設置機器人的行為
        • user:用戶角色,和AI對話的用戶
        • assistant:助理角色,AI機器人

        通常每次對話以一條系統(tǒng)消息作為開始(系統(tǒng)消息也可以不指定),然后用戶消息和助理消息交替

        Python代碼:

        response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是一個上知天文下知地理的百曉生"}, {"role": "user", "content": "中國首都在哪里"}, {"role": "assistant", "content": " 中國的首都是北京。"}, {"role": "user", "content": "人口是多少?"} ], temperature=0.6 ) 

        助理消息是上一輪對話AI生成的內容,提取出來后作為下一輪的消息內容發(fā)送給AI,這樣就可以實現(xiàn)多輪對話聯(lián)系上下文語境生成內容。

        響應內容

        {
          "choices": [
            {
              "finish_reason": "stop",
              "index": 0,
              "message": {
                "content": "根據(jù)2020年的統(tǒng)計數(shù)據(jù),北京市的常住人口為2171.6萬人。",
                "role": "assistant"
              }
            }
          ],
          "created": 1683639817,
          "id": "chatcmpl-7EHuru5wKKpZ2CsEfjVa2z11DzqhJ",
          "model": "gpt-3.5-turbo-0301",
          "object": "chat.completion",
          "usage": {
            "completion_tokens": 27,
            "prompt_tokens": 486,
            "total_tokens": 513
          }
        }
        

        助理回復的內容可以從response['choices'][0]['message']['content']提取。

        以上是由福州網(wǎng)站建設的小編為你分享了"OpenAI接口介紹- ChatCompletion"文章,如果你在這方面有什么問題,隨時聯(lián)系我們

        php技術有關的文章
        與標簽 chatgpt 有關的文章
        如果您有什么問題,歡迎咨詢我們客服! 點擊QQ咨詢