python调用热门的Kimi:利用 API 生成文本的强大工具

liftword3个月前 (02-09)技术文章36

代码概述

下面给定的 Python 代码展示了如何利用 Moonshot AI API 的 Kimi 模型生成文本。Kimi 是一个由 Moonshot AI 开发的多模态 AI 模型,擅长生成中文和英文文本内容。代码分步说明了如何发送 API 请求、处理响应并提取生成文本,为不同的输入提供示例。

代码

import requests
import json
import os

# 通过Moonshot AI API生成文本,即kimi生成文本,文档:https://platform.moonshot.cn/docs/api-reference#%E8%AF%B7%E6%B1%82%E5%86%85%E5%AE%B9
def kimi_chat(user_message):
    MOONSHOT_API_KEY = os.getenv('MOONSHOT_API_KEY')

    headers = {
        'Content-Type': 'application/json',     
        'Authorization': f'Bearer {MOONSHOT_API_KEY}',
    }

    data = {
        "model": "moonshot-v1-32k",      # moonshot-v1-8k,moonshot-v1-32k,moonshot-v1-128k 
        "messages": [
            # {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
            {"role": "user", "content": user_message}  
        ],
        "temperature": 0.5,
    }

    response = requests.post('https://api.moonshot.cn/v1/chat/completions', headers=headers, data=json.dumps(data))
    response_json = response.json()
    # 提取出你需要的部分
    assistant_message = response_json['choices'][0]['message']['content']

    return assistant_message


# 调用函数
if __name__ == '__main__':
    print(kimi_chat('你能干吗?'))

代码结构

代码主要分为三部分:

  1. Kimi 聊天函数:该函数接受一个用户消息,并使用 Moonshot API 键、请求头和数据构建 API 请求。它将请求发送到 API 并在收到响应时提取生成的文本。
  2. 请求数据:该数据包含消息对象列表和模型配置(模型名称、温度等)。它定义了要生成文本的会话上下文。
  3. 调用函数:主函数演示了如何调用 Kimi 聊天函数并生成文本。它提供了两个示例输入,展示了 API 的用法。

算法和数据结构

代码中使用的主要算法是 API 调用。它使用 HTTP POST 请求将数据发送到 Moonshot AI API,并使用 JSON 解析 API 响应。

复杂或不寻常的方面

代码中的一个不寻常方面是它使用 Moonshot AI API 键和 Bearer 令牌进行身份验证。此密钥用于授权 API 请求并访问模型。

代码限制和改进建议



限制:

  • 代码依赖于外部 API,这意味着 API 的可用性可能会影响代码的可靠性。
  • 生成的文本质量可能因输入质量和模型限制而异。

改进建议:

  • 考虑添加错误处理机制来处理 API 故障或无效输入。
  • 可以通过调整温度参数或使用其他模型来探索生成文本的效果。

编程语言和库

代码使用以下编程语言和库:

  • Python
  • requests(用于 HTTP 请求)
  • JSON(用于数据解析)
  • os(用于获取环境变量)

相关文章

PySpark源码解析,用Python调用高效Scala接口,搞定大规模数据分析

机器之心专栏作者:汇量科技-陈绪相较于Scala语言而言,Python具有其独有的优势及广泛应用性,因此Spark也推出了PySpark,在框架上提供了利用Python语言的接口,为数据科学家使用该框...

Python调用免费翻译API实现Excel文件批量翻译

工作中用到翻译软件是再正常不过的事情了,一般浏览外文网站翻译直接用谷歌插件还好解决。如果有一个Excel文件,里面有上万条需要翻译的内容,不能使用百度或Google免费的文档功能,需要怎么解决呢?总不...

使用python调用文心一言API,实现批量提问

在使用文心一言网页版时,一般都是输入一个提问,文心给出该提问的结果。但是,有时候我们需要批量向文心进行提问,而且这些提问的性质都是一样的,那么如何实现这个需求呢?一、提出问题例如:有一个表格,1000...

Python发送微信消息(文字、图片、文件)给指定好友和微信群

本示例是调用Windows API模拟发送,用Python调用win32api这个库来调用Windows API模拟人的手动操作来发送消息。在使用前,请将你微信的窗口设置为在最前面,这样就便于程序找到...

【Python机器学习系列】基于Flask来构建API调用机器学习模型服务

这是我的第364篇原创文章。一、引言我们知道机器学习的模型大多是使用python或者是R语言来写的,但是使用这些模型的软件工程师可能用的完全不是这些语言(机器学习模型有时只是一个软件中的一小部分,比如...