kimi开放API使用了,来看如何使用

news2024/11/28 10:56:50

更多精彩内容在公众号。

kimi现在算是国内火得不行的AI工具。最近使用人太多,都经常出现响应不过来的情况。借助这波热潮,kimi顺势推出了API使用。

来看kimi的官方介绍使用。https://platform.moonshot.cn

文本生成模型

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

Token

文本生成模型以 Token 为基本单位来处理文本。Token 代表常见的字符序列。例如,单个汉字"夔"可能会被分解为若干 Token 的组合,而像"中国"这样短且常见的短语则可能会使用单个 Token 。大致来说,对于一段通常的中文文本,1 个 Token 大约相当于 1.5-2 个汉字。

需要注意的是,对于我们的文本模型,Input 和 Output 的总和长度不能超过模型的最大上下文长度。

模型列表

你可以使用我们的 List Models API 来获取当前可用的模型列表。

当前的,我们支持的模型有:

  • moonshot-v1-8k: 它是一个长度为 8k 的模型,适用于生成短文本。

  • moonshot-v1-32k: 它是一个长度为 32k 的模型,适用于生成长文本。

  • moonshot-v1-128k: 它是一个长度为 128k 的模型,适用于生成超长文本。

以上模型的区别在于它们的最大上下文长度,这个长度包括了输入消息和生成的输出,在效果上并没有什么区别。这个主要是为了方便用户选择合适的模型。

使用方法:

需要提供一个 API 密钥和一个模型名称。模型名称在前面已经列出。那么首先申请一个API密钥

API密钥申请在kimi的控制台:https://platform.moonshot.cn/console/info

账号登录后看到账户总览里面,送了15元

图片

在API key管理界面中新建一个key

图片

生成后可以看到创建的key,注意:密钥是不会在界面上显示的,创建成功后需要自己保存。

图片

python调用方法:

首先安装openai库

pip3 install openai

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

图片

来看一个代码示例,在这个例子中让kimi给出了python lxml库的介绍以及使用方法。其中api_key替换成自己申请的密钥

from openai import OpenAI

client = OpenAI(
    api_key="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": "你好,请给出python库lxml的介绍以及详细用法"}
    ],
    temperature=0.3,
)

print(completion.choices[0].message)

返回的结果如下。格式需要另外整理下

ChatCompletionMessage(content="你好!`lxml` 是一个用 Python 编写的库,它提供了一个简单而强大的方式来处理 XML 和 HTML 数据。`lxml` 具有多种功能,包括解析、创建、修改、查询和转换 XML 和 HTML 文档。它支持 XPath 和 XSLT,并且通常被认为是 Python 中处理 XML 数据最快的库之一。\n\n### 特点:\n- 高性能:`lxml` 使用 C 语言编写核心解析器,因此它比纯 Python 解决方案更快。\n- 易用性:`lxml` 提供了一个简洁的 API,使得处理 XML 和 HTML 变得简单。\n- 功能全面:支持 XPath 表达式进行数据查询,XSLT 转换,以及轻松处理命名空间。\n\n### 安装:\n你可以使用 pip 来安装 `lxml` 库。在命令行中运行以下命令:\n\n```bash\npip install lxml\n```\n\n### 基本用法:\n\n#### 解析 XML/HTML:\n```python\nfrom lxml import etree\n\n# 解析字符串\nxml_string = '<root><element>Content</element></root>'\ntree = etree.fromstring(xml_string)\n\n# 解析文件\nwith open('example.xml', 'r') as file:\n    tree = etree.parse(file)\n\n# 遍历 XML 元素\nfor element in tree.iter('element'):\n    print(element.text)\n```\n\n#### 创建 XML:\n```python\n# 创建一个新的 XML 树\nroot = etree.Element('root')\nchild = etree.Element('child')\ntext = etree.SubElement(child, 'text', text='Some content')\n\n# 添加子元素到根元素\nroot.append(child)\n\n# 将 XML 树写入字符串\nxml_string = etree.tostring(root, pretty_print=True)\nprint(xml_string)\n```\n\n#### 使用 XPath 查询:\n```python\n# 假设我们已经解析了一个 XML 文档到 tree 变量\n# 使用 XPath 查询选择所有 <element> 标签\nfor element in tree.xpath('//root/element'):\n    print(element.text)\n\n# 使用 XPath 选择第一个 <element> 标签\nelement = tree.xpath('//root/element[1]')\nprint(element[0].text if element else None)\n```\n\n#### 应用 XSLT 转换:\n```python\nfrom lxml import xslt\n\n# 假设我们有一个 XSLT 文件 transform.xslt\nxslt_string = 'transform.xslt'\n\n# 编译 XSLT\ntransform = xslt.parse(", rolxslt_string)\n\n# 应用 XSLT 转换到 XML 文档\nresult_tree = transform(tree)\nprint(etree.tostring(result_tree, pretty_print=True))\n```\n\n这些是 `lxml` 的一些基本用法。`lxml` 的功能非常强大,可以处理复杂的 XML 和 HTML 数据,包括但不限于数据抓取、数据清洗、模板转换等。如果你需要更详细的文档和高级用法,可以查看 `lxml` 的官方文档。e='assistant', function_call=None, tool_calls=None)

