【001】调用kimi实现AI对话_#py

调用kimi实现AI对话

  • [1. 申请key和基本要求](#1. 申请key和基本要求)
    • [1.1 注意事项](#1.1 注意事项)
    • [1.2 学习](#1.2 学习)
  • [2. 用法](#2. 用法)
    • [2.1. 非连续对话的完整版](#2.1. 非连续对话的完整版)
    • [2.2. 加强连续对话的能力](#2.2. 加强连续对话的能力)

1. 申请key和基本要求

进入Moonshot AI的网址,按照如下操作获取key,并记住其值,方便后续使用

1.1 注意事项

如果是自己一个人用的话,注意 RPM,每分钟可以询问次数。刚注册的话,每分钟只能对话三次,超过的话,就会报警。

1.2 学习

Moonshot AI上面有着丰富的学习资料,可以参考和借鉴

2. 用法

以下是非联网的做法,仅调用kimi.AI的基础对话功能。

2.1. 非连续对话的完整版

python 复制代码
from openai import OpenAI
import time

class 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 Key
            base_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时加载初始对话

python 复制代码
    def AIclient(self):
        self.client = OpenAI(
            api_key="MOONSHOT_API_KEY",  # 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Key
            base_url="https://api.moonshot.cn/v1",)
        self.messages = [{"role": "system", "content": "你是 Kimi。"},]   # 初始对话内容及预设

内容输入时将新的内容添加入对话中

python 复制代码
    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

替换上述两个代码块即可实现连续对话的功能。

相关推荐
u0103055273 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055273 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝4 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055275 天前
Java图像处理实战指南
人工智能·1024程序员节
u0103055275 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055277 天前
Java实用类应用精讲
人工智能·1024程序员节
u0103055278 天前
Java I/O核心操作实战
人工智能·1024程序员节
u0103055279 天前
ArrayList操作详解与实战应用
人工智能·1024程序员节
u0103055279 天前
Java模块化编程实战指南
人工智能·笔记·1024程序员节
u01030552710 天前
使用BufferedReader读取控制台输入
人工智能·1024程序员节