写点什么

利用 Python 调用 KimiGPT API 接口

  • 2024-06-04
    湖南
  • 本文字数:5032 字

    阅读完需:约 17 分钟

Kimi 作为国内目前广受欢迎的 AI 工具,因其出色的性能和智能功能,迅速赢得了大量用户的青睐。随着用户量的激增,系统在高峰时段可能会面临响应压力。正是借助这一热潮,Kimi 团队适时推出了其 API 服务,使用户和开发者能够更加灵活和深入地集成和使用 Kimi 的智能功能。

什么是 API

API 是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让 API 变得更加有用和有价值:


遵守 REST 和 HTTP 等易于访问、广泛理解和开发人员友好的标准。 API 不仅仅是几行代码;这些是为移动开发人员等特定受众创建的。 这些有清晰的文档和版本,以满足用户的期望。 更好的治理和安全性,以及监控以管理性能和可扩展性。

kimi 文本生成模型介绍

Moonshot AI 的文本生成模型(moonshot-v1)是专门设计用于理解和生成自然语言文本的先进工具。该模型通过接收输入(prompt)来生成相应的文本输出,使得它能够灵活应用于内容创作、代码编写、文本摘要、对话交流以及创意写作等多种场景。为了最大化模型的效能,建议用户给出清晰的指示和示例,这有助于指导模型更准确地完成指定任务。简而言之,moonshot-v1 是一个多功能的文本处理引擎,能够根据用户的提示生成高质量、多样化的文本。

Token 说明

Token 是自然语言处理(NLP)中的一个术语,代表文本中的一个基本处理单元,在大模型中,输入和输出文本会被分割成 Tokens,模型会逐个处理这些 Tokens 来生成响应。由于模型有最大上下文长度限制,因此 Token 的使用效率直接影响到能处理的文本量和生成的输出质量。 Token 是文本处理中的基本元素,代表字符或字符序列。例如,一个汉字可能被分为多个 Token,而常见短语可能只用一个 Token 表示。在中文文本中,一个 Token 平均对应大约 1.5 到 2 个汉字。


当前的,支持的模型有: moonshot-v1-8k: 它是一个长度为 8k 的模型,适用于生成短文本。 moonshot-v1-32k: 它是一个长度为 32k 的模型,适用于生成长文本。 moonshot-v1-128k: 它是一个长度为 128k 的模型,适用于生成超长文本。


以上模型的区别在于它们的最大上下文长度。

使用方法:

如何申请 Kimi Chat API Key

  1. 登录开发平台地址:platform.moonshot.cn/console/api…


  1. 我们在 API Key 管理页面点击「新建」创建一个新的 API Key,在创建好之后会生成一个 key,大家要保存好它,因为只展现一次,如果没记住那就只能删除并重建了:


  1. Kimi API 接口用量限制:

  • 并发数:1

  • TPM(每分钟 Token 数):32000

  • RPM(每分钟请求数):3

  • TPD(每天 Token 数):1500000

Python 调用 Kimi API 接口的主要步骤如下:

  1. 首先安装 openai 库

pip3 install openai
复制代码

pip3 show openai 可以查看 openai 的版本. openai 的版本要大于 1.0

openai 版本低于 1.0 会报错

/usr/local/bin/python3 /Users/larryzheng/Desktop/kimi_chat.pylocalhost:~ larryzheng$ /usr/local/bin/python3 /Users/larryzheng/Desktop/kimi_chat.pyTraceback (most recent call last):  File "/Users/larryzheng/Desktop/kimi_chat.py", line 1, in <module>    from openai import OpenAIImportError: cannot import name 'OpenAI' from 'openai' (/usr/local/lib/python3.7/site-packages/openai/__init__.py)localhost:~ larryzheng$ /usr/local/bin/python3 /Users/larryzheng/Desktop/kimi_chat.pyTraceback (most recent call last):  File "/Users/larryzheng/Desktop/kimi_chat.py", line 1, in <module>    from openai import OpenAIImportError: cannot import name 'OpenAI' from 'openai' (/usr/local/lib/python3.7/site-packages/openai/__init__.py)
复制代码

升级一下 openai 库

pip3 install --upgrade openai
复制代码
  1. 以一个简单的示例为例,来演示如何利用 Python 编写一个单轮对话的 API 接口,创建一个 kimi_chat.py 文件,其中 api_key 替换成自己申请的密钥。代码如下:

