赞
踩
之前写过一篇怎么调用文心一言api的文章了,一般来说,我不是很愿意做重复的工作,因为比较懒嘛,那为什么又写这篇文章呢?主要是文心一言申请api_key等还不是太方便,开通服务也把人绕的晕,而调用智谱就容易多了。
首先访问智谱AI开放平台 (bigmodel.cn),进行注册或登录:
点击“开发工作台”:
点击“查看Api key”:
于是可看到我们的Api key了:
调用代码如下:
- import tkinter as tk
- import zhipuai
- import time
-
- zhipuai.api_key = "" # 这个换成自己的api_key,就能运行了
- model_name = "chatglm_6b"
- temperature = 0.9
- top_p = 0.7
- incremental = True
-
- class ChatWindow(tk.Frame):
- def __init__(self, master=None, **kw):
- super().__init__(master=master, **kw)
- self.master = master
- self.chat_history = ""
- self.create_widgets()
-
- def create_widgets(self):
- self.chatlog = tk.Text(self.master, width=60, height=20)
- self.chatlog.pack(side=tk.TOP, padx=5, pady=5)
- self.chatlog.insert(tk.END, "AI: 你好,我是智能聊天机器人,有什么可以帮助您的吗?\n")
- self.chat_history += "AI: 你好,我是智能聊天机器人,有什么可以帮助您的吗?\n"
-
- self.inputbox = tk.Entry(self.master, width=50)
- self.inputbox.pack(side=tk.LEFT, padx=5, pady=5)
-
- self.sendbtn = tk.Button(self.master, text="发送", command=self.send_message)
- self.sendbtn.pack(side=tk.LEFT, padx=5, pady=5)
-
- def send_message(self):
- prompt_text = self.inputbox.get()
- self.inputbox.delete(0, tk.END)
- if not prompt_text:
- return
-
-
-
- # 调用智拍AI API生成回复
- prompt = [{"role":"user","content":prompt_text}]
- response = zhipuai.model_api.sse_invoke(
- model=model_name,
- prompt=prompt,
- temperature=temperature,
- top_p=top_p,
- incremental=incremental
- )
-
- # 将所有片段拼接为一段完整的回答
- response_text = ""
- for event in response.events():
- if event.event == "add":
- response_text += event.data
- elif event.event == "error" or event.event == "interrupted":
- self.chatlog.insert(tk.END, "Error: " + event.data + "\n")
- elif event.event == "finish":
- self.chat_history += "用户:" + prompt_text + "\n"
- self.chat_history += "AI:" + response_text + "\n\n" # 添加空行
- self.chatlog.delete('1.0', tk.END)
- self.chatlog.insert(tk.END, self.chat_history)
- self.chatlog.see(tk.END)
- self.chatlog.update()
- else:
- self.chatlog.insert(tk.END, event.data + "\n")
-
- if __name__ == "__main__":
- root = tk.Tk()
- root.geometry("400x350")
- root.title("智能聊天机器人")
- ChatWindow(master=root).pack(fill=tk.BOTH, expand=True)
- root.mainloop()
结果展示视频如下:
用python调用大模型api接口,生成聊天机器人(简陋版)_哔哩哔哩_bilibili
这次就到这了,下次再见,与大家共勉。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。