寒假在学习大模型,但也没弄出多少眉目,电脑性能还有点小问题,大模型总跑不起来,只会简单调用一下现有的大模型的接口,例如:文心一言,下面展示一下代码:
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
这次就这样啦,与大家共勉。
发表评论