国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

Python+ChatGPT API,搭建專屬你的智能聊天機(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)容寫代碼,例如Python代碼

創(chuàng)建對(duì)話代理,回答各類問(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。

在瀏覽器中打開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ù)屬性,以便用戶可以輸入下一個(gè)消息。

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

運(yùn)行

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

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

(1)打開命令行終端,導(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

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

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

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

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

pm run serve

如上圖所示,Web Server已經(jīng)啟動(dòng)完畢,用瀏覽器打開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ù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(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)推薦
特朗普剛剛警告伊朗,若發(fā)起“歷史上最猛烈的進(jìn)攻行動(dòng)”,美國(guó)將以前所未見的強(qiáng)大力量予以回?fù)?>
    </a>
        <h3>
      <a href=都市快報(bào)橙柿互動(dòng)
2026-03-01 14:12:20
丟臉丟到海外! 2023年,中國(guó)夫妻在日本旅游, 海灘上抓683只說(shuō)要吃

丟臉丟到海外! 2023年,中國(guó)夫妻在日本旅游, 海灘上抓683只說(shuō)要吃

萬(wàn)象硬核本尊
2026-02-27 18:28:04
堅(jiān)守底線!遲遲不開放瓦罕走廊,就是早就看透了本質(zhì),果然應(yīng)驗(yàn)了

堅(jiān)守底線!遲遲不開放瓦罕走廊,就是早就看透了本質(zhì),果然應(yīng)驗(yàn)了

瑛派兒老黃
2026-02-28 12:48:46
29萬(wàn)人逃離湖南,22萬(wàn)出走吉林!人口遷徙洗牌,真正贏家非北上廣

29萬(wàn)人逃離湖南,22萬(wàn)出走吉林!人口遷徙洗牌,真正贏家非北上廣

通文知史
2026-02-27 00:00:04
美伊開戰(zhàn),卻被中國(guó)衛(wèi)星盯死!“天眼”24小時(shí)掃描,美軍零秘密

美伊開戰(zhàn),卻被中國(guó)衛(wèi)星盯死!“天眼”24小時(shí)掃描,美軍零秘密

書紀(jì)文譚
2026-02-28 19:28:21
早餐吃它,勝過(guò)10斤小米!潤(rùn)腸通便護(hù)血管,精神飽滿一整天

早餐吃它,勝過(guò)10斤小米!潤(rùn)腸通便護(hù)血管,精神飽滿一整天

江江食研社
2026-02-28 20:02:53
快評(píng)丨中東多國(guó)美軍基地遭導(dǎo)彈襲擊,“伊朗報(bào)復(fù)的決心更大了”

快評(píng)丨中東多國(guó)美軍基地遭導(dǎo)彈襲擊,“伊朗報(bào)復(fù)的決心更大了”

澎湃新聞
2026-02-28 19:34:26
勝中國(guó)臺(tái)北發(fā)布會(huì)!郭士強(qiáng)直指團(tuán)隊(duì)贊陳盈駿表現(xiàn),趙繼偉大談血性

勝中國(guó)臺(tái)北發(fā)布會(huì)!郭士強(qiáng)直指團(tuán)隊(duì)贊陳盈駿表現(xiàn),趙繼偉大談血性

籃球資訊達(dá)人
2026-03-01 18:42:53
哈梅內(nèi)伊之死背后:伊朗40多年的神權(quán)統(tǒng)治正走向日薄西山!

哈梅內(nèi)伊之死背后:伊朗40多年的神權(quán)統(tǒng)治正走向日薄西山!

阿胡
2026-03-01 18:29:20
又一個(gè)國(guó)家采取軍事行動(dòng)! 瑞典在厄勒海峽上空攔截了俄羅斯無(wú)人機(jī)

又一個(gè)國(guó)家采取軍事行動(dòng)! 瑞典在厄勒海峽上空攔截了俄羅斯無(wú)人機(jī)

一種觀點(diǎn)
2026-02-28 08:44:21
怎么也想不通,她長(zhǎng)這么漂亮,演技那么好,為啥一直火不起來(lái)呢

怎么也想不通,她長(zhǎng)這么漂亮,演技那么好,為啥一直火不起來(lái)呢

