KimiGPT开放平台

KimiGPT开放平台

专用API
【更新时间: 2024.06.03】 Moonshot的文本生成模型(指moonshot-v1)是训练用于理解自然语言和书面语言的,它可以根据输入生成文本输出。moonshot-v1模型可以用于各种任务,包括内容或代码生成、摘要、对话、创意写作等。
1M tokens ¥12.00 (支持套餐) 去服务商官网采购>
服务星级:2星
⭐ ⭐ 🌟 🌟 🌟 🌟 🌟
调用次数
0
集成人数
0
商用人数
0
! SLA: N/A
! 响应: N/A
! 适用于个人&企业
收藏
×
完成
取消
×
书签名称
确定
<
产品介绍
>

什么是KimiGPT开放平台?

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

什么是KimiGPT开放平台接口?

由服务使用方的应用程序发起,以Restful风格为主、通过公网HTTP协议调用KimiGPT开放平台,从而实现程序的自动化交互,提高服务效率。

KimiGPT开放平台有哪些核心功能?

1.语言模型推理服务

语言模型推理服务是一个基于我们 (Moonshot AI) 开发和训练的预训练模型的 API 服务。在设计上,我们对外主要提供了一个 Chat Completions 接口,它可以用于生成文本,但是它本身是不支持访问网络、数据库等外部资源,也不支持执行任何代码。

2.Token

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

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

3.速率限制

这些速率限制是如何工作的?

速率限制通过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 数量来计算费用。

4.模型列表

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

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

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

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

KimiGPT开放平台的核心优势是什么?

  1. 语言理解能力:KimiGPT具备强大的自然语言处理能力,可以理解和生成流畅的中文和英文文本。
  2. 多语言支持:支持中文和英文,能够处理和生成这两种语言的文本。
  3. 安全性:在提供服务的同时,KimiGPT会拒绝回答涉及恐怖主义、种族歧视、黄色暴力等不当内容的问题。
  4. 准确性:KimiGPT致力于提供准确、有帮助的回答,确保信息的可靠性。
  5. 交互性:用户可以与KimiGPT进行互动,提出问题并得到及时的反馈。
  6. 搜索能力:KimiGPT具备搜索能力,可以结合搜索结果为用户提供更全面的回答。
  7. 文件处理:KimiGPT能够处理多种格式的文件,如TXT、PDF、Word文档、PPT幻灯片和Excel电子表格等。
  8. 大容量处理:支持最多20万字的输入和输出,能够处理大量的文本数据。

在哪些场景会用到KimiGPT开放平台接口?

1.内容创作与编辑:在内容创作与编辑中,KimiGPT开放平台-文本生成API可以帮助生成博客文章、广告文案以及社交媒体帖子,极大提高内容生产的效率。

2.客服与用户交互:在客服与用户交互方面,它能用于智能客服和对话机器人,提供自动化的即时回复和互动,提升用户体验。

3.教育与学习:在教育与学习领域,KimiGPT开放平台-文本生成API能够生成考试题目、练习题和个性化学习材料,辅助教师和学生的教学与学习活动。

4.数据分析与报告生成:在数据分析与报告生成中,该API可以生成数据分析报告和市场调研文档,帮助企业快速获取数据洞察和商业决策支持。

<
产品价格
>

<
使用指南
>

获取 API 密钥

你需要一个 API 密钥来使用我们的服务。你可以在我们的控制台中创建一个 API 密钥。

发送请求

你可以使用我们的 Chat Completions API 来发送请求。你需要提供一个 API 密钥和一个模型名称。你可以选择是否使用默认的 max_tokens 参数,或者自定义 max_tokens 参数。可以参考 API 文档中的调用方法。

处理响应

通常的,我们会设置一个 5 分钟的超时时间。如果单个请求超过了这个时间,我们会返回一个 504 错误。如果你的请求超过了速率限制,我们会返回一个 429 错误。如果你的请求成功了,我们会返回一个 JSON 格式的响应。

如果是为了快速处理一些任务,你可以使用我们的 Chat Completions API 的非 streaming 模式。这种模式下,我们会在一次请求中返回所有的生成文本。如果你需要更多的控制,你可以使用 streaming 模式。在这种模式下,我们会返回一个 SSE 流,你可以在这个流中获取生成的文本,这样用户体验可能会更好,并且你也可以在任何时候中断请求,而不会浪费资源。

