目錄
一、概要
二、環境說明
三、申請百度千帆Key
四、使用千帆大模型
四、給大模型套殼
一、概要
? ? ? ? 在Unity中使用在線大模型分為兩篇發布,此篇文檔為在Python中使用千帆大模型,整體實現邏輯是:在Python中接入大模型—>發布為可傳參的exe文件—>Unity調用。
二、環境說明
- 編輯器:PyCharm
- 官網下載連接:https://www.jetbrains.com/zh-cn/pycharm/promo/
- 編程語言:Python
- Python依賴包:qianfan、wxPython
- 數據模型:百度千帆(在線)
三、申請百度千帆Key
1.進入官網:百度智能云千帆大模型平臺ModelBuilder (baidu.com)
2.點擊立即使用
3.進入百度智能云千帆大模型平臺
4.進入安全認證
5.單擊創建Access Key,單擊后即可看到下方自動生成一條Key
其他:在過程中可能會出現余額不足無法進行到下一步的情況,充值幾塊錢即可,用作測試妥妥花不完
四、使用千帆大模型
1.新建一個Python項目在終端中下載千帆依賴包
2.命令:pip install qianfan
3.粘貼以下代碼塊
import os
import qianfan
import wxos.environ["QIANFAN_ACCESS_KEY"] = ""
os.environ["QIANFAN_SECRET_KEY"] = ""chat_comp = qianfan.ChatCompletion()
# 調用默認模型,ERNIE-Lite-8K-0922(即ERNIE-Bot-turbo)
def qf(sendmessage):resp = chat_comp.do(model="ERNIE-Bot", messages=[{"role": "user","content": str(sendmessage)}])return resp["result"]
print(qf('你好'))
4.回到百度千帆安全認證處(本文3-4位置)
5.將Access Key和Secret Key分別填入給代碼行第5行和第6行賦值
至此,運行代碼。
其他:代碼頁中qf(sendmessage)方法中的參數就是向百度千帆模型發送的消息,通過結構體會返回一組字典數組數據,其中將這個數據中的result值就是返回的具體內容,將此拿出來單獨顯示即可
四、給大模型套殼
將代碼封裝到一個假模假樣的問答界面中
效果展示:
開始實操!
1.繼續回到我們的PyCharm
2.在終端中下載可視化依賴包,命令:pip install wxPython
3.粘貼如下代碼:
import os
import qianfan
import wxos.environ["QIANFAN_ACCESS_KEY"] = "ALTAK7qtCfC3zpqXu0CQnlLRcW"
os.environ["QIANFAN_SECRET_KEY"] = "4dff827da43744ada16a44690231addc"chat_comp = qianfan.ChatCompletion()
# 調用默認模型,ERNIE-Lite-8K-0922(即ERNIE-Bot-turbo)
def qf(sendmessage):resp = chat_comp.do(model="ERNIE-Bot", messages=[{"role": "user","content": str(sendmessage)}])return resp["result"]class Fr(wx.Frame):def __init__(self):wx.Frame.__init__(self, None, title="百度千帆大模型測試", pos=(0, 50), size=(450, 460))self.pl = wx.Panel(self)self.resurttext = wx.TextCtrl(self.pl, size=(400,300), pos=(10,10), style=wx.TE_READONLY | wx.TE_MULTILINE)self.sendtext = wx.TextCtrl(self.pl, size=(400,50), pos=(10,320), style=wx.TE_MULTILINE)self.btn = wx.Button(self.pl, label="發送", size=(80,30), pos=(150, 380))self.Bind(wx.EVT_BUTTON, self.btnclick, self.btn)def btnclick(self, event):result = qf(self.sendtext.GetValue())self.resurttext.AppendText(str(self.sendtext.GetValue() + '\n' + result + '\n'))self.sendtext.Clear()if __name__ == '__main__':app = wx.App()fream = Fr()fream.Show()app.MainLoop()
運行!
到此只是接入了在線大模型的服務,可以進行基礎的問答
下一篇:(02)Unity使用在線AI大模型(調用Python)