利用Python调用KimiGPT API接口

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

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…

1717484648937.jpg

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

1717484672321.jpg

1717484685661.jpg

  1. Kimi API接口用量限制:

1717484701088.jpg

  • 并发数:1
  • TPM(每分钟 Token 数):32000
  • RPM(每分钟请求数):3
  • TPD(每天 Token 数):1500000

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

  1. 首先安装 openai 库
pip3 install openai

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

1717484738017.jpg

openai版本低于1.0会报错

/usr/local/bin/python3 /Users/larryzheng/Desktop/kimi_chat.py
localhost:~ larryzheng$ /usr/local/bin/python3 /Users/larryzheng/Desktop/kimi_chat.py
Traceback (most recent call last):
  File "/Users/larryzheng/Desktop/kimi_chat.py", line 1, in <module>
    from openai import OpenAI
ImportError: 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.py
Traceback (most recent call last):
  File "/Users/larryzheng/Desktop/kimi_chat.py", line 1, in <module>
    from openai import OpenAI
ImportError: 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请求到指定的端点。以下是一个基本的请求示例:
```http
POST /api/v1/kimi
Host: api.moonshot.ai
Authorization: Bearer YOUR_API_KEY
Content-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. **预订时间**:确定你的用餐时间,一些餐厅可能对预订时间有限制。
如果你需要具体的帮助来预订,可以告诉我,我可以帮你查找一些具体的餐厅信息和联系方式。


相关文章
|
24天前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
13天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
62 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
9天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
7天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
34 2
|
8天前
|
前端开发 API 数据库
Next 编写接口api
Next 编写接口api
|
14天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
13天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
14天前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
13天前
|
搜索推荐 数据挖掘 API
淘宝天猫商品评论数据接口丨淘宝 API 实时接口指南
淘宝天猫商品评论数据接口(Taobao.item_review)提供全面的评论信息,包括文字、图片、视频评论、评分、追评等,支持实时更新和高效筛选。用户可基于此接口进行数据分析,支持情感分析、用户画像构建等,同时确保数据使用的合规性和安全性。使用步骤包括注册开发者账号、创建应用获取 API 密钥、发送 API 请求并解析返回数据。适用于电商商家、市场分析人员和消费者。
|
17天前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
69 5