openai createChatCompletion函數(shù)使用實(shí)例
實(shí)現(xiàn)過(guò)程
最近在嘗試openai的相關(guān)函數(shù),所以今天就來(lái)盤點(diǎn)盤點(diǎn)下 createChatCompletion 函數(shù),聽(tīng)說(shuō)是專門為了聊天創(chuàng)立的api,看看是要怎么用的?
1、前期的引入和配置密鑰
這里我就簡(jiǎn)單帶過(guò)了,可以看我之前的文章,引入過(guò)程大同小異。
cnpm install openai // 下載 const { Configuration, OpenAIApi } = require("openai"); // 在項(xiàng)目里通過(guò)require引入 // 設(shè)置密鑰 const configuration = new Configuration({ apiKey: aikey }); const openai = new OpenAIApi(configuration);
2、具體的使用
const completion = await openai.createChatCompletion({ model: "gpt-3.5-turbo", messages: [{role: "user", content: "Hello world", name: "sanwu"}], });
接口返回的信息在這里 console.log(completion.data.choices[0].message);
3、細(xì)節(jié)講解
(1)關(guān)鍵參數(shù)
model 這里是選用聊天的模型,每個(gè)模型都有它對(duì)應(yīng)的領(lǐng)域,聊天的話,基本上我們選用下圖的/v1/chat/completions行的模型,有g(shù)pt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301等模型可以選中。
ENDPOINT | MODEL NAME |
---|---|
/v1/chat/completions | gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301 |
/v1/completions | text-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001 |
/v1/edits | text-davinci-edit-001, code-davinci-edit-001 |
/v1/audio/transcriptions | whisper-1 |
/v1/audio/translations | whisper-1 |
/v1/fine-tunes | davinci, curie, babbage, ada |
/v1/embeddings | text-embedding-ada-002, text-search-ada-doc-001 |
/v1/moderations | text-moderation-stable, text-moderation-latest |
messages 這里是定義發(fā)起消息者的角色定位、姓名、具體消息內(nèi)容。
角色定位和消息內(nèi)容是必須的參數(shù)。想想也是,聊天過(guò)程中,文本內(nèi)容是基本,而要正確理解文本的含義,通常我們會(huì)結(jié)合對(duì)方的角色定位來(lái)綜合考慮,所以這兩者是必須的,反倒是姓名,一般來(lái)說(shuō)不會(huì)影響到回復(fù)結(jié)果,所以僅僅是記錄一下,是非必須參數(shù)。
(2)openai通用參數(shù)
temperature 控制結(jié)果的隨機(jī)性,范圍在0~2, 0是固定結(jié)果,值越大結(jié)果越隨機(jī)。
top_p 跟temperature類似,不過(guò)值在0~1之間,默認(rèn)值為1,如果設(shè)置成0.1,則代表取得是前10%概率質(zhì)量的結(jié)果。
n 每個(gè)問(wèn)題prompt要給的答案數(shù),這里設(shè)置多了,會(huì)快速消耗配額的。
stream 是否返回部分進(jìn)度。
stop 最大長(zhǎng)度為 4 的字符串列表,一旦生成的 tokens 包含其中的內(nèi)容,將停止生成并返回結(jié)果。
max_tokens 生成結(jié)果時(shí)的最大 tokens 數(shù),不能超過(guò)模型的上下文長(zhǎng)度,一般最大可設(shè)置為2048,新的gpt-4似乎就是4096。
presence_penalty 主題的重復(fù)度,區(qū)間也是-2~2, -2的重復(fù)度最高。
frequency_penalty 字符的重復(fù)度,區(qū)間是-2~2, -2的重復(fù)字符最多。
logit_bias 修改指定標(biāo)記出現(xiàn)在完成中的可能性。 接受一個(gè) json 對(duì)象,該對(duì)象將標(biāo)記(由標(biāo)記器中的標(biāo)記 ID 指定)映射到從 -100 到 100 的關(guān)聯(lián)偏差值。從數(shù)學(xué)上講,偏差會(huì)在采樣之前添加到模型生成的 logits 中。確切的效果因模型而異,但 -1 和 1 之間的值應(yīng)該會(huì)減少或增加選擇的可能性;像 -100 或 100 這樣的值應(yīng)該導(dǎo)致相關(guān)令牌的禁止或獨(dú)占選擇。
以上就是openai createChatCompletion函數(shù)使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于openai createChatCompletion函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在Mac OS的PHP環(huán)境下安裝配置MemCache的全過(guò)程解析
這篇文章主要介紹了在Mac OS的PHP環(huán)境下安裝配置MemCache的全過(guò)程解析,MemCache是一套分布式的高速緩存系統(tǒng),需要的朋友可以參考下2016-02-02解決laravel groupBy 對(duì)查詢結(jié)果進(jìn)行分組出現(xiàn)的問(wèn)題
今天小編就為大家分享一篇解決laravel groupBy 對(duì)查詢結(jié)果進(jìn)行分組出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10使用Yii2實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)設(shè)置
大家應(yīng)該都知道,當(dāng)項(xiàng)目做大了,數(shù)據(jù)庫(kù)主從還是不可少的。使用Yii框架開(kāi)發(fā),如何設(shè)置數(shù)據(jù)庫(kù)的主從呢?其實(shí)很簡(jiǎn)單。下面這篇文章就給大家詳細(xì)介紹了使用Yii2實(shí)現(xiàn)主從數(shù)據(jù)庫(kù)設(shè)置的方法,文中介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)很有幫助,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11在云虛擬主機(jī)部署thinkphp5項(xiàng)目的步驟詳解
thinkphp官網(wǎng)在去年的時(shí)候發(fā)布了tp的顛覆版本thinkphp5,tp5確實(shí)比之前的版本好用了很多,那么下面這篇文章就來(lái)給大家介紹關(guān)于在云虛擬主機(jī)部署thinkphp5項(xiàng)目的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-12-12laravel解決遷移文件一次刪除創(chuàng)建字段報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇laravel解決遷移文件一次刪除創(chuàng)建字段報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10PHP 5.6.11 訪問(wèn)SQL Server2008R2的幾種情況詳解
這篇文章主要介紹了PHP 5.6.11 訪問(wèn)SQL Server2008R2的幾種情況的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08