国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人

這篇具有很好參考價值的文章主要介紹了如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

近日,OpenAI公司的ChatGPT模型走紅網(wǎng)絡。同時,OpenAI也推出了Chat API和gpt-3.5-turbo模型,讓開發(fā)者能夠更輕松地使用與ChatGPT類似的自然語言處理模型。

通過OpenAI API,我們可以使用gpt-3.5-turbo模型,實現(xiàn)多種任務,包括:撰寫電子郵件或其他文本內(nèi)容,編寫Python代碼,創(chuàng)建對話代理,回答各類問題,為軟件提供自然語言界面,進行各學科的輔導,翻譯語言,為視頻游戲模擬角色等,還有許多未被挖掘的應用場景。

如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人

本文將為大家介紹如何使用OpenAI的Python SDK實現(xiàn)自己的聊天機器人。如果你已經(jīng)使用過OpenAI的Python SDK,請確保將其升級到最新版本(0.27.0)。如果你還沒有安裝Python運行環(huán)境,請先安裝Python 3.10。

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

POST /chatbot/talk

Request Body:
{
    “message”: "你好!"
}

Response:
{
    “content”: “機器人回復消息”
}

首先,你需要在命令行中安裝FastAPI和OpenAI SDK,運行以下命令:

pip install fastapi uvicorn openai

為了方便演示,下面是一個最基本的FastAPI服務實現(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 = "輸入您的Key"

class TalkRequest(BaseModel):
    message: str

@app.post("/chatbot/talk")
async def chatbot_talk(user_input: TalkRequest):
    if not history:
        history.append({"role": "system", "content": "你好,我是你的私人助手!"})
    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({"role": "bot", "content": bot_response})
    return {"content": bot_response}

現(xiàn)在只需創(chuàng)建一個 run.py文件來啟動 FastAPI 服務。

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"
    )

接下來運行 run.py。

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

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

OK,到這里我們的后臺服務就已經(jīng)準備好了。

這是一個用于搭建聊天機器人 UI 界面的代碼示例,其中使用了 Vue.js 和 Axios。用戶可以在瀏覽器中打開一個頁面,輸入文本消息并發(fā)送到聊天機器人 API,然后接收聊天機器人的響應。

首先,需要在 Vue 項目中創(chuàng)建一個名為 Chat.vue 的組件。在 Chat.vue 中,可以添加一個文本框和一個發(fā)送按鈕,用于向聊天機器人發(fā)送消息。然后,使用 Vue.js 的數(shù)據(jù)綁定功能,將文本框的值綁定到一個名為 message 的 Vue 組件數(shù)據(jù)屬性。在發(fā)送按鈕上添加一個點擊事件,該事件將調(diào)用一個 sendMessage 方法,該方法將使用 Axios(或其他 HTTP 庫)將消息 POST 到聊天機器人 API。在發(fā)送成功后,使用 Axios 響應中的數(shù)據(jù)更新 Vue 組件數(shù)據(jù)屬性的值,以顯示聊天機器人的響應消息。

這里提供了一個基本的 Chat.vue 文件代碼示例:

<template>
  <div>
    <div v-for="(message, index) in messages" :key="index">
      <div v-if="message.isBot">{{ message.content }}</div>
      <div v-else>{{ message.content }}</div>
    </div>
    <input v-model="message" type="text" placeholder="Type your message here...">
    <button @click="sendMessage">Send</button>
  </div>
</template>

<script>
import axios from 'axios'

export default {
  name: "ChatView",
  data() { 
    return {
      message: '',
      messages: [],
    }
  },
  methods: {
    async sendMessage() {
      const url = 'http://127.0.0.1:8080/chatbot/talk'
      const data = { message: this.message }
      const response = await axios.post(url, data)
      this.messages.push({ content: this.message, isBot: false })
      this.messages.push({ content: response.data.content, isBot: true })
      this.message = ''
    },
  },
}
</script>

在這個示例中,messages 是一個數(shù)組,它用于存儲聊天記錄。sendMessage 方法將新消息添加到 messages 數(shù)組中,并使用 Axios 發(fā)送消息并更新響應的數(shù)據(jù)屬性。最后,它清空了 message 數(shù)據(jù)屬性,以便用戶可以輸入下一個消息。在模板中,我們使用 v-for 循環(huán)遍歷 messages 數(shù)組,并根據(jù) isBot 數(shù)據(jù)屬性來判斷消息是用戶的消息還是聊天機器人的消息。