草莓解說(shuō)體育
2026-03-01 00:47:24
剛定下訪華日程,不到1天,特朗普王牌被廢,中國(guó)發(fā)現(xiàn)了美國(guó)弱點(diǎn)

剛定下訪華日程,不到1天,特朗普王牌被廢,中國(guó)發(fā)現(xiàn)了美國(guó)弱點(diǎn)

議紀(jì)史
2026-02-28 20:05:03
美元拋售潮來(lái)了!2 萬(wàn)億海外美元正瘋狂回流,人民幣殺瘋了

美元拋售潮來(lái)了!2 萬(wàn)億海外美元正瘋狂回流,人民幣殺瘋了

白淺娛樂(lè)聊
2026-03-01 01:47:54
卸下頭巾,奔赴街頭:伊朗女孩的勇氣與抗?fàn)?>
    </a>
        <h3>
      <a href=老馬拉車莫少裝
2026-01-14 18:36:52
導(dǎo)彈飛躍迪拜上空碎片落入市區(qū),中國(guó)女子戴頭盔頸枕睡覺:我很怕,若局勢(shì)升級(jí)就回國(guó)

導(dǎo)彈飛躍迪拜上空碎片落入市區(qū),中國(guó)女子戴頭盔頸枕睡覺:我很怕,若局勢(shì)升級(jí)就回國(guó)

瀟湘晨報(bào)
2026-03-01 19:44:18
財(cái)政部原副部長(zhǎng)朱光耀:“十五五”中國(guó)GDP名義增速可達(dá)7%左右

財(cái)政部原副部長(zhǎng)朱光耀:“十五五”中國(guó)GDP名義增速可達(dá)7%左右

每日經(jīng)濟(jì)新聞
2026-03-01 18:26:04
哈梅內(nèi)伊事后,伊朗以及革命衛(wèi)隊(duì)何去何從?

哈梅內(nèi)伊事后,伊朗以及革命衛(wèi)隊(duì)何去何從?

勝研集
2026-03-01 10:39:42
美以剛炸完伊朗,人民幣結(jié)算被卡脖子,中國(guó)怎么辦?

美以剛炸完伊朗,人民幣結(jié)算被卡脖子,中國(guó)怎么辦?

生活新鮮市
2026-03-01 13:27:54
我老婆打了我媽一耳光,我愣了5秒后對(duì)她說(shuō):今后你去照顧他們吧

我老婆打了我媽一耳光,我愣了5秒后對(duì)她說(shuō):今后你去照顧他們吧

黃小乖的日記
2026-03-01 18:47:49
濃煙滾滾!中國(guó)高清衛(wèi)星圖顯示美軍基地被擊中

濃煙滾滾!中國(guó)高清衛(wèi)星圖顯示美軍基地被擊中

武器縱論
2026-03-01 18:58:38
2026-03-01 21:31:00
51Testing軟件測(cè)試網(wǎng) incentive-icons
51Testing軟件測(cè)試網(wǎng)
中國(guó)軟件測(cè)試人的精神家園
1528文章數(shù) 13252關(guān)注度
往期回顧 全部

科技要聞

小米超跑概念車全球首秀!殺入頂豪俱樂(lè)部

頭條要聞

伊朗代表在安理會(huì)會(huì)議上直接警告美方:建議你保持禮貌

頭條要聞

伊朗代表在安理會(huì)會(huì)議上直接警告美方:建議你保持禮貌

體育要聞

火箭輸給熱火:烏度卡又輸斯波教練

娛樂(lè)要聞

《江山為聘》:吳謹(jǐn)言陳哲遠(yuǎn)燃炸朝堂

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

中東局勢(shì)升級(jí) 如何影響A股、黃金和原油

汽車要聞

理想汽車2月交付26421輛 歷史累計(jì)交付超159萬(wàn)輛

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

家居
房產(chǎn)
健康
教育
游戲

家居要聞

素色肌理 品意式格調(diào)

房產(chǎn)要聞

濱江九小也來(lái)了!集齊海僑北+哈羅、寰島...江東教育要炸了!

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

教育要聞

輔導(dǎo)員,全部入編

《COD》吃癟!被卷入法律糾紛:痛失一項(xiàng)知名品牌

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