寒假在学习大模型,但也没弄出多少眉目,电脑性能还有点小问题,大模型总跑不起来,只会简单调用一下现有的大模型的接口,例如:文心一言,下面展示一下代码:
import tkinter as tk
import requests
import json
#此处需填入自己的API_KEY以及SECRET_KEY
API_KEY = "*****"
SECRET_KEY = "*******"
class ChatBot:
def __init__(self, master):
self.master = master
master.title("Chat Bot")
# 创建控件
self.message_input = tk.Entry(master, width=50)
self.send_button = tk.Button(master, text="Send", command=self.send_message)
self.chat_box = tk.Text(master, width=60, height=20)
# 布局控件
self.message_input.pack(side=tk.LEFT, padx=10)
self.send_button.pack(side=tk.LEFT)
self.chat_box.pack(side=tk.BOTTOM, pady=20)
def send_message(self):
message = self.message_input.get()
self.message_input.delete(0, tk.END)
self.chat_box.insert(tk.END, "You: " + message + "\n")
response = self.get_response(message)
self.chat_box.insert(tk.END, "Bot: " + response + "\n")
def get_response(self, message):
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + self.get_access_token()
payload = json.dumps({
"messages": [
{
"role": "user",
"content": message
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()["result"]
def get_access_token(self):
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access_token"))
root = tk.Tk()
chat_bot = ChatBot(root)
root.mainloop()
至于如何获取这其中的两个key,网上有太多文章了,大家可以去找找看,比如这篇文章:百度文心一言API申请和python/Go使用教程 - 知乎 (zhihu.com)
不过内容我没细看,如果不满足要求的话可以再找找。之前我看过的那篇很有用的文章本来想推荐给大家,刚刚发现不存在了。因为网上相关太多了,我就不写了,当然,如果大家想看,我也可以出。
结果如下所示:
之前录的视频没保存,找不着了,人又比较懒,下面是我之前发在b站的视频,大家可以看看,当然,愿意关注的话,也可以关注下,虽然我b站发布的内容好像和技术没啥关系哈:
python调用文心一言大模型接口生成一个简陋版聊天机器人_哔哩哔哩_bilibili
这次就这样啦,与大家共勉。