指南

如何获得更好的输出?

System Prompt最佳实践:system prompt(系统提示)指的是模型在生成文本或响应之前所接收的初始输入或指令,这个提示对于模型的运作至关重要(opens in a new tab)

编写清晰的说明

  • 为什么需要向模型输出清晰的说明?

模型无法读懂你的想法,如果输出内容太长,可要求模型简短回复。如果输出内容太简单,可要求模型进行专家级写作。如果你不喜欢输出的格式,请向模型展示你希望看到的格式。模型越少猜测你的需求,你越有可能得到满意的结果。

在请求中包含更多细节,可以获得更相关的回答

为了获得高度相关的输出,请保证在输入请求中提供所有重要细节和背景。

 

在请求中要求模型扮演一个角色,可以获得更准确的输出

在 API 请求的'messages' 字段中增加指定模型在回复中使用的角色。

{  "message": [    {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,
你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,
黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},  
  {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}  ]}

 

在请求中使用分隔符来明确指出输入的不同部分

例如使用三重引号/XML标签/章节标题等定界符可以帮助区分需要不同处理的文本部分。

{  "messages": [    {"role": "system", "content": "你将收到两篇相同类别的文章,文章用XML标签分割。
首先概括每篇文章的论点,然后指出哪篇文章提出了更好的论点,并解释原因。"},   
 {"role": "user", "content": "<article>在这里插入文章</article><article>在这里插入文章</article>"}  ]}

 

{  "messages": [    {"role": "system", "content": "你将收到一篇论文的摘要和论文的题目。
论文的题目应该让读者对论文主题有清晰的概念,同时也应该引人注目。
如果你收到的标题不符合这些标准,请提出5个可选的替代方案"},  
  {"role": "user", "content": "摘要:在这里插入摘要。\n\n标题:在这里插入标题"}  ]}

 

明确完成任务所需的步骤

任务建议明确一系列步骤。明确写出这些步骤可以使模型更容易遵循并获得更好的输出。

{  "messages": [    {"role": "system", "content": "使用以下步骤来回应用户输入。
\n步骤一:用户将用三重引号提供文本。用前缀“摘要:”将这段文本概括成一句话。
\n步骤二:将第一步的摘要翻译成英语,并加上前缀 "Translation: "。"},  
  {"role": "user", "content": "\"\"\"在此处插入文本\"\"\""}  ]}

 

向模型提供输出示例

向模型提供一般指导的示例描述,通常比展示任务的所有排列让模型的输出更加高效。例如,如果你打算让模型复制一种难以明确描述的风格,来回应用户查询。这被称为“few-shot”提示。

{  "messages": [    {"role": "system", "content": "以一致的风格回答"},   
 {"role": "user", "content": "在此处插入文本"}  ]}

 

指定期望模型输出的长度

你可以要求模型生成特定目标长度的输出。目标输出长度可以用文数、句子数、段落数、项目符号等来指定。但请注意,指示模型生成特定数量的文字并不具有高精度。模型更擅长生成特定数量的段落或项目符号的输出。

{  "messages": [    {"role": "user", "content": "用两句话概括三引号内的文本,50字以内。
\"\"\"在此处插入文本\"\"\""}  ]}

 

提供参考文本

指导模型使用参考文本来回答问题

如果您可以提供一个包含与当前查询相关的可信信息的模型,那么就可以指导模型使用所提供的信息来回答问题

{  "messages": [    {"role": "system", "content": "使用提供的文章(用三引号分隔)回答问题。
如果答案在文章中找不到,请写"我找不到答案。" "},   
 {"role": "user", "content": "<请插入文章,每篇文章用三引号分隔>"}  ]}

 

拆分复杂的任务

通过分类来识别用户查询相关的指令

对于需要大量独立指令集来处理不同情况的任务来说,对查询类型进行分类,并使用该分类来明确需要哪些指令可能会帮助输出。

# 根据客户查询的分类,可以提供一组更具体的指示给模型,以便它处理后续步骤。例如,假设客户需要“故障排除”方面的帮助。
{  "messages": [    {"role": "system", "content": "你将收到需要技术支持的用户服务咨询。
可以通过以下方式帮助用户:\n\n-请他们检查***是否配置完成。\n如果所有***都配置完成,
但问题依然存在,请询问他们使用的设备型号\n-现在你需要告诉他们如何重启设备:\n=设备型号是A,请操作***。
\n-如果设备型号是B,建议他们操作***。"}  ]}

 

对于轮次较长的对话应用程序,总结或过滤之前的对话

由于模型有固定的上下文长度显示,所以用户与模型助手之间的对话不能无限期地继续。

针对这个问题,一种解决方案是总结对话中的前几个回合。一旦输入的大小达到预定的阈值,就会触发一个查询来总结先前的对话部分,先前对话的摘要同样可以作为系统消息的一部分包含在内。或者,整个对话过程中的先前对话可以被异步总结。

分块概括长文档,并递归构建完整摘要

要总结一本书的内容,我们可以使用一系列的查询来总结文档的每个章节。部分摘要可以汇总并总结,产生摘要的摘要。这个过程可以递归进行,直到整本书都被总结完毕。如果需要使用前面的章节来理解后面的部分,那么可以在总结书中给定点的内容时,包括对给定点之前的章节的摘要。

 

 

<
产品问答
>
?
如何充值?
个人用户充值:请先进行个人认证,然后在用户充值页面进行在线充值,在线充值支持微信/支付宝扫码支付两种方式,充值成功后会按照您的累积充值金额进行用户等级调整; 企业用户充值:请先进行企业认证,企业认证通过后,平台会为您提供专属收款账号,请使用与实名认证主体一致的银行账户进行汇款。线下对公汇款预计1-5个工作日到账(具体到账时间以银行的实际到账时间为准),我方银行账户到账后,转账充值金额将在10分钟左右自动转入您的账户,充值成功后会按照您的累积充值金额进行用户等级调整。
?
如何进行个人以及企业认证?
个人:请登录我们的用户中心进行实名认证; 企业:请登录我们的用户中心进行企业认证,请提前准备企业相关信息(企业名称,与企业名称相同的银行账号,统一社会信用代码),平台会向您公司账户打款随机金额,用于验证企业信息。请联系贵公司财务确认并填入收款金额,金额匹配成功后,企业认证通过。
?
如何开发票?
平台支持按消耗金额或充值金额开具发票,请线上发起开票申请发票管理 个人认证可以开具公司抬头发票;企业认证可以开具企业认证主体抬头的发票 开票类型和税点:开票主体为北京月之暗面科技有限公司;信息技术服务类型;6% 含税
?
每次接口调用都需要把对话历史发送是吧?这样的话是不是每次对话需要重复计费?
根据 messages 的长度需要重新计费,用户可以调整每次发送对话历史的长度,只保留最重要的信息。
?
API 文件解析的服务包含 OCR 吗?费用是怎样计算的?
支持对 pdf 和图片文件的 OCR;文件解析服务限时免费,请求高峰期平台可能会有限流策略。
?
是否有支持 Function Calling 的计划?
已经支持,详情请见API 文档。
?
是否开放类似 Kimi 智能助手中的搜索接口?
目前并没有开放搜索的计划,API 用户可以使用例如 Search2ai、Apify、Crawlbase 或者 ArchiveBox 等第三方解决方案。
?
是否支持 LangChain?
支持,用户可以参考这里的代码。
<
关于我们
>
北京月之暗面科技有限公司是一家位于中国北京的高科技企业,专注于提供专业的技术服务和解决方案。公司秉承创新、合作、诚信的核心价值观,致力于通过先进的技术手段,为客户创造更大的价值。月之暗面科技在软件开发、系统集成、人工智能等领域拥有丰富的经验和技术积累,旨在通过不断的技术创新,推动行业的发展,满足客户多样化的需求。
联系信息
服务时间: 00:00:00至24:00:00
邮箱: growth@moonshot.cn
<
最可能同场景使用的其他API
>
API接口列表
<
产品价格
>

<
使用指南
>

获取 API 密钥

你需要一个 API 密钥来使用我们的服务。你可以在我们的控制台中创建一个 API 密钥。

发送请求

你可以使用我们的 Chat Completions API 来发送请求。你需要提供一个 API 密钥和一个模型名称。你可以选择是否使用默认的 max_tokens 参数,或者自定义 max_tokens 参数。可以参考 API 文档中的调用方法。

处理响应

通常的,我们会设置一个 5 分钟的超时时间。如果单个请求超过了这个时间,我们会返回一个 504 错误。如果你的请求超过了速率限制,我们会返回一个 429 错误。如果你的请求成功了,我们会返回一个 JSON 格式的响应。

如果是为了快速处理一些任务,你可以使用我们的 Chat Completions API 的非 streaming 模式。这种模式下,我们会在一次请求中返回所有的生成文本。如果你需要更多的控制,你可以使用 streaming 模式。在这种模式下,我们会返回一个 SSE 流,你可以在这个流中获取生成的文本,这样用户体验可能会更好,并且你也可以在任何时候中断请求,而不会浪费资源。

指南

如何获得更好的输出?

System Prompt最佳实践:system prompt(系统提示)指的是模型在生成文本或响应之前所接收的初始输入或指令,这个提示对于模型的运作至关重要(opens in a new tab)

编写清晰的说明

  • 为什么需要向模型输出清晰的说明?

模型无法读懂你的想法,如果输出内容太长,可要求模型简短回复。如果输出内容太简单,可要求模型进行专家级写作。如果你不喜欢输出的格式,请向模型展示你希望看到的格式。模型越少猜测你的需求,你越有可能得到满意的结果。

在请求中包含更多细节,可以获得更相关的回答

为了获得高度相关的输出,请保证在输入请求中提供所有重要细节和背景。

 

在请求中要求模型扮演一个角色,可以获得更准确的输出

在 API 请求的'messages' 字段中增加指定模型在回复中使用的角色。

{  "message": [    {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,
你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,
黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},  
  {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}  ]}

 

在请求中使用分隔符来明确指出输入的不同部分

例如使用三重引号/XML标签/章节标题等定界符可以帮助区分需要不同处理的文本部分。

{  "messages": [    {"role": "system", "content": "你将收到两篇相同类别的文章,文章用XML标签分割。
首先概括每篇文章的论点,然后指出哪篇文章提出了更好的论点,并解释原因。"},   
 {"role": "user", "content": "<article>在这里插入文章</article><article>在这里插入文章</article>"}  ]}

 

{  "messages": [    {"role": "system", "content": "你将收到一篇论文的摘要和论文的题目。
论文的题目应该让读者对论文主题有清晰的概念,同时也应该引人注目。
如果你收到的标题不符合这些标准,请提出5个可选的替代方案"},  
  {"role": "user", "content": "摘要:在这里插入摘要。\n\n标题:在这里插入标题"}  ]}

 

明确完成任务所需的步骤

任务建议明确一系列步骤。明确写出这些步骤可以使模型更容易遵循并获得更好的输出。

{  "messages": [    {"role": "system", "content": "使用以下步骤来回应用户输入。
\n步骤一:用户将用三重引号提供文本。用前缀“摘要:”将这段文本概括成一句话。
\n步骤二:将第一步的摘要翻译成英语,并加上前缀 "Translation: "。"},  
  {"role": "user", "content": "\"\"\"在此处插入文本\"\"\""}  ]}

 

向模型提供输出示例

向模型提供一般指导的示例描述,通常比展示任务的所有排列让模型的输出更加高效。例如,如果你打算让模型复制一种难以明确描述的风格,来回应用户查询。这被称为“few-shot”提示。

{  "messages": [    {"role": "system", "content": "以一致的风格回答"},   
 {"role": "user", "content": "在此处插入文本"}  ]}

 

指定期望模型输出的长度

你可以要求模型生成特定目标长度的输出。目标输出长度可以用文数、句子数、段落数、项目符号等来指定。但请注意,指示模型生成特定数量的文字并不具有高精度。模型更擅长生成特定数量的段落或项目符号的输出。

{  "messages": [    {"role": "user", "content": "用两句话概括三引号内的文本,50字以内。
\"\"\"在此处插入文本\"\"\""}  ]}

 

提供参考文本

指导模型使用参考文本来回答问题

如果您可以提供一个包含与当前查询相关的可信信息的模型,那么就可以指导模型使用所提供的信息来回答问题

{  "messages": [    {"role": "system", "content": "使用提供的文章(用三引号分隔)回答问题。
如果答案在文章中找不到,请写"我找不到答案。" "},   
 {"role": "user", "content": "<请插入文章,每篇文章用三引号分隔>"}  ]}

 

拆分复杂的任务

通过分类来识别用户查询相关的指令

对于需要大量独立指令集来处理不同情况的任务来说,对查询类型进行分类,并使用该分类来明确需要哪些指令可能会帮助输出。

# 根据客户查询的分类,可以提供一组更具体的指示给模型,以便它处理后续步骤。例如,假设客户需要“故障排除”方面的帮助。
{  "messages": [    {"role": "system", "content": "你将收到需要技术支持的用户服务咨询。
可以通过以下方式帮助用户:\n\n-请他们检查***是否配置完成。\n如果所有***都配置完成,
但问题依然存在,请询问他们使用的设备型号\n-现在你需要告诉他们如何重启设备:\n=设备型号是A,请操作***。
\n-如果设备型号是B,建议他们操作***。"}  ]}

 

对于轮次较长的对话应用程序,总结或过滤之前的对话

由于模型有固定的上下文长度显示,所以用户与模型助手之间的对话不能无限期地继续。

针对这个问题,一种解决方案是总结对话中的前几个回合。一旦输入的大小达到预定的阈值,就会触发一个查询来总结先前的对话部分,先前对话的摘要同样可以作为系统消息的一部分包含在内。或者,整个对话过程中的先前对话可以被异步总结。

分块概括长文档,并递归构建完整摘要

要总结一本书的内容,我们可以使用一系列的查询来总结文档的每个章节。部分摘要可以汇总并总结,产生摘要的摘要。这个过程可以递归进行,直到整本书都被总结完毕。如果需要使用前面的章节来理解后面的部分,那么可以在总结书中给定点的内容时,包括对给定点之前的章节的摘要。

 

 

<
依赖服务
>
<
产品问答
>
?
如何充值?
个人用户充值:请先进行个人认证,然后在用户充值页面进行在线充值,在线充值支持微信/支付宝扫码支付两种方式,充值成功后会按照您的累积充值金额进行用户等级调整; 企业用户充值:请先进行企业认证,企业认证通过后,平台会为您提供专属收款账号,请使用与实名认证主体一致的银行账户进行汇款。线下对公汇款预计1-5个工作日到账(具体到账时间以银行的实际到账时间为准),我方银行账户到账后,转账充值金额将在10分钟左右自动转入您的账户,充值成功后会按照您的累积充值金额进行用户等级调整。
?
如何进行个人以及企业认证?
个人:请登录我们的用户中心进行实名认证; 企业:请登录我们的用户中心进行企业认证,请提前准备企业相关信息(企业名称,与企业名称相同的银行账号,统一社会信用代码),平台会向您公司账户打款随机金额,用于验证企业信息。请联系贵公司财务确认并填入收款金额,金额匹配成功后,企业认证通过。
?
如何开发票?
平台支持按消耗金额或充值金额开具发票,请线上发起开票申请发票管理 个人认证可以开具公司抬头发票;企业认证可以开具企业认证主体抬头的发票 开票类型和税点:开票主体为北京月之暗面科技有限公司;信息技术服务类型;6% 含税
?
每次接口调用都需要把对话历史发送是吧?这样的话是不是每次对话需要重复计费?
根据 messages 的长度需要重新计费,用户可以调整每次发送对话历史的长度,只保留最重要的信息。
?
API 文件解析的服务包含 OCR 吗?费用是怎样计算的?
支持对 pdf 和图片文件的 OCR;文件解析服务限时免费,请求高峰期平台可能会有限流策略。
?
是否有支持 Function Calling 的计划?
已经支持,详情请见API 文档。
?
是否开放类似 Kimi 智能助手中的搜索接口?
目前并没有开放搜索的计划,API 用户可以使用例如 Search2ai、Apify、Crawlbase 或者 ArchiveBox 等第三方解决方案。
?
是否支持 LangChain?
支持,用户可以参考这里的代码。
<
关于我们
>
北京月之暗面科技有限公司是一家位于中国北京的高科技企业,专注于提供专业的技术服务和解决方案。公司秉承创新、合作、诚信的核心价值观,致力于通过先进的技术手段,为客户创造更大的价值。月之暗面科技在软件开发、系统集成、人工智能等领域拥有丰富的经验和技术积累,旨在通过不断的技术创新,推动行业的发展,满足客户多样化的需求。
联系信息
服务时间: 00:00:00至24:00:00
邮箱: growth@moonshot.cn
<
最可能同场景使用的其他API
>