1.前言
Moonshot的文本生成模型(指moonshot-v1)是训练用于理解自然语言和书面语言的,它可以根据输入生成文本输出。对模型的输入也被称为“prompt”。通常我们建议您提供明确的指令以及给出一些范例,来让模型能够完成既定的任务,设计 prompt 本质上就是学会如何“训练”模型。moonshot-v1模型可以用于各种任务,包括内容或代码生成、摘要、对话、创意写作等。Kimi API 兼容了 OpenAI 的接口规范,你可以使用 OpenAI 提供的 Python(opens in a new tab) 或 NodeJS(opens in a new tab) SDK 来调用和使用 Kimi 大模型,这意味着如果你的应用和服务基于 openai 的模型进行开发,那么只需要将 base_url 和 api_key 替换成 Kimi 大模型的配置,即可无缝将你的应用和服务迁移至使用 Kimi 大模型
在学习调用openai的API接口时因为China号码无法申请到openai的key(在网上尝试了很多方法,包括google浏览器无痕或者删除@@token都无法解决),加上平常使用kimi比较多,所以尝试调用kimi的API。
2.获取API
首先登录Moonshot-AI(kimi官方平台),如下图所示,然后注册登录或者扫码登录。
然后可以在API Key管理中申请Key,最多可以保留 5 个 API 密钥,密钥只会在新建后显示一次,请妥善保存。因为key只会显示一次,需要妥善处理。然后即可成功获取Key。当你使用 OpenAI 的接口时,你可以同时设置
temperature=0 和 n>1,即在 temperature 值为 0 的场合,同时返回多个不同的回答(即 choices)。然而在 Kimi API 中,当你将 temperature 的值设置为 0 或接近 0 时(例如 0.001),我们将只能提供 1 个回答(即 len(choices)=1,如果你在把 temperature 设置为 0 的同时,使用了一个大于 1 的 n 值,我们将返回一个“非法请求”错误,即 invalid_request_error。
3.调用KIMI
moonshot-v1-8k: 它是一个长度为 8k 的模型,适用于生成短文本。moonshot-v1-32k: 它是一个长度为 32k 的模型,适用于生成长文本。moonshot-v1-128k: 它是一个长度为 128k 的模型,适用于生成超长文本。
与使用openai的步骤方法一致,您需要首先安装相关的库pip install langchain``pip install langchain[llms],在安装完相关代码块后,可以通过以下代码实现“为花店起名字”功能
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": "请给我写一篇论文有关无障碍设施"}
],
temperature=0.3,
)
print(completion.choices[0].message.content)
base_url是官方提供的api接口,其余方法均可通过kimi官网进行搜索学习。 如果单个请求超过了这个时间,我们会返回一个 504 错误。如果你的请求超过了速率限制,我们会返回一个 429 错误。如果你的请求成功了,我们会返回一个 JSON 格式的响应。