337p人体粉嫩胞高清图片,97人妻精品一区二区三区在线 ,日本少妇自慰免费完整版,99精品国产福久久久久久,久久精品国产亚洲av热一区,国产aaaaaa一级毛片,国产99久久九九精品无码,久久精品国产亚洲AV成人公司
網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

Python+ChatGPT API,搭建專(zhuān)屬你的智能聊天機(jī)器人

0
分享至

最近火出圈的ChatGPT公司OpenAI發(fā)布了Chat API和gpt-3.5-turbo模型,我們現(xiàn)在可以通過(guò)API來(lái)使用與ChatGPT一樣的NLP模型。



使用OpenAI API,可以使用gpt-3.5-turbo構(gòu)建自己的應(yīng)用程序,可執(zhí)行以下任務(wù):

草擬電子郵件或其他文字內(nèi)容寫(xiě)代碼,例如Python代碼

創(chuàng)建對(duì)話(huà)代理,回答各類(lèi)問(wèn)題

為您的軟件提供自然語(yǔ)言界面

在各種學(xué)科中進(jìn)行輔導(dǎo)

翻譯語(yǔ)言

為視頻游戲模擬角色等

待發(fā)掘的各種應(yīng)用場(chǎng)景……

下面用Python來(lái)講解如何使用openai python SDK實(shí)現(xiàn)自己的聊天機(jī)器人。如果你之前使用過(guò)openai python SDK,請(qǐng)確保升級(jí)到了最新版本(0.27.0),如果還沒(méi)有安裝Python運(yùn)行環(huán)境,請(qǐng)先安裝python 3.10。

獲取API Key

你需要獲取API Key,如果你已經(jīng)使用過(guò)openai SDK那么你可能已經(jīng)有API Key了(這種情況請(qǐng)?zhí)^(guò)本節(jié)內(nèi)容)。

登錄https://platform.openai.com/并導(dǎo)航到https://platform.openai.com/account/api-keys點(diǎn)擊Create new secret key按鈕可以獲取一個(gè)新的API Key。

注意:API Key內(nèi)容只會(huì)顯示一次。點(diǎn)擊復(fù)制按鈕把API Key復(fù)制并保存好。



創(chuàng)建API

用FastAPI快速創(chuàng)建一個(gè)API,它的接口定義如下:

POST/chatbot/talk

Request Body:

“message”:"你好!"

Response:

“content”:“bot response message”

首先,你需要安裝FastAPI和OpenAI SDK,可以通過(guò)以下命令在命令行中安裝它們:

pip install fastapi uvicorn openai

為了演示方便,此處簡(jiǎn)化了一些最佳實(shí)踐,下面是一個(gè)最基本的FastAPI服務(wù)實(shí)現(xiàn),文件保存在main\app.py文件中。

import openai

from typing import List

from fastapi import FastAPI

from pydantic import BaseModel

from starlette.middleware.cors import CORSMiddleware

history=[]

app=FastAPI()