上传文档并解析的方法:

from pathlib import Path
from openai import OpenAI
 
client = OpenAI(
    api_key="MOONSHOT_API_KEY",
    base_url="https://api.moonshot.cn/v1",
)
 
# xlnet.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件,提供 ocr 相关能力
# xlnet.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件,提供 ocr 相关能力
file_object = client.files.create(file=Path("xlnet.pdf"), purpose="file-extract")
 
# 获取结果
# file_content = client.files.retrieve_content(file_id=file_object.id)
# 注意,之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替
# 如果是旧版本,可以用 retrieve_content
file_content = client.files.content(file_id=file_object.id).text
 
# 把它放进请求中
messages=[
    {
        "role": "system",
        "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
    },
    {
        "role": "system",
        "content": file_content,
    },
    {"role": "user", "content": "请简单介绍 xlnet.pdf 讲了啥"},
]
 
# 然后调用 chat-completion, 获取 kimi 的回答
completion = client.chat.completions.create(
  model="moonshot-v1-32k",
  messages=messages,
  temperature=0.3,
)
 
print(completion.choices[0].message)

更多的使用方法参考API文档:

图片

收费限速标准

kimi的收费标准参考下表

图片

限速标准如下

图片

图片

官方的解释:

速率限制通过4种方式衡量:并发、RPM(每分钟请求数)、TPM(每分钟 Token 数)、TPD(每天 Token 数)。速率限制可能会在任何一种选项中达到,取决于哪个先发生。例如,你可能向 ChatCompletions 发送了 20 个请求,每个请求只有 100 个 Token ,那么你就达到了限制(如果你的 RPM 限制是 20),即使你在这些 20 个请求中没有发满 200k 个 Token (假设你的TPM限制是 200k)。

对网关,出于方便考虑,我们会基于请求中的 max_tokens 参数来计算速率限制。这意味着,如果你的请求中包含了 max_tokens 参数,我们会使用这个参数来计算速率限制。如果你的请求中没有包含 max_tokens 参数,我们会使用默认的 max_tokens 参数来计算速率限制。当你发出请求后,我们会基于你请求的 token 数量加上你 max_tokens 参数的数量来判断你是否达到了速率限制。而不考虑实际生成的 token 数量。

而在计费环节中,我们会基于你请求的 token 数量加上实际生成的 token 数量来计算费用。

我刚才的查询消耗695个token,还没到1M的标准

图片

因此还没扣钱

图片

这收费和限速标准还是略贵

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1576931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外包干了6天,技术明显进步

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

PWM 脉宽跟随方案介绍

1. 前言 数字电源产品在使用桥式电路拓扑或是多路交错控制中&#xff0c;有时会需要滞后臂的 PWM 脉宽严格跟随超前臂的 PWM 脉宽&#xff0c;或从路的 PWM 脉宽严格跟随主路的 PWM 脉宽&#xff0c;本文将介绍如何利用高精度定时器实现 PWM 输出脉宽跟随&#xff0c;一种使用…

设计模式浅析(十一) ·状态模式

设计模式浅析(十一) 状态模式 日常叨逼叨 java设计模式浅析&#xff0c;如果觉得对你有帮助&#xff0c;记得一键三连&#xff0c;谢谢各位观众老爷&#x1f601;&#x1f601; 状态模式 概念 状态模式 Java中的状态模式&#xff08;State Pattern&#xff09;是一种行为型…

Web漏洞-文件上传常见验证

后缀名&#xff1a;类型&#xff0c;文件头等 后缀名&#xff1a;黑白名单 文件类型&#xff1a;MIME信息 文件头&#xff1a;内容头信息 常见黑名单&#xff08;明确不允许上传的格式后缀&#xff09;&#xff1a;asp、php、jsp、aspx、cgi、war &#xff08;如果没有完整…

绿联 安装Frpc内网穿透并使用Nginx反向代理

绿联 安装Frpc内网穿透并使用Nginx反向代理 1、前言 服务器官网&#xff1a;雨云 - 新一代云服务提供商 本教程使用Frps与Frpc进行内网穿透&#xff0c;其中Frps需要自购服务器安装&#xff0c;若无法购买服务器则本教程对你无用&#xff1b; 另外还需拥有自己的域名&#xf…

什么是数据库?如何安装SQL Server(超详细版)

文章目录 什么是数据库数据库与数据库管理系统数据库系统之间的区别和联系数据库在生活中的应用 安装SQL Server数据库系统要求 安装步骤(超详细)安装前的准备 安装SSMS 什么是数据库 数据库&#xff0c;顾名思义&#xff0c;是存储数据的“仓库”。它不仅仅是简单的数据存储&…

