openai createChatCompletion函數使用實例
目錄
- 實現過程
- 1、前期的引入和配置密鑰
- 2、具體的使用
- 3、細節講解
- (1)關鍵參數
- (2)openai通用參數
實現過程
最近在嘗試openai的相關函數,所以今天就來盤點盤點下 createChatCompletion 函數,聽說是專門為了聊天創立的api,看看是要怎么用的?
1、前期的引入和配置密鑰
這里我就簡單帶過了,可以看我之前的文章,引入過程大同小異。
cnpm install openai // 下載 const { Configuration, OpenAIApi } = require("openai"); // 在項目里通過require引入 // 設置密鑰 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、細節講解
(1)關鍵參數
model 這里是選用聊天的模型,每個模型都有它對應的領域,聊天的話,基本上我們選用下圖的/v1/chat/completions行的模型,有gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301等模型可以選中。
messages 這里是定義發起消息者的角色定位、姓名、具體消息內容。
角色定位和消息內容是必須的參數。想想也是,聊天過程中,文本內容是基本,而要正確理解文本的含義,通常我們會結合對方的角色定位來綜合考慮,所以這兩者是必須的,反倒是姓名,一般來說不會影響到回復結果,所以僅僅是記錄一下,是非必須參數。
(2)openai通用參數
temperature 控制結果的隨機性,范圍在0~2, 0是固定結果,值越大結果越隨機。
top_p 跟temperature類似,不過值在0~1之間,默認值為1,如果設置成0.1,則代表取得是前10%概率質量的結果。
n 每個問題prompt要給的答案數,這里設置多了,會快速消耗配額的。
stream 是否返回部分進度。
stop 最大長度為 4 的字符串列表,一旦生成的 tokens 包含其中的內容,將停止生成并返回結果。
max_tokens 生成結果時的最大 tokens 數,不能超過模型的上下文長度,一般最大可設置為2048,新的gpt-4似乎就是4096。
presence_penalty 主題的重復度,區間也是-2~2, -2的重復度最高。
frequency_penalty 字符的重復度,區間是-2~2, -2的重復字符最多。
logit_bias 修改指定標記出現在完成中的可能性。 接受一個 json 對象,該對象將標記(由標記器中的標記 ID 指定)映射到從 -100 到 100 的關聯偏差值。從數學上講,偏差會在采樣之前添加到模型生成的 logits 中。確切的效果因模型而異,但 -1 和 1 之間的值應該會減少或增加選擇的可能性;像 -100 或 100 這樣的值應該導致相關令牌的禁止或獨占選擇。
以上就是openai createChatCompletion函數使用實例的詳細內容,更多關于openai createChatCompletion函數的資料請關注其它相關文章!