app.add_middleware(

CORSMiddleware,

allow_origins=["*"],

allow_credentials=True,

allow_methods=["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"],

allow_headers=["*"],

max_age=86400

openai.api_key="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"

class TalkRequest(BaseModel):

message:str

@app.post("/chatbot/talk")

async def chatbot_talk(user_input:TalkRequest):

if not history:

history.append({"role":"system","content":"You are a helpful assistant."})

history.append({"role":"user","content":user_input.message.strip()})

response=await openai.ChatCompletion.acreate(

model="gpt-3.5-turbo",

messages=history)

bot_response=response.choices[0].message

history.append(bot_response)

return bot_response

現(xiàn)在只需創(chuàng)建一個(gè)run.py文件來(lái)啟動(dòng)FastAPI服務(wù)。

import uvicorn

from main.app import app

if__name__=='__main__':

uvicorn.run(

app=app,

host="127.0.0.1",

port=8080,

use_colors=True,

log_level="debug"

接下來(lái)運(yùn)行run.py。

在瀏覽器中打開(kāi)http://127.0.0.1:8080/docs即可看到Swagger界面已經(jīng)加載并顯示出我們的Talk API,如下圖所示:



點(diǎn)擊Try it out,在message里填入一個(gè)句子,例如我們這里輸入的”你好”,點(diǎn)擊Execute按鈕。如果沒(méi)有問(wèn)題應(yīng)該能得到下面的響應(yīng)結(jié)果:



OK,到這里我們的后臺(tái)服務(wù)就已經(jīng)準(zhǔn)備好了。

UI界面

接下來(lái)我們做一個(gè)基于VUE的UI界面來(lái)實(shí)現(xiàn)聊天窗口。要實(shí)現(xiàn)基于VUE的聊天界面,需要執(zhí)行以下步驟:

在Vue項(xiàng)目中創(chuàng)建一個(gè)聊天組件,例如Chat.vue。

在Chat.vue中添加一個(gè)文本框和一個(gè)發(fā)送按鈕,用于向聊天機(jī)器人發(fā)送消息。

使用VUE的數(shù)據(jù)綁定功能,將文本框的值綁定到一個(gè)名為message的Vue組件數(shù)據(jù)屬性。

在發(fā)送按鈕上添加一個(gè)點(diǎn)擊事件,該事件將調(diào)用一個(gè)發(fā)送消息的方法,該方法將使用Axios(或其他HTTP庫(kù))將消息POST到聊天機(jī)器人API。

在發(fā)送成功后,使用Axios響應(yīng)中的數(shù)據(jù)更新Vue組件數(shù)據(jù)屬性的值,以顯示聊天機(jī)器人的響應(yīng)消息。

下面是一個(gè)示例Chat.vue文件的基本代碼:

{{message.content}}

{{message.content}}

Send

在這個(gè)示例中,messages是一個(gè)數(shù)組,它用于存儲(chǔ)聊天記錄。

sendMessage方法將新消息添加到messages數(shù)組中,并使用Axios發(fā)送消息并更新響應(yīng)的數(shù)據(jù)屬性。

最后,它清空了message數(shù)據(jù)屬性,以便用戶(hù)可以輸入下一個(gè)消息。

在模板中,我們使用v-for循環(huán)遍歷messages數(shù)組,并根據(jù)isBot數(shù)據(jù)屬性來(lái)判斷消息是用戶(hù)的消息還是聊天機(jī)器人的消息。

運(yùn)行

最后,要在瀏覽器中運(yùn)行Vue應(yīng)用程序,需要執(zhí)行以下步驟。

注意:確保已經(jīng)安裝了Node.js和npm,這將使我們能夠使用Vue的命令行工具來(lái)創(chuàng)建和管理的項(xiàng)目。

(1)打開(kāi)命令行終端,導(dǎo)航到項(xiàng)目目錄,并使用以下命令安裝:

npm install-g cnpm--registry=https://registry.npmmirror.com

cnpm install-g@vue/cli

(2)使用以下命令創(chuàng)建一個(gè)新的Vue項(xiàng)目:

vue create my-chat-app

這將提示選擇一些選項(xiàng)來(lái)配置我們的項(xiàng)目,例如要使用哪個(gè)包管理器,要使用哪些插件等等。

可以根據(jù)需求進(jìn)行選擇,稍等片刻項(xiàng)目即可創(chuàng)建成功,如下圖所示:



(3)進(jìn)入my-chat-app目錄,安裝Axios,可以使用以下命令:

cnpm install axios--save

打開(kāi)創(chuàng)建的項(xiàng)目文件夾,將Chat.vue組件添加到src/components文件夾中。

打開(kāi)src/App.vue文件,并將以下代碼添加到模板中:

這將把Chat組件添加到App.vue模板中,以便您可以在瀏覽器中查看聊天界面。

(4)在命令行終端中運(yùn)行以下命令啟動(dòng)開(kāi)發(fā)服務(wù)器:

pm run serve



如上圖所示,Web Server已經(jīng)啟動(dòng)完畢,用瀏覽器打開(kāi)http://localhost:8081/可以看到一個(gè)基本的聊天窗口,當(dāng)然這里只有一個(gè)簡(jiǎn)單的示例來(lái)展示基本操作:



因文章篇幅有限,感興趣的同行完全可以利用前端技術(shù)做出更精美的機(jī)器人聊天窗口。

最后:在我的V:atstudy-js,可以費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專(zhuān)題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
認(rèn)識(shí) 3 個(gè)算我輸!50 年前 7 件老物件,最后一件如今難得一見(jiàn)!

認(rèn)識(shí) 3 個(gè)算我輸!50 年前 7 件老物件,最后一件如今難得一見(jiàn)!

三農(nóng)老歷
2026-03-22 17:59:40
蔣介石孫子召開(kāi)發(fā)布會(huì),提出“兩蔣”移靈大陸,2句話(huà)讓世人唏噓

蔣介石孫子召開(kāi)發(fā)布會(huì),提出“兩蔣”移靈大陸,2句話(huà)讓世人唏噓

老謝談史
2026-03-18 18:33:35
特朗普嘲諷英首相時(shí),伊朗感謝西班牙首相:都在爭(zhēng)取歐洲!

特朗普嘲諷英首相時(shí),伊朗感謝西班牙首相:都在爭(zhēng)取歐洲!

新民周刊
2026-03-24 09:10:24
剛剛進(jìn)入間歇期,上海申花就接連迎來(lái)3個(gè)大喜訊,笑傲中超還有戲

剛剛進(jìn)入間歇期,上海申花就接連迎來(lái)3個(gè)大喜訊,笑傲中超還有戲

零度眼看球
2026-03-24 07:35:03
美軍主力調(diào)走,軍火被扣后,臺(tái)軍放話(huà):若解放軍登島,將遠(yuǎn)程打擊

美軍主力調(diào)走,軍火被扣后,臺(tái)軍放話(huà):若解放軍登島,將遠(yuǎn)程打擊

肖茲探秘說(shuō)
2026-03-24 16:32:18
美伊戰(zhàn)爭(zhēng),一個(gè)誰(shuí)也沒(méi)想到的意外,終于出現(xiàn)了!

美伊戰(zhàn)爭(zhēng),一個(gè)誰(shuí)也沒(méi)想到的意外,終于出現(xiàn)了!

斐君觀點(diǎn)
2026-03-23 21:34:39
62年鄧華進(jìn)京開(kāi)會(huì),看透人情冷暖,劉亞樓安慰:老弟,別往心里去

62年鄧華進(jìn)京開(kāi)會(huì),看透人情冷暖,劉亞樓安慰:老弟,別往心里去

芳芳?xì)v史燴
2026-03-24 14:19:15
2026-2032房?jī)r(jià)預(yù)判:100萬(wàn)的房子,5年后還能值幾個(gè)錢(qián)?

