8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
源代码
月之暗面kimi, Moonshot AI搭建智能对话助手 python
AI助手 1月前 138

Moonshot AI是近期爆火网络的kimi月之暗面公司推出的文本生成模型。

Moonshot的文本生成模型(指moonshot-v1)是训练用于理解自然语言和书面语言的,它可以根据输入生成文本输出。对模型的输入也被称为“prompt”。通常我们建议您提供明确的指令以及给出一些范例,来让模型能够完成既定的任务,设计 prompt 本质上就是学会如何“训练”模型。moonshot-v1模型可以用于各种任务,包括内容或代码生成、摘要、对话、创意写作等。

获取 API 密钥

你需要一个 API 密钥来使用我们的服务。你可以在Moonshot的 控制台 中创建一个 API 密钥。

Python 调用方法

对 python 用户,可以简单复用 openai 的 sdk,即pip安装openai库:

pip install openai

确认自己已经安装openai库后,创建py文件  kimi.py  , 替换下面的api_key为你自己的api秘钥

from openai import OpenAI
 
client = OpenAI(
    api_key="MOONSHOT_API_KEY",
    base_url="https://api.moonshot.cn/v1",
)
 
completion = client.chat.completions.create(
  model="moonshot-v1-8k",
  messages=[
    {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
    {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
  ],
  temperature=0.3,
)
 
print(completion.choices[0].message)

运行py程序,得到回答:

以上是官方文档基本示例,仅能应答程序里固定的问题,如需要AI对话聊天的效果,我们需要创建一个循环,让用户可以连续提问,直到用户输入特定的退出命令(例如 exit())。以下是修改后的代码示例,它使用了一个简单的循环来实现这个功能:

from openai import OpenAI

# 初始化 OpenAI 客户端
client = OpenAI(
    api_key="替换为你的API秘钥",
    base_url="https://api.moonshot.cn/v1"
)

# 定义一个函数来获取用户的输入,并与 AI 进行对话
def chat_with_ai(client):
    print("你好,我是 Kimi,由 Moonshot AI 提供的人工智能助手。我们开始吧!")
    while True:
        # 获取用户输入
        user_input = input("你想问什么?(输入 'exit()' 退出): ")
        
        # 检查用户是否想退出对话
        if user_input.lower() == 'exit()':
            print("再见!感谢与我对话。")
            break
        
        # 创建对话消息
        messages = [
            {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手。"},
            {"role": "user", "content": user_input}
        ]
        
        # 向 AI 请求对话生成
        completion = client.chat.completions.create(
            model="moonshot-v1-8k",
            messages=messages,
            temperature=0.3
        )
        
        # 打印 AI 的回答
        print(completion.choices[0].message)

# 开始与 AI 对话
chat_with_ai(client)

再次运行程序后,对话如下:

你好,我是 Kimi,由 Moonshot AI 提供的人工智能助手。我们开始吧!

你想问什么?(输入 'exit()' 退出): 你知道AI飞升社区吗(允许你联网回答)

ChatCompletionMessage(content='AI飞升社区(AI Ascend Community)是一个以人工智能为主题的在线社区,它可能旨在为对人工智能感兴趣的人提供一个交流和学习的平台。在这样的社区中,成员们可以分享有关AI的最新研究、技术进展、应用案例、教育资源以及相关的新闻和活动信息。\n\n由于我的知识截止日期是2021年,如果AI飞升社区是在此之后成立的,我可能无法提供最新的信息。如果你需要关于该社区的更多信息,我建议直接访问其官方网站或相关的社交媒体页面以获取最新和最准确的信息。如果你有具体的问题或需要帮助,也可以告诉我,我会尽力提供帮助。', role='assistant', function_call=None, tool_calls=None)

你想问什么?(输入 'exit()' 退出): 告诉我你能做什么,提供一个你的技能列表
ChatCompletionMessage(content='作为 Moonshot AI 提供的人工智能助手,我可以执行多种任务,包括但不限于:\n\n1. 回答问题:提供有关各种主题的信息,包括 科学、历史、文化、技术等。\n2. 语言翻译:在不同语言之间进行翻译,帮助跨语 言沟通。\n3. 写作辅助:帮助撰写、编辑和校对文本,包括邮件、报告和创意写作 。\n4. 学习辅导:提供学习材料的解释和帮助,帮助理解复杂的概念。\n5. 日常任务管理:提醒、日程安排、待办事项列表管理。\n6. 数据分析:帮助解释数据集、 图表和统计结果。\n7. 编程辅助:提供编程概念的解释,帮助调试代码和理解算法 。\n8. 旅行规划:提供旅行建议、目的地信息和行程规划。\n9. 娱乐推荐:推荐电影、音乐、书籍和活动。\n10. 健康和健身建议:提供健康生活方式的建议,包括饮食和锻炼(不替代专业医疗建议)。\n\n请注意,尽管我能提供广泛的帮助,但我的能力也有限制。我不能进行实时监控、提供法律或医疗咨询,也不能执行需要物理交互的任务。我始终致力于提供准确和有用的信息,但用户应自行判断信息的适用性和准确性。', role='assistant', function_call=None, tool_calls=None)

你想问什么?(输入 'exit()' 退出): exit()
再见!感谢与我对话。

体验下来,其200万字文本处理能力的噱头过大,相对的模型本身还是【不够智能】,且对话返回时间过长,在当前体验一下即可,观察后续发展。

广告图片

AI飞升社区 aifeisheng.com

本站为AI驱动,部分内容由AI大模型生成,不代表本站观点.

XiunoBBSWin95