基于python實現(xiàn)openai可結(jié)合上下文的問答
本文使用 OpenAI GPT(Generative Pre-Training)聊天機器人模型,實現(xiàn)可自動回復(fù)提問的聊天功能。
代碼解釋
首先,我們導(dǎo)入相關(guān)的庫,例如 `openai`,`Path`,`time` 等。
接下來,為了使模型可以正常工作,我們需要設(shè)置 `openai` 的 `api_key` ,以及一些初始變量,如 `text`, `turns`, `last_result`,用來記錄聊天記錄。
之后,我們定義了一個函數(shù) `chatgpt`,目的是為了接收用戶輸入的問題,并返回 GPT 模型生成的回答。函數(shù)中,除了指定使用 `davinci-003` 模型外,我們還設(shè)置了 `temperature`、`max_tokens`、`frequency_penalty`、`presence_penalty` 等參數(shù),用來控制結(jié)果的隨機性和字?jǐn)?shù),以達(dá)到最佳的回答效果。
最后,在 `if __name__ == '__main__':` 下,我們初始化兩個列表,用來存放用戶輸入的問題和 GPT 模型自動生成的回答,然后在 `while` 循環(huán)中,接收用戶輸入的問題,并調(diào)用 `chatgpt` 函數(shù),最后將問題和回答分別存儲到對應(yīng)的列表中,最終將內(nèi)容保存到文件中。
代碼使用說明
* 使用該代碼,你需要先申請 OpenAI 的api_key,并將其輸入到代碼中,然后運行該程序,
* 輸入你的問題,即可獲得 GPT 模型的回答;
* 若輸入exit則直接退出當(dāng)前對話;
* 程序結(jié)束時,會將問答的內(nèi)容記錄到文件中,以便下次查看。
對話模式代碼
單問答模式代碼