2026-2032房?jī)r(jià)預(yù)判:100萬(wàn)的房子,5年后還能值幾個(gè)錢(qián)?

愛(ài)看劇的阿峰
2026-03-24 08:58:59
貓死活不肯睡貓窩,直到主人把窩翻過(guò)來(lái)…貓:主人終于開(kāi)智了

貓死活不肯睡貓窩,直到主人把窩翻過(guò)來(lái)…貓:主人終于開(kāi)智了

拜見(jiàn)喵主子
2026-03-24 12:25:26
41:49!特朗普被告上法庭,美財(cái)長(zhǎng)通告全球:美國(guó)無(wú)力阻止中國(guó)

41:49!特朗普被告上法庭,美財(cái)長(zhǎng)通告全球:美國(guó)無(wú)力阻止中國(guó)

阿離家居
2026-03-24 17:49:54
iPhone Air 又降價(jià)了,真的離譜!

iPhone Air 又降價(jià)了,真的離譜!

花果科技
2026-03-23 12:20:56
大跌眼鏡!德云社被罵滾出上海,罪魁禍?zhǔn)拙故且恢淮笏饪Х缺?>
    </a>
        <h3>
      <a href=八斗小先生
2026-03-23 15:38:22
62年,毛主席在上海接見(jiàn)一女演員后:不要告訴別人你的表是我送的

62年,毛主席在上海接見(jiàn)一女演員后:不要告訴別人你的表是我送的

