![]() |
KimiGPT大模型API
專用API
【更新時間: 2024.06.03】
kimi 是企業品牌及智能助手的名字,kimi的大模型是叫 Moonshot 。Moonshot 的文本生成模型(指moonshot-v1)是訓練用于理解自然語言和書面語言的,它可以根據輸入生成文本輸出。moons...
|
瀏覽次數
901
采購人數
41
試用次數
8
試用
收藏
×
完成
取消
×
書簽名稱
確定
|
- API詳情
- 定價
- 使用指南
- 常見 FAQ
- 關于我們
- 相關推薦


什么是KimiGPT大模型API?
在使用moonshot-v1模型時,可以通過提供與kimi人工智能Api相關的prompt來指導模型生成特定類型的輸出。例如,如果您需要模型幫助您生成一個與"kimi人工智能Api"相關的代碼示例,您可以在prompt中明確指出。
kimi人工智能Api能夠處理多種復雜的查詢和任務,包括但不限于數據分析、自然語言處理和機器學習。為了充分利用"kimi人工智能Api"的功能,建議用戶在prompt中詳細描述他們的需求和期望的結果。
此外,當您想要模型提供關于kimi人工智能Api的更多信息或者使用建議時,確保在prompt中包含清晰的指令和相關的上下文信息。這樣可以幫助模型更準確地理解您的意圖,并生成符合您需求的輸出。
什么是KimiGPT大模型API接口?
KimiGPT大模型API有哪些核心功能?
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大模型API的核心優勢是什么?
在哪些場景會用到KimiGPT大模型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,建議他們操作***。"} ]}
對于輪次較長的對話應用程序,總結或過濾之前的對話
由于模型有固定的上下文長度顯示,所以用戶與模型助手之間的對話不能無限期地繼續。
針對這個問題,一種解決方案是總結對話中的前幾個回合。一旦輸入的大小達到預定的閾值,就會觸發一個查詢來總結先前的對話部分,先前對話的摘要同樣可以作為系統消息的一部分包含在內。或者,整個對話過程中的先前對話可以被異步總結。
分塊概括長文檔,并遞歸構建完整摘要
要總結一本書的內容,我們可以使用一系列的查詢來總結文檔的每個章節。部分摘要可以匯總并總結,產生摘要的摘要。這個過程可以遞歸進行,直到整本書都被總結完畢。如果需要使用前面的章節來理解后面的部分,那么可以在總結書中給定點的內容時,包括對給定點之前的章節的摘要。








獲取 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,建議他們操作***。"} ]}
對于輪次較長的對話應用程序,總結或過濾之前的對話
由于模型有固定的上下文長度顯示,所以用戶與模型助手之間的對話不能無限期地繼續。
針對這個問題,一種解決方案是總結對話中的前幾個回合。一旦輸入的大小達到預定的閾值,就會觸發一個查詢來總結先前的對話部分,先前對話的摘要同樣可以作為系統消息的一部分包含在內。或者,整個對話過程中的先前對話可以被異步總結。
分塊概括長文檔,并遞歸構建完整摘要
要總結一本書的內容,我們可以使用一系列的查詢來總結文檔的每個章節。部分摘要可以匯總并總結,產生摘要的摘要。這個過程可以遞歸進行,直到整本書都被總結完畢。如果需要使用前面的章節來理解后面的部分,那么可以在總結書中給定點的內容時,包括對給定點之前的章節的摘要。





