【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

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

相关推荐
开开心心就好1 天前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
数据皮皮侠AI5 天前
中国土地利用驱动因子数据集(9种驱动因子/裁剪到省市/Tif)
大数据·人工智能·笔记·能源·1024程序员节
数据皮皮侠AI10 天前
上市公司耐心资本数据(2010-2025)
大数据·人工智能·笔记·能源·1024程序员节
开开心心就好11 天前
解决图片无页码添加功能的实用工具
javascript·python·安全·智能手机·pdf·音视频·1024程序员节
学传打活12 天前
【边打字.边学昆仑正义文化】_25_宇宙动植物的由来(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
开开心心就好16 天前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
liguojun202521 天前
软硬一体智慧场馆系统推荐——助力场馆数字化高效升级
java·大数据·人工智能·物联网·1024程序员节
开开心心就好1 个月前
吾爱大佬原创的文件时间修改工具
安全·智能手机·pdf·电脑·智能音箱·智能手表·1024程序员节
开开心心就好1 个月前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI1 个月前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节