from openai import OpenAI
client = OpenAI( api_key="sk-*********", 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": "帮我生成一篇关于怎么使用Kimi API接口文档的文章" }, ], temperature=0.3,)
answer = completion.choices[0].message
print("*" * 30)print(answer)
复制代码
  1. 启动 API 服务


使用如下命令启动 API 服务:

python kimi_chat.py
复制代码
  1. 返回内容格式如下:

{  "id": "cmpl-04ea926191a14749b7f2c7a48a68abc6",  "object": "chat.completion",  "created": 1698999496,  "model": "moonshot-v1-8k",  "choices": [    {      "index": 0,      "message": {        "role": "assistant",        "content": " 你好,李雷!1+1等于2。如果你有其他问题,请随时提问!"      },      "finish_reason": "stop"    }  ],  "usage": {    "prompt_tokens": 19,    "completion_tokens": 21,    "total_tokens": 40  }}
复制代码

返回参数比较多,只获取 content 这个字段即可

answer = completion.choices[0].message.content
print("*" * 30)print(answer)
复制代码

返回结果如下:

当然可以,以下是一篇关于如何使用Kimi API接口的示例文档:
---
# 如何使用Kimi API接口
## 简介
Kimi API是一个强大的接口,为用户提供了与Moonshot AI交互的能力。通过Kimi API,开发者可以创建应用程序,实现与Kimi的对话、信息检索、数据分析等功能。
## 准备工作
在开始使用Kimi API之前,请确保您已经完成了以下步骤:
1. **注册账户**:访问Moonshot AI的官方网站,注册一个开发者账户。2. **获取API密钥**:在您的账户中生成一个API密钥,这将用于在您的请求中验证身份。3. **阅读文档**:仔细阅读Kimi API的官方文档,了解支持的功能和使用限制。
## 基本使用
### 1. 初始化请求
要使用Kimi API,您需要发送HTTP请求到指定的端点。以下是一个基本的请求示例:
```httpPOST /api/v1/kimiHost: api.moonshot.aiAuthorization: Bearer YOUR_API_KEYContent-Type: application/json
{"query": "你好,Kimi!"}### 2. 发送查询
在请求体中,您可以包含一个`query`字段,其中包含您想要Kimi回答的问题或指令。
### 3. 接收响应
Kimi API将返回一个JSON格式的响应,其中包含Kimi的回答:
```json{"response": "你好!有什么可以帮助你的吗?","status": "success"}## 高级功能
### 多语言支持
Kimi API支持多种语言的交互。您可以通过在请求中指定`language`字段来获取不同语言的回答:
```json{"query": "你好,Kimi!","language": "zh-CN"}```
### 上下文管理
Kimi API支持上下文管理,这意味着Kimi可以记住之前的对话内容。这对于创建更自然、连贯的对话体验非常有用。
### 数据分析
Kimi API还可以提供数据分析功能,帮助您理解用户查询的模式和趋势。
## 安全和限制
* **API密钥**:请确保您的API密钥安全,不要在公共代码库或不安全的地方共享。* **请求限制**:Kimi API可能有请求频率和数据量的限制,请遵守这些限制以避免服务中断。* **数据隐私**:请遵守数据隐私法规,确保用户数据的安全和保密。
## 结论
Kimi API为开发者提供了一个强大的工具,以创建智能、交互式的应用程序。通过遵循本文档的指南,您可以开始探索Kimi API的功能,并将其集成到您的项目中。
复制代码


  1. 单轮对话的例子中语言模型将用户信息列表作为输入,并将模型生成的信息作为输出返回。 我们也可以将模型输出的结果继续作为输入的一部分以实现多轮对话。下面是一个简单的示例,如何利用 Python 编写一个多轮对话的 API 接口,代码如下:

from openai import OpenAI client = OpenAI(    api_key = "sk-********",    base_url = "https://api.moonshot.cn/v1",) history = [    {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"}] def chat(query, history):    history.append({    "role": "user",     "content": query    })    completion = client.chat.completions.create(        model="moonshot-v1-8k",        messages=history,        temperature=0.3,    )    result = completion.choices[0].message.content    history.append({    "role": "assistant",    "content": result    })    return result print(chat("我想要在北京预订一家意大利餐厅?", history))print(chat("推荐一家评价好的", history))
复制代码

返回结果如下:

在北京预订一家意大利餐厅是个不错的选择,因为北京有很多优质的意大利餐厅。以下是一些步骤和建议,帮助你预订:
1. **确定预算和口味**:首先,确定你愿意为这顿饭花费多少钱,以及你偏爱的意大利菜式,比如披萨、意面、海鲜等。
2. **在线搜索**:使用搜索引擎或美食预订平台,如大众点评、美团、饿了么等,搜索“北京 意大利餐厅”,这些平台通常会有用户评价和推荐。
3. **查看评价**:阅读餐厅的评价和评论,这可以帮助你了解餐厅的口碑和食物质量。
4. **预订方式**:一些餐厅可能提供在线预订服务,你可以通过它们的官网或者第三方平台进行预订。如果没有在线服务,你可以尝试直接打电话预订。
5. **注意位置**:选择一家地理位置方便的餐厅,特别是如果你计划在特定活动或场合后用餐。
6. **预订时间**:如果你有特定的用餐时间,提前预订可以确保你得到想要的座位。
7. **特殊要求**:如果你有饮食限制或过敏,请在预订时告知餐厅,以便他们能够满足你的需求。
8. **确认预订**:在预订后,确保收到确认信息,并且在用餐前再次确认预订细节。
如果你需要具体的餐厅推荐,我可以帮你查找一些北京的意大利餐厅信息。在北京,有几家意大利餐厅因其美食和服务而备受好评。以下是一些建议:
1. **意库意大利餐厅**:位于朝阳区,以其正宗的意大利风味和优雅的环境而闻名。
2. **意大利农场**:位于顺义区,提供新鲜食材制作的意大利菜肴,环境舒适,适合家庭聚餐。
3. **La Mezzaluna 半月堂**:位于朝阳区,以精致的意大利美食和优雅的就餐环境著称。
4. **Mammamia意大利餐厅**:位于朝阳区,以其地道的意大利风味和热情的服务受到食客的喜爱。
5. **AROMA**:位于朝阳区,除了意大利菜,还提供其他地中海风味的菜肴,环境现代而舒适。
6. **Galleria美食艺术馆**:位于朝阳区,提供多种意大利传统美食,环境优雅,适合约会或商务用餐。
7. **BOTTEGA意库**:位于朝阳区,以其高品质的食材和创新的意大利菜式受到好评。
请注意,餐厅的评价和人气可能会随时间而变化,建议在预订前查看最新的顾客评价和餐厅信息。你可以通过美食平台或者餐厅的官方网站来获取最新的预订信息和顾客反馈。周六晚上是餐厅的高峰时段,因此提前预订是明智的选择。以下是一些在北京预订意大利餐厅时可能需要考虑的因素:
1. **提前预订**:由于是周末晚上,很多餐厅可能会比较忙,所以最好提前几天进行预订。
2. **选择餐厅**:根据前述推荐,你可以选择一家评价好的意大利餐厅。
3. **预订方式**:可以通过餐厅的官方网站、电话或者通过第三方预订平台进行预订。
4. **特别要求**:在预订时,可以告知餐厅是两位用餐,并且是周六晚上,如果有特别的座位要求(比如靠窗、安静角落等),也可以一并提出。
5. **确认预订**:在预订后,确保收到餐厅的确认信息,并且在用餐前一天再次确认预订细节。
6. **注意着装**:一些高端餐厅可能有着装要求,提前了解并做好准备。
7. **交通和停车**:考虑到餐厅的位置,提前规划好交通方式,如果开车前往,了解是否有停车服务。
8. **预订时间**:确定你的用餐时间,一些餐厅可能对预订时间有限制。
如果你需要具体的帮助来预订,可以告诉我,我可以帮你查找一些具体的餐厅信息和联系方式。
复制代码

作者:dimitri

链接:https://juejin.cn/post/7376104031233916955

用户头像

欢迎关注,一起学习,一起交流,一起进步 2020-06-14 加入

公众号:做梦都在改BUG

评论

发布
暂无评论
利用Python调用KimiGPT API接口_Python_我再BUG界嘎嘎乱杀_InfoQ写作社区