比利
2026-03-24 14:17:09
黃瓜被關(guān)注!醫(yī)生再三強(qiáng)調(diào):糖尿病患者吃黃瓜,多注意這6點(diǎn)!

黃瓜被關(guān)注!醫(yī)生再三強(qiáng)調(diào):糖尿病患者吃黃瓜,多注意這6點(diǎn)!

健康科普365
2026-03-24 18:30:11
10個(gè)讓身體越來(lái)越好的秘訣,堅(jiān)持做,肯定有效!

10個(gè)讓身體越來(lái)越好的秘訣,堅(jiān)持做,肯定有效!

運(yùn)動(dòng)健身號(hào)
2026-03-12 08:00:11
陳思誠(chéng)給天下男人上了一課:48歲可以花心可以貪心,但千萬(wàn)要收心

陳思誠(chéng)給天下男人上了一課:48歲可以花心可以貪心,但千萬(wàn)要收心

小椰的奶奶
2026-03-22 16:38:49
英超big6多久沒(méi)拿冠軍?曼聯(lián)667天 阿森納2060天 熱刺快降級(jí)了

英超big6多久沒(méi)拿冠軍?曼聯(lián)667天 阿森納2060天 熱刺快降級(jí)了

智道足球
2026-03-24 10:36:08
重磅發(fā)現(xiàn):天文學(xué)家發(fā)現(xiàn)一顆可能宜居的行星,距地球僅10.7光年

重磅發(fā)現(xiàn):天文學(xué)家發(fā)現(xiàn)一顆可能宜居的行星,距地球僅10.7光年

丁丁鯉史紀(jì)
2026-03-24 14:35:30
霍爾木茲海峽,大消息!特朗普發(fā)聲!黃金、白銀,跳水!原油,突變!

霍爾木茲海峽,大消息!特朗普發(fā)聲!黃金、白銀,跳水!原油,突變!

證券時(shí)報(bào)e公司
2026-03-23 07:57:08
突發(fā):一架C-130運(yùn)輸機(jī)墜毀,“約80名軍人死亡”

突發(fā):一架C-130運(yùn)輸機(jī)墜毀,“約80名軍人死亡”

揚(yáng)子晚報(bào)
2026-03-24 07:29:54
2026-03-24 19:08:49
51Testing軟件測(cè)試網(wǎng) incentive-icons
51Testing軟件測(cè)試網(wǎng)
中國(guó)軟件測(cè)試人的精神家園
1543文章數(shù) 13256關(guān)注度
往期回顧 全部

科技要聞

黃仁勛看透中國(guó)AI圈 人情世故卷出最快創(chuàng)新

頭條要聞

外媒披露特朗普"急轉(zhuǎn)彎"原因:盟友和海灣國(guó)家發(fā)出警告

頭條要聞

外媒披露特朗普"急轉(zhuǎn)彎"原因:盟友和海灣國(guó)家發(fā)出警告

體育要聞

NBA最強(qiáng)左手射手,是個(gè)右撇子

娛樂(lè)要聞

林峰張馨月全家浙江游 岳母幫忙帶女兒

財(cái)經(jīng)要聞

很多人,都被黃金嚇怕了!

汽車(chē)要聞

尚界Z7雙車(chē)預(yù)售22.98萬(wàn)起 問(wèn)界M6預(yù)售26.98萬(wàn)起

態(tài)度原創(chuàng)

藝術(shù)
房產(chǎn)
數(shù)碼
公開(kāi)課
軍事航空

藝術(shù)要聞

懷素去世前寫(xiě)的草書(shū),徐悲鴻贊嘆:天下無(wú)敵

房產(chǎn)要聞

油價(jià)最高刺破11元/升!50萬(wàn)海南電車(chē)車(chē)主笑出了聲!

數(shù)碼要聞

芝奇XMP 3.0 DDR5內(nèi)存支持英特爾酷睿Ultra 200S Plus處理器

公開(kāi)課

李玫瑾:為什么性格比能力更重要?

軍事要聞

以色列媒體:美國(guó)計(jì)劃于4月9日結(jié)束對(duì)伊朗戰(zhàn)爭(zhēng)

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版