软件验收流程

验收环节&#xff0c;甲方需要做哪些事情&#xff1f;这些事情的流程是什么&#xff1f;做这些事情能给甲方带来什么好处&#xff1f; 软件验收阶段&#xff0c;甲方要做的事情&#xff1a; 验收环节介绍 1. 开始 目的&#xff1a;启动验收流程&#xff0c;为后续工作做好准…

第九届蓝桥杯大赛个人赛省赛(软件类)真题C 语言 A 组-航班时间

#include<iostream> using namespace std;int getTime(){int h1, h2, m1, m2, s1, s2, d 0;//d一定初始化为0&#xff0c;以正确处理不跨天的情况 scanf("%d:%d:%d %d:%d:%d (%d)", &h1, &m1, &s1, &h2, &m2, &s2, &d);return d …

【随笔】Git 高级篇 -- 相对引用2 HEAD~n(十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

matlab使用教程(37)—求解数值积分(2)

1多项式积分的解析解 本示例显示如何使用 polyint 函数对多项式求解析积分。使用此函数来计算多项式的不定积分。 1.1定义问题 考虑实数不定积分&#xff0c; 其中 k 是积分常量。由于没有指定积分限值&#xff0c; integral 函数族不太适合求解这个问题。 1.2用向量表示多…

量子计算领域迎来了一项令人振奋的突破。

近日&#xff0c;量子计算领域迎来了一项令人振奋的突破。Quantinuum公司与科技巨头Microsoft宣布&#xff0c;双方在容错量子计算方面取得了显著成果。这一成就原本预计需要数年时间才能实现&#xff0c;但两家公司的紧密合作使得这一目标提前达成。 Quantinuum的新一代量子计…

js笔记(学习存档)

JS的调用方式与执行顺序 使用方式 HTML页面中的任意位置加上<script type"module"></script>标签即可。 常见使用方式有以下几种&#xff1a; 直接在<script type"module"></script>标签内写JS代码。直接引入文件&#xff1a;…

2024-4-7 QT day1作业

myWidget.cpp #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口标题this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:\\Users\\张谦\\Desktop\\pictrue\\qq.png"));//设…

V R沉浸式体验的应用|R主题馆加盟|V R游戏体验馆加盟

《探索未知世界&#xff0c;沉浸式VR体验引领未来》 随着科技的飞速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术正逐渐走进人们的生活&#xff0c;并为我们带来前所未有的沉浸式体验。下面让我们一起探索一下&#xff0c;VR沉浸式体验的应用领域和魅力所在。 虚…

安卓开机启动流程

目录 一、整体框架二、流程代码分析2.1 Boot ROM2.2 Boot Loader2.3 Kernel层Kernel代码部分 2.4 Init进程Init进程代码部分 2.5 zygote进程zygote代码部分 2.6 SystemServer进程SystemServer代码部分 2.7 启动Launcher与SystemUI 三、SystemServices3.1 引导服务3.2 核心服务3…

15个最流行的STL模型修复工具

如果你进行 3D 打印&#xff0c;可能遇到过可怕的“无法打印 STL”问题&#xff1a;你的 STL 文件看起来很棒&#xff0c;但它会导致切片机出现问题或导致奇怪的打印错误或完全失败。 无论确切原因是什么&#xff0c;这些问题的根源通常归结为 STL 用于表示 3D 模型的连接三角形…

day 74 js

JS的作用&#xff1a; 修饰 HTML 标签&#xff08;CSS&#xff09;设置 HTML 标签的动作&#xff08;JS&#xff09;JS特点&#xff1a;基于对象的编程语言&#xff0c;通过浏览器解释执行作用&#xff1a;表单验证、改变标签样式、获取和设置标签属性值 1 表单验证: <fo…

Java常用API_正则表达式_字符串的替换和截取方法——小练习

我将通过一个练习题来展示这两个方法 练习题&#xff1a; 有一段字符串&#xff1a;小张qwertyuiop123小李asdfghjkl456小王 要求1&#xff1a;把字符串中三个姓名之间的字母替换成vs 要求2&#xff1a;把字符串中的三个姓名切割出来 编写代码&#xff1a; public class Tes…

MacBook运行缓慢?揭秘一键释放内存的有效秘诀!

当 MacBook 出现运行缓慢的现象&#xff0c;很大程度上可能是由于内存资源耗尽所致。内存&#xff08;RAM&#xff09;作为计算机的核心临时存储区域&#xff0c;负责承载当前活跃的应用程序及其相关数据。一旦内存容量达到饱和&#xff0c;MacBook将不得不依赖交换文件机制&am…

大话设计模式——11.桥接模式(Bridge Pattern)

简介 将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化。 UML图&#xff1a; 应用场景&#xff1a; 系统需要在构建的抽象化角色和具体化角色之间增加更多的灵活性不想使用继承导致系统类的个数急剧增加某个类存在多个变化维度使用继承方式容易出现类的膨胀 示例…