{ "model": "moonshot-v1", "messages": [ { "role": "system", "content": "你是 Moonshot API 助手,请根据文档内容回答用户的提问,回复时不要用 markdown 语法。" }, { "role": "user", "content": "{\"type\":\"file\",\"document_number\":1,\"file_type\":\"md\",\"file_name\":\"api-reference.md\",\"content\":\"## 基本信息\\n\\n### 公开的服务地址\\n\\n```\\nhttps://api.moonshot.cn\\n```\\n\\nMoonshot 提供基于 HTTP 的 API 服务接入。对 Chat API,我们兼容了 OpenAI 的相关 API 的输入和输出。\\n\\n## 快速开始\\n\\n### Python 调用方法\\n\\n对 python 用户,可以简单复用 openai 的 sdk。\\n\\n```bash\\npip install --upgrade 'openai>=1.0'\\n```\\n\\n> 您需要确保使用的 python 版本至少为 3.7.1, openai 的 sdk 版本不低于 1.0.0\\n>\\n> 我们可以这样简单检验下自己库的版本:\\n>\\n> ```bash\\n> python -c 'import openai; print(\\\"version =\\\",openai.__version__)'\\n> # 输出可能是 version = 1.10.0,表示当前 python 实际使用了 openai 的 v1.10.0 的库\\n> ```\\n\\n一个简单的例子如下:\\n\\n```python\\nfrom openai import OpenAI\\n\\nclient = OpenAI(\\n api_key=\\\"MOONSHOT_API_KEY\\\",\\n base_url=\\\"https://api.moonshot.cn/v1\\\",\\n)\\n\\ncompletion = client.chat.completions.create(\\n model=\\\"moonshot-v1-8k\\\",\\n messages=[\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\"}\\n ],\\n temperature=0.3,\\n)\\n\\nprint(completion.choices[0].message)\\n```\\n\\n其中 MOONSHOT_API_KEY 需要替换为您在平台上创建的 API Key。\\n\\n上面的代码中语言模型将用户信息列表作为输入,并将模型生成的信息作为输出返回。\\n下面是一组简单的实现多轮对话的例子:\\n\\n```python\\nfrom openai import OpenAI\\n\\nclient = OpenAI(\\n api_key=\\\"MOONSHOT_API_KEY\\\",\\n base_url=\\\"https://api.moonshot.cn/v1\\\",\\n)\\n\\nhistory = [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"}\\n]\\n\\ndef chat(query, history):\\n history += [{\\n \\\"role\\\": \\\"user\\\", \\n \\\"content\\\": query\\n }]\\n completion = client.chat.completions.create(\\n model=\\\"moonshot-v1-8k\\\",\\n messages=history,\\n temperature=0.3,\\n )\\n result = completion.choices[0].message.content\\n history += [{\\n \\\"role\\\": \\\"assistant\\\",\\n \\\"content\\\": result\\n }]\\n return result\\n\\nprint(chat(\\\"地球的自转周期是多少?\\\", history))\\nprint(chat(\\\"月球呢?\\\", history))\\n```\\n\\n值得注意的是,随着对话的进行,模型每次需要传入的 token 都会线性增加,必要时,需要一些策略进行优化,例如只保留最近几轮对话。\\n\\n### CURL 调用方法\\n\\n同样的,我们也可以基于 curl 直接调用,实现一致的效果。\\n\\n```bash\\ncurl https://api.moonshot.cn/v1/chat/completions -H \\\"Content-Type: application/json\\\" -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\" -d '{\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\"}\\n ],\\n \\\"temperature\\\": 0.3\\n }'\\n```\\n\\n其中 `$MOONSHOT_API_KEY` 部分需要替换为您自己的 API Key。或者在调用前给它设置好环境变量。\\n\\n## API 说明\\n\\n### Chat Completion\\n\\n#### 请求地址\\n\\n```\\nPOST https://api.moonshot.cn/v1/chat/completions\\n```\\n\\n#### 请求内容\\n\\n##### 示例\\n\\n```json\\n{\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"\\n },\\n { \\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\" }\\n ],\\n \\\"temperature\\\": 0.3\\n}\\n```\\n\\n##### 字段说明\\n\\n| 字段 | 是否必须 | 说明 | 类型 | 取值 |\\n| ----------- | ---- | ------------------------------------------------------------------------------------------------------------------------ | ---------- | ------------------------------------------------------------------------------------- |\\n| messages | required | 包含迄今为止对话的消息列表 | List[Dict] | 这是一个结构体的列表,每个元素类似如下:`{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好\\\"}` role 只支持 `system`,`user`,`assistant` 其一,content 不得为空 |\\n| model | required | Model ID, 可以通过 List Models 获取 | string | 目前是 `moonshot-v1-8k`,`moonshot-v1-32k`,`moonshot-v1-128k` 其一 |\\n| max_tokens | optional | 聊天完成时生成的最大 token 数。如果到生成了最大 token 数个结果仍然没有结束,finish reason 会是 \\\"length\\\", 否则会是 \\\"stop\\\" | int | 这个值建议按需给个合理的值,如果不给的话,我们会给一个不错的整数比如 1024。**特别要注意的是**,这个 `max_tokens` 是指您期待我们**返回**的 token 长度,而不是输入 + 输出的总长度。比如对一个 `moonshot-v1-8k` 模型,它的最大输入 + 输出总长度是 8192,当输入 messages 总长度为 4096 的时候,您最多只能设置为 4096,否则我们服务会返回不合法的输入参数( invalid_request_error ),并拒绝回答。如果您希望获得“输入的精确 token 数”,可以使用下面的“计算 Token” API 使用我们的计算器获得计数 |\\n| temperature | optional | 使用什么采样温度,介于 0 和 1 之间。较高的值(如 0.7)将使输出更加随机,而较低的值(如 0.2)将使其更加集中和确定性 | float | 如果设置,值域须为 `[0, 1]` 我们推荐 0.3,以达到较合适的效果 |\\n| top_p | optional | 另一种采样方法,即模型考虑概率质量为 top_p 的标记的结果。因此,0.1 意味着只考虑概率质量最高的 10% 的标记。一般情况下,我们建议改变这一点或温度,但不建议 同时改变 | float | 默认 1.0 |\\n| n | optional | 为每条输入消息生成多少个结果 | int | 默认为 1,不得大于 5。特别的,当 temperature 非常小靠近 0 的时候,我们只能返回 1 个结果,如果这个时候 n 已经设置并且 > 1,我们的服务会返回不合法的输入参数(invalid_request_error) |\\n| presence_penalty | optional | 存在惩罚,介于-2.0到2.0之间的数字。正值会根据新生成的词汇是否出现在文本中来进行惩罚,增加模型讨论新话题的可能性 | float | 默认为 0 |\\n| frequency_penalty | optional | 频率惩罚,介于-2.0到2.0之间的数字。正值会根据新生成的词汇在文本中现有的频率来进行惩罚,减少模型一字不差重复同样话语的可能性 | float | 默认为 0 |\\n| stop | optional | 停止词,当全匹配这个(组)词后会停止输出,这个(组)词本身不会输出。最多不能超过 5 个字符串,每个字符串不得超过 32 字节 | String, List[String] | 默认 null |\\n| stream | optional | 是否流式返回 | bool | 默认 false, 可选 true |\\n\\n#### 返回内容\\n\\n对非 stream 格式的,返回类似如下:\\n\\n```json\\n{\\n \\\"id\\\": \\\"cmpl-04ea926191a14749b7f2c7a48a68abc6\\\",\\n \\\"object\\\": \\\"chat.completion\\\",\\n \\\"created\\\": 1698999496,\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"choices\\\": [\\n {\\n \\\"index\\\": 0,\\n \\\"message\\\": {\\n \\\"role\\\": \\\"assistant\\\",\\n \\\"content\\\": \\\" 你好,李雷!1+1等于2。如果你有其他问题,请随时提问!\\\"\\n },\\n \\\"finish_reason\\\": \\\"stop\\\"\\n }\\n ],\\n \\\"usage\\\": {\\n \\\"prompt_tokens\\\": 19,\\n \\\"completion_tokens\\\": 21,\\n \\\"total_tokens\\\": 40\\n }\\n}\\n```\\n\\n对 stream 格式的,返回类似如下:\\n\\n```json\\ndata: {\\\"id\\\":\\\"cmpl-1305b94c570f447fbde3180560736287\\\",\\\"object\\\":\\\"chat.completion.chunk\\\",\\\"created\\\":1698999575,\\\"model\\\":\\\"moonshot-v1-8k\\\",\\\"choices\\\":[{\\\"index\\\":0,\\\"delta\\\":{\\\"role\\\":\\\"assistant\\\",\\\"content\\\":\\\"\\\"},\\\"finish_reason\\\":null}]}\\n\\ndata: {\\\"id\\\":\\\"cmpl-1305b94c570f447fbde3180560736287\\\",\\\"object\\\":\\\"chat.completion.chunk\\\",\\\"created\\\":1698999575,\\\"model\\\":\\\"moonshot-v1-8k\\\",\\\"choices\\\":[{\\\"index\\\":0,\\\"delta\\\":{\\\"content\\\":\\\"你好\\\"},\\\"finish_reason\\\":null}]}\\n\\n...\\n\\ndata: {\\\"id\\\":\\\"cmpl-1305b94c570f447fbde3180560736287\\\",\\\"object\\\":\\\"chat.completion.chunk\\\",\\\"created\\\":1698999575,\\\"model\\\":\\\"moonshot-v1-8k\\\",\\\"choices\\\":[{\\\"index\\\":0,\\\"delta\\\":{\\\"content\\\":\\\"。\\\"},\\\"finish_reason\\\":null}]}\\n\\ndata: {\\\"id\\\":\\\"cmpl-1305b94c570f447fbde3180560736287\\\",\\\"object\\\":\\\"chat.completion.chunk\\\",\\\"created\\\":1698999575,\\\"model\\\":\\\"moonshot-v1-8k\\\",\\\"choices\\\":[{\\\"index\\\":0,\\\"delta\\\":{},\\\"finish_reason\\\":\\\"stop\\\",\\\"usage\\\":{\\\"prompt_tokens\\\":19,\\\"completion_tokens\\\":13,\\\"total_tokens\\\":32}}]}\\n\\ndata: [DONE]\\n```\\n\\n#### 调用示例\\n\\n##### Python 流式调用\\n\\n对简单调用,见前面。对流式调用,可以参考如下代码片段:\\n\\n```python\\nimport os\\nfrom openai import OpenAI\\n\\nclient = OpenAI(\\n api_key=\\\"MOONSHOT_API_KEY\\\",\\n base_url=\\\"https://api.moonshot.cn/v1\\\",\\n)\\n\\nresponse = client.chat.completions.create(\\n model=\\\"moonshot-v1-8k\\\",\\n messages=[\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\",\\n },\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\"},\\n ],\\n temperature=0.3,\\n stream=True,\\n)\\n\\ncollected_messages = []\\nfor idx, chunk in enumerate(response):\\n # print(\\\"Chunk received, value: \\\", chunk)\\n chunk_message = chunk.choices[0].delta\\n if not chunk_message.content:\\n continue\\n collected_messages.append(chunk_message) # save the message\\n print(f\\\"#{idx}: {''.join([m.content for m in collected_messages])}\\\")\\nprint(f\\\"Full conversation received: {''.join([m.content for m in collected_messages])}\\\")\\n```\\n\\n### Tool Use\\n\\n学会使用工具是智能的一个重要特征,在 Kimi 大模型中同样如此。你可以在 Messages 中描述工具,并让 Kimi 大模型智能地选择输出一个包含参数的 JSON 对象,以调用一个或多个工具。\\n\\n下面是一个简单的工具调用的例子:\\n\\n```python\\n{\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"3214567是素数吗?\\\"\\n }\\n ],\\n \\\"tools\\\": [\\n {\\n \\\"type\\\": \\\"function\\\",\\n \\\"function\\\": {\\n \\\"name\\\": \\\"CodeRunner\\\",\\n \\\"description\\\": \\\"代码执行器,支持运行 python 和 javascript 代码\\\",\\n \\\"parameters\\\": {\\n \\\"properties\\\": {\\n \\\"language\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"python or javascript\\\"\\n },\\n \\\"code\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"代码写在这里\\\"\\n }\\n },\\n \\\"type\\\": \\\"object\\\"\\n }\\n }\\n }\\n ]\\n}\\n```\\n\\n![上面例子的示意图](./tooluse_whiteboard_example.png)\\n\\n你也可以使用一些 Agent 平台例如 [Dify](https://github.com/langgenius/dify/) 和 [Coze](https://coze.cn/) 等来创建和管理这些工具,并配合 Kimi 大模型设计更加复杂的工作流。\\n\\n### List Models\\n\\n#### 请求地址\\n\\n```\\nGET https://api.moonshot.cn/v1/models\\n```\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\nimport os\\nfrom openai import OpenAI\\n\\nclient = OpenAI(\\n api_key=\\\"MOONSHOT_API_KEY\\\",\\n base_url=\\\"https://api.moonshot.cn/v1\\\",\\n)\\n\\nmodel_list = client.models.list()\\nmodel_data = model_list.data\\n\\nfor i, model in enumerate(model_data):\\n print(f\\\"model[{i}]:\\\", model.id)\\n```\\n\\n##### CURL 调用\\n\\n```bash\\ncurl https://api.moonshot.cn/v1/models -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\"\\n```\\n\\n### 文件内容抽取\\n\\n> 该功能可以实现让模型获取文件中的信息作为上下文。本功能需要配合文件上传等功能共同使用。\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\nfrom pathlib import Path\\nfrom openai import OpenAI\\n\\nclient = OpenAI(\\n api_key=\\\"MOONSHOT_API_KEY\\\",\\n base_url=\\\"https://api.moonshot.cn/v1\\\",\\n)\\n\\n# xlnet.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件,提供 ocr 相关能力\\n# xlnet.pdf 是一个示例文件, 我们支持 pdf, doc 以及图片等格式, 对于图片和 pdf 文件,提供 ocr 相关能力\\nfile_object = client.files.create(file=Path(\\\"xlnet.pdf\\\"), purpose=\\\"file-extract\\\")\\n\\n# 获取结果\\n# file_content = client.files.retrieve_content(file_id=file_object.id)\\n# 注意,之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替\\n# 如果是旧版本,可以用 retrieve_content\\nfile_content = client.files.content(file_id=file_object.id).text\\n\\n# 把它放进请求中\\nmessages=[\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\",\\n },\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": file_content,\\n },\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"请简单介绍 xlnet.pdf 讲了啥\\\"},\\n]\\n\\n# 然后调用 chat-completion, 获取 kimi 的回答\\ncompletion = client.chat.completions.create(\\n model=\\\"moonshot-v1-32k\\\",\\n messages=messages,\\n temperature=0.3,\\n)\\n\\nprint(completion.choices[0].message)\\n```\\n##### CURL 调用\\n\\n```\\n# xlnet.pdf 是一个示例文件\\n\\ncurl https://api.moonshot.cn/v1/files -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\" -F purpose=\\\"file-extract\\\" -F file=\\\"@xlnet.pdf\\\"\\n\\n```\\n其中 $MOONSHOT_API_KEY 部分需要替换为您自己的 API Key。或者在调用前给它设置好环境变量。\\n\\n\\n### 列出文件\\n\\n> 本功能用于列举出用户已上传的所有文件。\\n\\n#### 请求地址\\n\\n```\\nGET https://api.moonshot.cn/v1/files\\n```\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\nfile_list = client.files.list()\\n\\nfor file in file_list.data:\\n print(file) # 查看每个文件的信息\\n```\\n\\n### 上传文件\\n\\n> 注意,单个用户最多只能上传 1000 个文件,单文件不超过 100MB,同时所有已上传的文件总和不超过 10G 容量。如果您要抽取更多文件,需要先删除一部分不再需要的文件。\\n\\n#### 请求地址\\n\\n```\\nPOST https://api.moonshot.cn/v1/files\\n```\\n\\n文件上传成功后,我们会开始抽取文件信息。\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\n# file 可以是多种类型\\n# purpose 目前只支持 \\\"file-extract\\\"\\nfile_object = client.files.create(file=Path(\\\"xlnet.pdf\\\"), purpose=\\\"file-extract\\\")\\n```\\n\\n### 删除文件\\n\\n> 本功能可以用于删除不再需要使用的文件。\\n\\n#### 请求地址\\n\\n```\\nDELETE https://api.moonshot.cn/v1/files/{file_id}\\n```\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\nclient.files.delete(file_id=file_id)\\n```\\n\\n### 获取文件信息\\n\\n> 本功能用于获取指定文件的文件基础信息。\\n\\n#### 请求地址\\n\\n```\\nGET https://api.moonshot.cn/v1/files/{file_id}\\n```\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\nclient.files.retrieve(file_id=file_id)\\n# FileObject(\\n# id='clg681objj8g9m7n4je0',\\n# bytes=761790,\\n# created_at=1700815879,\\n# filename='xlnet.pdf',\\n# object='file',\\n# purpose='file-extract',\\n# status='ok', status_details='') # status 如果为 error 则抽取失败\\n```\\n\\n### 获取文件内容\\n\\n> 本功能支持获取指定文件的文件抽取结果。通常的,它是一个合法的 JSON 格式的 string,并且对齐了我们的推荐格式。\\n> 如需抽取多个文件,您可以在某个 message 中用换行符 \\n 隔开,拼接为一个大字符串,role 设置为 system 的方式加入历史记录。\\n\\n#### 请求地址\\n\\n```\\nGET https://api.moonshot.cn/v1/files/{file_id}/content\\n```\\n\\n#### 调用示例\\n\\n##### Python 调用\\n\\n```python\\n# file_content = client.files.retrieve_content(file_id=file_object.id)\\n# type of file_content is `str`\\n# 注意,之前 retrieve_content api 在最新版本标记了 warning, 可以用下面这行代替\\n# 如果是旧版本,可以用 retrieve_content\\nfile_content = client.files.content(file_id=file_object.id).text\\n# 我们的输出结果目前是一个内部约定好格式的 json, 但是在 message 中应该以 text 格式放进去\\n```\\n\\n##### CURL 调用\\n\\n```\\ncurl https://api.moonshot.cn/v1/files/c{file_id}/content -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\"\\n\\n```\\n\\n### 计算 Token\\n\\n#### 请求地址\\n\\n```\\nPOST https://api.moonshot.cn/v1/tokenizers/estimate-token-count\\n```\\n\\n#### 请求内容\\n\\nestimate-token-count 的输入结构体和 chat completion 基本一致。\\n\\n##### 示例\\n\\n```json\\n{\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"\\n },\\n { \\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\" }\\n ]\\n}\\n```\\n\\n##### 字段说明\\n\\n| 字段 | 说明 | 类型 | 取值 |\\n| -------- | ----------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\\n| messages | 包含迄今为止对话的消息列表。 | List[Dict] | 这是一个结构体的列表,每个元素类似如下:`json{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好\\\"}` role 只支持 `system`,`user`,`assistant` 其一,content 不得为空 |\\n| model | Model ID, 可以通过 List Models 获取 | string | 目前是 `moonshot-v1-8k`,`moonshot-v1-32k`,`moonshot-v1-128k` 其一 |\\n\\n#### 调用示例\\n\\n```bash\\ncurl 'https://api.moonshot.cn/v1/tokenizers/estimate-token-count' -H \\\"Content-Type: application/json\\\" -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\" -d '{\\n \\\"model\\\": \\\"moonshot-v1-8k\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"\\n },\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\"\\n }\\n ]\\n}'\\n```\\n\\n#### 返回内容\\n\\n```json\\n{\\n \\\"data\\\": {\\n \\\"total_tokens\\\": 80\\n }\\n}\\n```\\n\\n当没有 error 字段,可以取 data.total_tokens 作为计算结果\\n\\n\\n### 查询余额\\n\\n#### 请求地址\\n\\n```\\nGET https://api.moonshot.cn/v1/users/me/balance\\n```\\n\\n#### 调用示例\\n\\n```bash\\ncurl https://api.moonshot.cn/v1/users/me/balance -H \\\"Authorization: Bearer $MOONSHOT_API_KEY\\\"\\n```\\n\\n#### 返回内容\\n\\n```json\\n{\\n \\\"code\\\": 0,\\n \\\"data\\\": {\\n \\\"available_balance\\\": 49.58894,\\n \\\"voucher_balance\\\": 46.58893,\\n \\\"cash_balance\\\": 3.00001\\n },\\n \\\"scode\\\": \\\"0x0\\\",\\n \\\"status\\\": true\\n}\\n```\\n\\n#### 返回内容说明\\n\\n| 字段 | 说明 | 类型 | 单位 |\\n|-------------------|--------------------------------------------------------------------|-------|---------------------|\\n| available_balance | 可用余额,包括现金余额和代金券余额, 当它小于等于 0 时, 用户不可调用推理 API | float | 人民币元(CNY) |\\n| voucher_balance | 代金券余额, 不会为负数 | float | 人民币元(CNY) |\\n| cash_balance | 现金余额, 可能为负数, 代表用户欠费, 当它为负数时, `available_balance` 为 `voucher_balance` 的值 | float | 人民币元(CNY) |\\n\\n### 其它语言示例\\n\\n几乎所有的编程语言都可以兼容上面的接口,可以参考[我们的开源仓库](https://github.com/MoonshotAI/MoonshotAI-Cookbook/)中提供的范例工程,例如:\\n\\n- [Java SDK](https://github.com/MoonshotAI/MoonshotAI-Cookbook/tree/master/examples/java_sdk)\\n- [Golang](https://github.com/MoonshotAI/MoonshotAI-Cookbook/tree/master/examples/golang_demo)\\n\\n\\n### 错误说明\\n\\n下面是主要的几个错误\\n\\n| HTTP Status Code | error message | 详细描述 |\\n| ---------------------------- | ---------------- |--------------------------------------------------------------------------------------------------------------------------------------------- |\\n| 400 invalid_request_error | Invalid request: \\\\{error_details\\\\} | 请求无效,通常是您请求格式错误或者缺少必要参数,请检查后重试 |\\n| 400 invalid_request_error | Input token length too long | 请求中的 tokens 长度过长,请求不要超过模型 tokens 的最长限制|\\n| 400 invalid_request_error | Your request exceeded model token limit : \\\\{max_model_length\\\\} | 请求的 tokens 数和设置的 max_tokens 加和超过了模型规格长度,请检查请求体的规格或选择合适长度的模型|\\n| 400 invalid_request_error | Invalid purpose: only 'file-extract' accepted | 请求中的目的(purpose)不正确,当前只接受 'file-extract',请修改后重新请求|\\n| 400 invalid_request_error | File size is too large, max file size is 100MB, please confirm and re-upload the file | 上传的文件大小超过了限制,请重新上传|\\n| 400 invalid_request_error | File size is zero, please confirm and re-upload the file | 上传的文件大小为 0,请重新上传|\\n| 400 invalid_request_error | The number of files you have uploaded exceeded the max file count \\\\{max_file_count\\\\}, please delete previous uploaded files | 上传的文件总数超限,请删除不用的早期的文件后重新上传|\\n| 401 invalid_authentication_error | Invalid Authentication | 鉴权失败,请检查 apikey 是否正确,请修改后重试|\\n| 401 invalid_authentication_error | Incorrect API key provided | 鉴权失败,请检查 apikey 是否提供以及 apikey 是否正确,请修改后重试|\\n| 403 exceeded_current_quota_error | Your account \\\\{uid\\\\}\\\\<\\\\{ak-id\\\\}\\\\> is not active, current state: \\\\{current state\\\\}, you may consider to check your account balance | 账户异常,请检查您的账户余额|\\n| 403 permission_denied_error | The API you are accessing is not open | 访问的 API 暂未开放|\\n| 403 permission_denied_error | You are not allowed to get other user info | 访问其他用户信息的行为不被允许,请检查|\\n| 404 resource_not_found_error | Not found the model or Permission denied | 不存在此模型或者没有授权访问此模型,请检查后重试|\\n| 404 resource_not_found_error | Users \\\\{user_id\\\\} not found | 找不到该用户,请检查后重试|\\n| 429 engine_overloaded_error | The engine is currently overloaded, please try again later | 当前并发请求过多,节点限流中,请稍后重试;建议充值升级 tier,享受更丝滑的体验|\\n| 429 exceeded_current_quota_error | You exceeded your current token quota: \\\\{token_credit\\\\}, please check your account balance | 账户额度不足,请检查账户余额,保证账户余额可匹配您 tokens 的消耗费用后重试|\\n| 429 rate_limit_reached_error | Your account \\\\{uid\\\\}\\\\<\\\\{ak-id\\\\}\\\\> request reached max concurrency: \\\\{Concurrency\\\\}, please try again after \\\\{time\\\\} seconds | 请求触发了账户并发个数的限制,请等待指定时间后重试|\\n| 429 rate_limit_reached_error | Your account \\\\{uid\\\\}\\\\<\\\\{ak-id\\\\}\\\\> request reached max requset: \\\\{RPM\\\\}, please try again after \\\\{time\\\\} seconds | 请求触发了账户 RPM 速率限制,请等待指定时间后重试|\\n| 429 rate_limit_reached_error | Your account \\\\{uid\\\\}\\\\<\\\\{ak-id\\\\}\\\\> request reached TPM rate limit, current:\\\\{current_tpm\\\\}, limit:\\\\{max_tpm\\\\} | 请求触发了账户 TPM 速率限制,请等待指定时间后重试|\\n| 429 rate_limit_reached_error | Your account \\\\{uid\\\\}\\\\<\\\\{ak-id\\\\}\\\\> request reached TPD rate limit,current:\\\\{current_tpd\\\\}, limit:\\\\{max_tpd\\\\} | 请求触发了账户 TPD 速率限制,请等待指定时间后重试|\\n| 500 server_error | Failed to extract file: \\\\{error\\\\}| 解析文件失败,请重试|\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"}", "name": "_resource" }, { "role": "user", "content": "{\"type\":\"file\",\"document_number\":1,\"file_type\":\"md\",\"file_name\":\"intro.md\",\"content\":\"## 主要概念\\n\\n### 文本生成模型\\nMoonshot的文本生成模型(指moonshot-v1)是训练用于理解自然语言和书面语言的,它可以根据输入生成文本输出。对模型的输入也被称为“prompt”。通常我们建议您提供明确的指令以及给出一些范例,来让模型能够完成既定的任务,设计 prompt 本质上就是学会如何“训练”模型。moonshot-v1模型可以用于各种任务,包括内容或代码生成、摘要、对话、创意写作等。\\n\\n### 语言模型推理服务\\n\\n语言模型推理服务是一个基于我们 (Moonshot AI) 开发和训练的预训练模型的 API 服务。在设计上,我们对外主要提供了一个 Chat Completions 接口,它可以用于生成文本,但是它本身是不支持访问网络、数据库等外部资源,也不支持执行任何代码。\\n\\n### Token\\n\\n文本生成模型以 Token 为基本单位来处理文本。Token 代表常见的字符序列。例如,单个汉字\\\"夔\\\"可能会被分解为若干 Token 的组合,而像\\\"中国\\\"这样短且常见的短语则可能会使用单个 Token 。大致来说,对于一段通常的中文文本,1 个 Token 大约相当于 1.5-2 个汉字。\\n\\n需要注意的是,对于我们的文本模型,Input 和 Output 的总和长度不能超过模型的最大上下文长度。\\n\\n### 速率限制\\n\\n这些速率限制是如何工作的?\\n\\n速率限制通过4种方式衡量:并发、RPM(每分钟请求数)、TPM(每分钟 Token 数)、TPD(每天 Token 数)。速率限制可能会在任何一种选项中达到,取决于哪个先发生。例如,你可能向 ChatCompletions 发送了 20 个请求,每个请求只有 100 个 Token ,那么你就达到了限制(如果你的 RPM 限制是 20),即使你在这些 20 个请求中没有发满 200k 个 Token (假设你的TPM限制是 200k)。\\n\\n对网关,出于方便考虑,我们会基于请求中的 max_tokens 参数来计算速率限制。这意味着,如果你的请求中包含了 max_tokens 参数,我们会使用这个参数来计算速率限制。如果你的请求中没有包含 max_tokens 参数,我们会使用默认的 max_tokens 参数来计算速率限制。当你发出请求后,我们会基于你请求的 token 数量加上你 max_tokens 参数的数量来判断你是否达到了速率限制。而不考虑实际生成的 token 数量。\\n\\n而在计费环节中,我们会基于你请求的 token 数量加上实际生成的 token 数量来计算费用。\\n\\n#### 其他值得注意的重要事项:\\n\\n+ 速率限制是在用户级别而非密钥级别上实施的。\\n+ 目前我们在所有模型中共享速率限制。\\n\\n## 模型列表\\n\\n你可以使用我们的 [List Models API](/docs/api-reference#list-models) 来获取当前可用的模型列表。\\n\\n当前的,我们支持的模型有:\\n\\n+ `moonshot-v1-8k`: 它是一个长度为 8k 的模型,适用于生成短文本。\\n+ `moonshot-v1-32k`: 它是一个长度为 32k 的模型,适用于生成长文本。\\n+ `moonshot-v1-128k`: 它是一个长度为 128k 的模型,适用于生成超长文本。\\n\\n以上模型的区别在于它们的最大上下文长度,这个长度包括了输入消息和生成的输出,在效果上并没有什么区别。这个主要是为了方便用户选择合适的模型。\\n\\n## 使用指南\\n\\n### 获取 API 密钥\\n\\n你需要一个 API 密钥来使用我们的服务。你可以在我们的[控制台](/console)中创建一个 API 密钥。\\n\\n### 发送请求\\n\\n你可以使用我们的 Chat Completions API 来发送请求。你需要提供一个 API 密钥和一个模型名称。你可以选择是否使用默认的 max_tokens 参数,或者自定义 max_tokens 参数。可以参考 [API 文档](/docs/api-reference#python-调用方法)中的调用方法。\\n\\n### 处理响应\\n\\n通常的,我们会设置一个 5 分钟的超时时间。如果单个请求超过了这个时间,我们会返回一个 504 错误。如果你的请求超过了速率限制,我们会返回一个 429 错误。如果你的请求成功了,我们会返回一个 JSON 格式的响应。\\n\\n如果是为了快速处理一些任务,你可以使用我们的 Chat Completions API 的非 streaming 模式。这种模式下,我们会在一次请求中返回所有的生成文本。如果你需要更多的控制,你可以使用 streaming 模式。在这种模式下,我们会返回一个 SSE 流,你可以在这个流中获取生成的文本,这样用户体验可能会更好,并且你也可以在任何时候中断请求,而不会浪费资源。\\n\\n\\n## 常见问题\\n\\n**如何充值?**\\n\\n* 个人用户充值:请先进行个人认证,然后在用户充值页面进行在线充值,在线充值支持微信/支付宝扫码支付两种方式,充值成功后会按照您的累积充值金额进行用户等级调整;\\n* 企业用户充值:请先进行企业认证,企业认证通过后,平台会为您提供专属收款账号,请使用与实名认证主体一致的银行账户进行汇款。线下对公汇款预计1-5个工作日到账(具体到账时间以银行的实际到账时间为准),我方银行账户到账后,转账充值金额将在10分钟左右自动转入您的账户,充值成功后会按照您的累积充值金额进行用户等级调整。\\n\\n**如何进行个人以及企业认证?**\\n\\n* 个人:请登录我们的[用户中心](https://platform.moonshot.cn/console/auth)进行实名认证;\\n* 企业:请登录我们的[用户中心](https://platform.moonshot.cn/console/auth)进行企业认证,请提前准备企业相关信息(企业名称,与企业名称相同的银行账号,统一社会信用代码),平台会向您公司账户打款随机金额,用于验证企业信息。请联系贵公司财务确认并填入收款金额,金额匹配成功后,企业认证通过。\\n\\n**如何开发票?**\\n\\n* 平台目前仅支持按消耗金额开具发票,发票抬头需和您实名认证信息一致,开发票请添加[企业微信](https://work.weixin.qq.com/kfid/kfcf9008f73e3e7e737),客服会帮助您开票。\\n\\n**每次接口调用都需要把对话历史发送是吧?这样的话是不是每次对话需要重复计费?**\\n\\n* 根据 messages 的长度需要重新计费,用户可以调整每次发送对话历史的长度,只保留最重要的信息。\\n\\n**API 文件解析的服务包含 OCR 吗?费用是怎样计算的?**\\n\\n* 支持对 pdf 和图片文件的 OCR;文件解析服务免费。\\n\\n**是否有支持 Function Calling 的计划?**\\n\\n* 在规划中,发布时间请留意我们公众号的更新。\\n\\n**是否开放类似 Kimi 智能助手中的搜索接口?**\\n\\n* 目前并没有开放搜索的计划,API 用户可以使用例如 [Apify](https://apify.com/)、[Crawlbase](https://zh-cn.crawlbase.com/enterprise) 或者 [ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) 等第三方解决方案。\\n\\n**是否支持 LangChain?**\\n\\n* 是的,用户可以参考[这里的代码](https://github.com/MoonshotAI/MoonshotAI-Cookbook/blob/master/examples/langchain/main.py)。\\n\\n## 指南\\n### 如何获得更好的输出?\\n> System Prompt最佳实践\\n#### 编写清晰的说明\\n* 为什么需要向模型输出清晰的说明?\\n\\n> 模型无法读懂你的想法,如果输出内容太长,可要求模型简短回复。如果输出内容太简单,可要求模型进行专家级写作。如果你不喜欢输出的格式,请向模型展示你希望看到的格式。模型越少猜测你的需求,你越有可能得到满意的结果。\\n##### 在请求中包含更多细节,可以获得更相关的回答\\n\\n> 为了获得高度相关的输出,请保证在输入请求中提供所有重要细节和背景。\\n\\n| 一般的请求 | 更好的请求 | \\n|-------------------|-------------|\\n|如何在Excel中增加数字?|我如何在Excel表对一行数字求和?我想自动为整张表的每一行进行求和,并将所有总计放在名为\\\"总数\\\"的最右列中。|\\n|工作汇报总结|将2023年工作记录总结为500字以内的段落。以序列形式列出每个月的工作亮点,并做出2023年全年工作总结。|\\n\\n##### 在请求中要求模型扮演一个角色,可以获得更准确的输出\\n> 在 API 请求的'messages' 字段中增加指定模型在回复中使用的角色。\\n\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"你好,我叫李雷,1+1等于多少?\\\"}\\n ]\\n}\\n```\\n\\n##### 在请求中使用分隔符来明确指出输入的不同部分\\n> 例如使用三重引号/XML标签/章节标题等定界符可以帮助区分需要不同处理的文本部分。\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你将收到两篇相同类别的文章,文章用XML标签分割。首先概括每篇文章的论点,然后指出哪篇文章提出了更好的论点,并解释原因。\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"
在这里插入文章
在这里插入文章
\\\"}\\n ]\\n}\\n```\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你将收到一篇论文的摘要和论文的题目。论文的题目应该让读者对论文主题有清晰的概念,同时也应该引人注目。如果你收到的标题不符合这些标准,请提出5个可选的替代方案\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"摘要:在这里插入摘要。\\n\\n标题:在这里插入标题\\\"}\\n ]\\n}\\n```\\n\\n##### 明确完成任务所需的步骤\\n> 任务建议明确一系列步骤。明确写出这些步骤可以使模型更容易遵循并获得更好的输出。\\n\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"使用以下步骤来回应用户输入。\\n步骤一:用户将用三重引号提供文本。用前缀“摘要:”将这段文本概括成一句话。\\n步骤二:将第一步的摘要翻译成英语,并加上前缀 \\\"Translation: \\\"。\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"\\\"\\\"\\\"在此处插入文本\\\"\\\"\\\"\\\"}\\n ]\\n}\\n```\\n##### 向模型提供输出示例\\n> 向模型提供一般指导的示例描述,通常比展示任务的所有排列让模型的输出更加高效。例如,如果你打算让模型复制一种难以明确描述的风格,来回应用户查询。这被称为“few-shot”提示。\\n\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"以一致的风格回答\\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"在此处插入文本\\\"}\\n ]\\n}\\n```\\n##### 指定期望模型输出的长度\\n> 你可以要求模型生成特定目标长度的输出。目标输出长度可以用文数、句子数、段落数、项目符号等来指定。但请注意,指示模型生成特定数量的文字并不具有高精度。模型更擅长生成特定数量的段落或项目符号的输出。\\n\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"用两句话概括三引号内的文本,50字以内。\\\"\\\"\\\"在此处插入文本\\\"\\\"\\\"\\\"}\\n ]\\n}\\n```\\n#### 提供参考文本\\n##### 指导模型使用参考文本来回答问题\\n> 如果您可以提供一个包含与当前查询相关的可信信息的模型,那么就可以指导模型使用所提供的信息来回答问题\\n\\n```json\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"使用提供的文章(用三引号分隔)回答问题。如果答案在文章中找不到,请写\\\"我找不到答案。\\\" \\\"},\\n {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"<请插入文章,每篇文章用三引号分隔>\\\"}\\n ]\\n}\\n```\\n#### 拆分复杂的任务\\n##### 通过分类来识别用户查询相关的指令\\n> 对于需要大量独立指令集来处理不同情况的任务来说,对查询类型进行分类,并使用该分类来明确需要哪些指令可能会帮助输出。\\n\\n```json\\n# 根据客户查询的分类,可以提供一组更具体的指示给模型,以便它处理后续步骤。例如,假设客户需要“故障排除”方面的帮助。\\n{\\n \\\"messages\\\": [\\n {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"你将收到需要技术支持的用户服务咨询。可以通过以下方式帮助用户:\\n\\n-请他们检查***是否配置完成。\\n如果所有***都配置完成,但问题依然存在,请询问他们使用的设备型号\\n-现在你需要告诉他们如何重启设备:\\n=设备型号是A,请操作***。\\n-如果设备型号是B,建议他们操作***。\\\"}\\n ]\\n}\\n```\\n\\n##### 对于轮次较长的对话应用程序,总结或过滤之前的对话\\n> 由于模型有固定的上下文长度显示,所以用户与模型助手之间的对话不能无限期地继续。\\n\\n针对这个问题,一种解决方案是总结对话中的前几个回合。一旦输入的大小达到预定的阈值,就会触发一个查询来总结先前的对话部分,先前对话的摘要同样可以作为系统消息的一部分包含在内。或者,整个对话过程中的先前对话可以被异步总结。\\n\\n##### 分块概括长文档,并递归构建完整摘要\\n> 要总结一本书的内容,我们可以使用一系列的查询来总结文档的每个章节。部分摘要可以汇总并总结,产生摘要的摘要。这个过程可以递归进行,直到整本书都被总结完毕。如果需要使用前面的章节来理解后面的部分,那么可以在总结书中给定点的内容时,包括对给定点之前的章节的摘要。\\n\"}", "name": "_resource" }, { "role": "user", "content": "{\"type\":\"file\",\"document_number\":1,\"file_type\":\"md\",\"file_name\":\"pricing.md\",\"content\":\"## 价格说明\\n\\n### 计费基本概念\\n#### 计费单元\\nToken:代表常见的字符序列,每个汉字使用的 Token 数目可能是不同的。例如,单个汉字\\\"夔\\\"可能会被分解为若干 Token 的组合,而像\\\"中国\\\"这样短且常见的短语则可能会使用单个 Token。\\n\\n大致来说,对于一段通常的中文文本,1 个 Token 大约相当于 1.5-2 个汉字。具体每次调用实际产生的 Tokens 数量可以通过调用[计算Token API](/docs/api-reference#%E8%AE%A1%E7%AE%97-token) 来获得。\\n\\n#### 计费逻辑\\n我们对 Input 和 Output 均实行按量计费。如果您上传并抽取文档内容,并将抽取的文档内容作为 Input 传输给模型,那么文档内容也将按量计费。\\n\\n但如果您只上传并抽取文档,这个API本身不会产生费用。\\n\\n#### 为什么要做限速?\\n速率限制是API接口的常见做法,主要有以下几个考量:\\n+ 有助于防止滥用或误用API。例如,恶意行为者可能会通过大量请求来淹没API,试图使其过载或导致服务中断。通过设置速率限制,我们可以防范这样的行为。\\n+ 速率限制有助于确保每个人都能公平地访问API。如果一个人或组织发出过多的请求,可能会拖慢所有人的API。通过限制单个用户可以发出的请求数量,那么尽可能多的人有机会使用API而不会遇到速度减慢的问题。\\n+ 速率限制可以帮助我们管理集群总负载。如果对API的请求急剧增加,可能会给服务器带来压力并导致性能问题。通过设置速率限制将可以帮助为所有用户维护一个平稳且一致的体验。\\n\\n### 产品定价\\n\\n#### 文本生成模型 Moonshot-v1\\n\\n| 模型 | 计费单位 | 价格 |\\n|-------------------|-------------|---------|\\n| moonshot-v1-8k | 1M tokens | ¥12.00 |\\n| moonshot-v1-32k | 1M tokens | ¥24.00 |\\n| moonshot-v1-128k | 1M tokens | ¥60.00 |\\n\\n此处 1M = 1,000,000\\n\\n以上模型的区别在于它们的最大上下文长度,这个长度包括了输入消息和生成的输出,在效果上并没有什么区别。\\n\\n### 充值与限速\\n为了整体资源分配的公平性,同时防止恶意攻击,我们目前将基于账户的累计充值金额进行速率限制,具体如下表,如有更高需求请联系人工客服:\\n\\n| 用户等级 | 累计充值金额 | 并发 | RPM | TPM | TPD |\\n|-------|-----|--------|---------|--------|--------|\\n| Free | ¥ 0 | 1 | 3 | 32,000 | 1,500,000 |\\n| Tier1 | ¥ 50 | 50 | 200 | 128,000 | 10,000,000 |\\n| Tier2 | ¥ 100 | 100 | 500 | 128,000 | 20,000,000 |\\n| Tier3 | ¥ 500 | 200 | 5,000 | 384,000 | Unlimited |\\n| Tier4 | ¥ 5,000 | 400 | 5,000 | 768,000 | Unlimited |\\n| Tier5 | ¥ 20,000 | 1,000 | 10,000 | 2,000,000 | Unlimited |\\n\\n#### 限速概念解释\\n\\n+ 并发: 同一时间内我们最多处理的来自您的请求数\\n\\n+ RPM: request per minute 指一分钟内您最多向我们发起的请求数\\n\\n+ TPM: token per minute 指一分钟内您最多和我们交互的token数\\n\\n+ TPD: token per day 指一天内您最多和我们交互的token数\\n\\n其他细节请参考[速率限制](/docs/intro#速率限制)一节。\\n\\n#### 特别说明\\n+ 我们将全力保障用户的正常使用,但当集群负载达到容量上限时,我们可能会采取临时的限流措施,对各类限速进行调整。\\n+ 代金券不计入累计充值总额\\n\"}", "name": "_resource" } ], "name": "kimi_api", "ttl": 3600 }