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

        OpenAI接口介紹- ChatCompletion

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

        ChatCompletion是OpenAI中最核心的一個(gè)接口,顧名思義,你可以利用該接口構(gòu)建自己的應(yīng)用,用在與AI有交互的場(chǎng)景,例如聊天機(jī)器人、智能客服等,該接口具有連續(xù)對(duì)話的能力,因?yàn)樗梢詳y帶上下文信息。

        接口

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

        請(qǐng)求參數(shù)

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

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

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

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

        因?yàn)槲覀儗?shí)現(xiàn)多輪對(duì)話時(shí),必須把上一輪的對(duì)話內(nèi)容傳遞給模型,模型才知道如何聯(lián)系上下文來生成更精確的內(nèi)容。

        角色

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

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

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

        Python代碼:

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

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

        響應(yīng)內(nèi)容

        {
          "choices": [
            {
              "finish_reason": "stop",
              "index": 0,
              "message": {
                "content": "根據(jù)2020年的統(tǒng)計(jì)數(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
          }
        }
        

        助理回復(fù)的內(nèi)容可以從response['choices'][0]['message']['content']提取。

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

        php技術(shù)有關(guān)的文章
        與標(biāo)簽 chatgpt 有關(guān)的文章
        如果您有什么問題,歡迎咨詢我們客服! 點(diǎn)擊QQ咨詢