需要注意的是,這個示例中聊天機器人 API 的地址是 http://127.0.0.1:8080/chatbot/talk。如果聊天機器人 API 的地址不同,需要相應地修改 sendMessage 方法中的 url 變量。

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

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

打開命令行終端,導航到項目目錄,并使用以下命令安裝 Vue CLI:

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

cnpm install -g @vue/cli

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

vue create my-chat-app

根據(jù)需求進行選擇,稍等片刻項目即可創(chuàng)建成功。

進入 my-chat-app 目錄,安裝 Axios:

cnpm install axios --save

將 Chat.vue 組件添加到 src/components 文件夾中。

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

<template>
  <div>
    <Chat />
  </div>
</template>
<script>
import Chat from './components/Chat.vue'

export default {
  name: 'App',
  components: {
    Chat,
  },
}
</script>

在命令行終端中運行以下命令啟動開發(fā)服務器:

npm run serve

打開 http://localhost:8081/,可以看到一個基本的聊天窗口可以體驗聊天機器人。

因文章篇幅有限,感興趣的同行完全可以利用前端技術(shù)做出更精美的機器人聊天窗口。文章來源地址http://www.zghlxwxcb.cn/news/detail-429998.html

到了這里,關(guān)于如何使用OpenAI API和Python SDK構(gòu)建自己的聊天機器人的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • ChatGPT:2. 使用OpenAI創(chuàng)建自己的AI網(wǎng)站:1. 初探API

    ChatGPT:2. 使用OpenAI創(chuàng)建自己的AI網(wǎng)站:1. 初探API

    如果你還是一個OpenAI的小白,有OpenAI的賬號,但想調(diào)用OpenAI的API搞一些有意思的事,那么這一系列的教程將仔細的為你講解如何使用OpenAI的API制作屬于自己的AI網(wǎng)站。博主只能利用下班時間更新,進度慢,請海涵??。 ??1. OpenAI API的首頁:https://platform.openai.com/ ??2. 查看自己

    2024年02月08日
    瀏覽(26)
  • 使用Azure OpenAI+ChatGPT Web快速構(gòu)建自己的ChatGPT,無需FQ,無憂封號

    使用Azure OpenAI+ChatGPT Web快速構(gòu)建自己的ChatGPT,無需FQ,無憂封號

    登錄Azure網(wǎng)站,申請Azure OpenAI服務 創(chuàng)建 Azure OpenAI 資源創(chuàng)建完成?后,可以在\\\"資源管理\\\"-\\\"密鑰和終結(jié)點\\\"部分看到調(diào)用Azure OpenAI服務需要用到的api key和endpoint 在Azure OpenAI Studio中部署模型 通過以上操作,我們得到以下資源信息,先記下來,后面搭建網(wǎng)站會用到 名稱 值 說明 A

    2024年02月12日
    瀏覽(39)
  • 使用Java和ChatGPT Api來創(chuàng)建自己的大模型聊天機器人

    什么是大模型? 大型語言模型(LLM)是一種深度學習模型,它使用大量數(shù)據(jù)進行預訓練,并能夠通過提示工程解決各種下游任務。LLM 的出發(fā)點是建立一個適用于自然語言處理的基礎(chǔ)模型,通過預訓練和提示工程的方式實現(xiàn)模型在新的數(shù)據(jù)分布和任務上的強大泛化能力。LLM 旨

    2024年02月12日
    瀏覽(22)
  • 【GPT,F(xiàn)lask】用Python Flask結(jié)合OpenAI的GPT API構(gòu)建一個可自主搭建的內(nèi)容生成應用網(wǎng)站

    【GPT,F(xiàn)lask】用Python Flask結(jié)合OpenAI的GPT API構(gòu)建一個可自主搭建的內(nèi)容生成應用網(wǎng)站

    自己構(gòu)建模型并進行訓練需要很高的知識,技能和資源門檻。如今,通過OpenAI提供的API,則可以快速通過GPT能力構(gòu)建可以提供內(nèi)容生成服務的在線網(wǎng)站。這套框架可以提供給用戶,用戶可以利用該框架在自己的環(huán)境(比如自己的公司內(nèi))構(gòu)建內(nèi)容生成服務。你也可以自己上線

    2024年02月11日
    瀏覽(24)
  • 使用純flutter3.0版本,2個dart文件,搭建ChatGPT簡易版聊天客戶端程序(含openai與api2d版本)

    使用純flutter3.0版本,2個dart文件,搭建ChatGPT簡易版聊天客戶端程序(含openai與api2d版本)

    使用純Flutter 3.0版本,僅需2個Dart文件,即可搭建ChatGPT簡易版聊天客戶端程序(包括OpenAI與API2D版本) 隨著人工智能的快速發(fā)展,聊天機器人成為了現(xiàn)代社交和客戶服務的重要工具。ChatGPT是OpenAI開發(fā)的一款基于深度學習的語言模型,能夠模擬人類對話,實現(xiàn)智能化的對話交互

    2024年02月07日
    瀏覽(25)
  • OpenAi最簡潔的Java流式返回接入方式,沒有第三方依賴,只需要使用Spring Boot即可!輕松構(gòu)建你的帶有聊天記憶、畫圖功能的chatgpt!

    OpenAi最簡潔的Java流式返回接入方式,沒有第三方依賴,只需要使用Spring Boot即可!輕松構(gòu)建你的帶有聊天記憶、畫圖功能的chatgpt!

    OpenAi最簡潔的Java流式返回接入方式,沒有第三方依賴,只需要使用Spring Boot即可!輕松構(gòu)建你的帶有聊天記憶、畫圖功能的chatgpt! GitHub - NiuXiangQian/chatgpt-stream: OpenAi最簡潔的Java流式返回接入方式,沒有第三方依賴,只需要使用Spring Boot即可!輕松構(gòu)建你的帶有聊天記憶、畫圖

    2024年02月12日
    瀏覽(89)
  • 如何通過 Axios 和 JavaScript 使用 OpenAI API

    如何通過 Axios 和 JavaScript 使用 OpenAI API

    領(lǐng)先的 AI 研究實驗室 OpenAI 創(chuàng)建了一個強大的 API,允許開發(fā)人員利用尖端的 AI 功能并使用 GPT3 等生成語言模型。在本教程中,我們將向您展示如何將 OpenAI API 與 Axios 和 JavaScript 結(jié)合使用,讓您一窺由 AI 驅(qū)動的 Web 開發(fā)的未來。 Axios 是一個流行的 JavaScript 庫,用于發(fā)出 HTTP

    2024年02月07日
    瀏覽(23)
  • 【虹科分享】基于Redis Enterprise,LangChain,OpenAI 構(gòu)建一個電子商務聊天機器人

    如何構(gòu)建你自己的商務聊天機器人?注意哦,是你自己的聊天機器人。一起來看看 Redis Enterprise的向量檢索是怎么幫你實現(xiàn)這個愿望的吧。 ? 鑒于最近人工智能支持的 API和網(wǎng)絡開發(fā)工具的激增,似乎每個人都在將聊天機器人集成到他們的應用程序中。 ? LangChain是一種備受歡

    2024年02月05日
    瀏覽(24)
  • 如何在Ubuntu上方便使用OpenAI API key

    上一篇博客中怎么樣使用OpenAI的Python API_蛐蛐蛐的博客-CSDN博客,我簡單介紹了怎么使用OpenAI API,按照這個網(wǎng)頁中的建議:https://platform.openai.com/docs/api-reference/authentication Remember that your API key is a secret! Do not share it with others or expose it in any client-side code (browsers, apps). Production req

    2024年02月02日
    瀏覽(27)
  • OpenAI 入門(三)|構(gòu)建自己的 Visual Studio Code Copilot 組件

    OpenAI 入門(三)|構(gòu)建自己的 Visual Studio Code Copilot 組件

    點擊藍字 關(guān)注我們 編輯:Alan Wang 排版:Rani Sun 微軟 Reactor 為幫助廣開發(fā)者,技術(shù)愛好者,更好的學習 .NET Core, C#, Python,數(shù)據(jù)科學,機器學習,AI,區(qū)塊鏈, IoT 等技術(shù),將每周三到周六,組織 3~5 場線上分享活動。歡迎跟著我們一起來學習。? 近來,隨著 ChatGPT 的風靡,人工

    2024年02月04日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包