调用kimi实现AI对话
- 1. 申请key和基本要求
- 1.1 注意事项
- 1.2 学习
- 2. 用法
- 2.1. 非连续对话的完整版
- 2.2. 加强连续对话的能力
1. 申请key和基本要求
进入Moonshot AI的网址,按照如下操作获取key,并记住其值,方便后续使用
1.1 注意事项
如果是自己一个人用的话,注意 RPM,每分钟可以询问次数。刚注册的话,每分钟只能对话三次,超过的话,就会报警。
1.2 学习
在Moonshot AI上面有着丰富的学习资料,可以参考和借鉴
2. 用法
以下是非联网的做法,仅调用kimi.AI的基础对话功能。
2.1. 非连续对话的完整版
from openai import OpenAI
import timeclass Main_Name():def __init__(self):super().__init__()self.main()def AIclient(self):self.client = OpenAI(api_key="MOONSHOT_API_KEY", # 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Keybase_url="https://api.moonshot.cn/v1",)# 内容输入def InputContent(self, content):completion = self.client.chat.completions.create(model="moonshot-v1-8k",messages=[{"role": "user", "content": content}],temperature=0.3,)# 通过 API 我们获得了 Kimi 大模型给予我们的回复消息(role=assistant)return completion.choices[0].message.content # 获取问答结果def main(self):self.AIclient() # 调用API# try:while True:# 检测用户输入self.content = input("用户: ") # 输入内容self.answer = self.InputContent(self.content) # 调用问答并返回结果print(self.answer) # 打印结果time.sleep(2) # 增加休眠时间,防止每分钟的聊天超过限制# except: pass# 通过 API 我们获得了 Kimi 大模型给予我们的回复消息(role=assistant)
if __name__ == '__main__':ex = Main_Name()ex.main()
2.2. 加强连续对话的能力
调用API时加载初始对话
def AIclient(self):self.client = OpenAI(api_key="MOONSHOT_API_KEY", # 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Keybase_url="https://api.moonshot.cn/v1",)self.messages = [{"role": "system", "content": "你是 Kimi。"},] # 初始对话内容及预设
内容输入时将新的内容添加入对话中
def InputContent(self, content):self.messages.append({"role": "user", "content": content})completion = self.client.chat.completions.create(model="moonshot-v1-8k",messages=self.messages,temperature=0.3,)# 通过 API 我们获得了 Kimi 大模型给予我们的回复消息(role=assistant)assistant_message = completion.choices[0].message# 为了让 Kimi 大模型拥有完整的记忆,我们必须将 Kimi 大模型返回给我们的消息也添加到 messages 中self.messages.append(assistant_message)# 返回回答内容return completion.choices[0].message.content
替换上述两个代码块即可实现连续对话的功能。