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


什么是KimiGPT大模型API?
在使用moonshot-v1模型時,可以通過提供與kimi人工智能Api相關(guān)的prompt來指導(dǎo)模型生成特定類型的輸出。例如,如果您需要模型幫助您生成一個與"kimi人工智能Api"相關(guān)的代碼示例,您可以在prompt中明確指出。
kimi人工智能Api能夠處理多種復(fù)雜的查詢和任務(wù),包括但不限于數(shù)據(jù)分析、自然語言處理和機(jī)器學(xué)習(xí)。為了充分利用"kimi人工智能Api"的功能,建議用戶在prompt中詳細(xì)描述他們的需求和期望的結(jié)果。
此外,當(dāng)您想要模型提供關(guān)于kimi人工智能Api的更多信息或者使用建議時,確保在prompt中包含清晰的指令和相關(guān)的上下文信息。這樣可以幫助模型更準(zhǔn)確地理解您的意圖,并生成符合您需求的輸出。
什么是KimiGPT大模型API接口?
KimiGPT大模型API有哪些核心功能?
1.語言模型推理服務(wù)
語言模型推理服務(wù)是一個基于我們 (Moonshot AI) 開發(fā)和訓(xùn)練的預(yù)訓(xùn)練模型的 API 服務(wù)。在設(shè)計上,我們對外主要提供了一個 Chat Completions 接口,它可以用于生成文本,但是它本身是不支持訪問網(wǎng)絡(luò)、數(shù)據(jù)庫等外部資源,也不支持執(zhí)行任何代碼。
2.Token
文本生成模型以 Token 為基本單位來處理文本。Token 代表常見的字符序列。例如,單個漢字"夔"可能會被分解為若干 Token 的組合,而像"中國"這樣短且常見的短語則可能會使用單個 Token。大致來說,對于一段通常的中文文本,1 個 Token 大約相當(dāng)于 1.5-2 個漢字。
需要注意的是,對于我們的文本模型,Input 和 Output 的總和長度不能超過模型的最大上下文長度。
3.速率限制
這些速率限制是如何工作的?
速率限制通過4種方式衡量:并發(fā)、RPM(每分鐘請求數(shù))、TPM(每分鐘 Token 數(shù))、TPD(每天 Token 數(shù))。速率限制可能會在任何一種選項(xiàng)中達(dá)到,取決于哪個先發(fā)生。例如,你可能向 ChatCompletions 發(fā)送了 20 個請求,每個請求只有 100 個 Token ,那么你就達(dá)到了限制(如果你的 RPM 限制是 20),即使你在這些 20 個請求中沒有發(fā)滿 200k 個 Token (假設(shè)你的TPM限制是 200k)。
對網(wǎng)關(guān),出于方便考慮,我們會基于請求中的 max_tokens 參數(shù)來計算速率限制。這意味著,如果你的請求中包含了 max_tokens 參數(shù),我們會使用這個參數(shù)來計算速率限制。如果你的請求中沒有包含 max_tokens 參數(shù),我們會使用默認(rèn)的 max_tokens 參數(shù)來計算速率限制。當(dāng)你發(fā)出請求后,我們會基于你請求的 token 數(shù)量加上你 max_tokens 參數(shù)的數(shù)量來判斷你是否達(dá)到了速率限制。而不考慮實(shí)際生成的 token 數(shù)量。
而在計費(fèi)環(huán)節(jié)中,我們會基于你請求的 token 數(shù)量加上實(shí)際生成的 token 數(shù)量來計算費(fèi)用。
4.模型列表
你可以使用我們的 List Models API 來獲取當(dāng)前可用的模型列表。
當(dāng)前的,我們支持的模型有:
- moonshot-v1-8k: 它是一個長度為 8k 的模型,適用于生成短文本。
- moonshot-v1-32k: 它是一個長度為 32k 的模型,適用于生成長文本。
- moonshot-v1-128k: 它是一個長度為 128k 的模型,適用于生成超長文本。
以上模型的區(qū)別在于它們的最大上下文長度,這個長度包括了輸入消息和生成的輸出,在效果上并沒有什么區(qū)別。這個主要是為了方便用戶選擇合適的模型。
KimiGPT大模型API的核心優(yōu)勢是什么?
在哪些場景會用到KimiGPT大模型API?




獲取 API 密鑰
你需要一個 API 密鑰來使用我們的服務(wù)。你可以在我們的控制臺中創(chuàng)建一個 API 密鑰。
發(fā)送請求
你可以使用我們的 Chat Completions API 來發(fā)送請求。你需要提供一個 API 密鑰和一個模型名稱。你可以選擇是否使用默認(rèn)的 max_tokens 參數(shù),或者自定義 max_tokens 參數(shù)。可以參考 API 文檔中的調(diào)用方法。
處理響應(yīng)
通常的,我們會設(shè)置一個 5 分鐘的超時時間。如果單個請求超過了這個時間,我們會返回一個 504 錯誤。如果你的請求超過了速率限制,我們會返回一個 429 錯誤。如果你的請求成功了,我們會返回一個 JSON 格式的響應(yīng)。
如果是為了快速處理一些任務(wù),你可以使用我們的 Chat Completions API 的非 streaming 模式。這種模式下,我們會在一次請求中返回所有的生成文本。如果你需要更多的控制,你可以使用 streaming 模式。在這種模式下,我們會返回一個 SSE 流,你可以在這個流中獲取生成的文本,這樣用戶體驗(yàn)可能會更好,并且你也可以在任何時候中斷請求,而不會浪費(fèi)資源。
指南
如何獲得更好的輸出?
System Prompt最佳實(shí)踐:system prompt(系統(tǒng)提示)指的是模型在生成文本或響應(yīng)之前所接收的初始輸入或指令,這個提示對于模型的運(yùn)作至關(guān)重要(opens in a new tab)
編寫清晰的說明
- 為什么需要向模型輸出清晰的說明?
模型無法讀懂你的想法,如果輸出內(nèi)容太長,可要求模型簡短回復(fù)。如果輸出內(nèi)容太簡單,可要求模型進(jìn)行專家級寫作。如果你不喜歡輸出的格式,請向模型展示你希望看到的格式。模型越少猜測你的需求,你越有可能得到滿意的結(jié)果。
在請求中包含更多細(xì)節(jié),可以獲得更相關(guān)的回答
為了獲得高度相關(guān)的輸出,請保證在輸入請求中提供所有重要細(xì)節(jié)和背景。
在請求中要求模型扮演一個角色,可以獲得更準(zhǔn)確的輸出
在 API 請求的'messages' 字段中增加指定模型在回復(fù)中使用的角色。
{ "message": [ {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,
你更擅長中文和英文的對話。你會為用戶提供安全,有幫助,準(zhǔn)確的回答。同時,你會拒絕一切涉及恐怖主義,種族歧視,
黃色暴力等問題的回答。Moonshot AI 為專有名詞,不可翻譯成其他語言。"},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"} ]}
在請求中使用分隔符來明確指出輸入的不同部分
例如使用三重引號/XML標(biāo)簽/章節(jié)標(biāo)題等定界符可以幫助區(qū)分需要不同處理的文本部分。
{ "messages": [ {"role": "system", "content": "你將收到兩篇相同類別的文章,文章用XML標(biāo)簽分割。
首先概括每篇文章的論點(diǎn),然后指出哪篇文章提出了更好的論點(diǎn),并解釋原因。"},
{"role": "user", "content": "<article>在這里插入文章</article><article>在這里插入文章</article>"} ]}
{ "messages": [ {"role": "system", "content": "你將收到一篇論文的摘要和論文的題目。
論文的題目應(yīng)該讓讀者對論文主題有清晰的概念,同時也應(yīng)該引人注目。
如果你收到的標(biāo)題不符合這些標(biāo)準(zhǔn),請?zhí)岢?個可選的替代方案"},
{"role": "user", "content": "摘要:在這里插入摘要。\n\n標(biāo)題:在這里插入標(biāo)題"} ]}
明確完成任務(wù)所需的步驟
任務(wù)建議明確一系列步驟。明確寫出這些步驟可以使模型更容易遵循并獲得更好的輸出。
{ "messages": [ {"role": "system", "content": "使用以下步驟來回應(yīng)用戶輸入。
\n步驟一:用戶將用三重引號提供文本。用前綴“摘要:”將這段文本概括成一句話。
\n步驟二:將第一步的摘要翻譯成英語,并加上前綴 "Translation: "。"},
{"role": "user", "content": "\"\"\"在此處插入文本\"\"\""} ]}
向模型提供輸出示例
向模型提供一般指導(dǎo)的示例描述,通常比展示任務(wù)的所有排列讓模型的輸出更加高效。例如,如果你打算讓模型復(fù)制一種難以明確描述的風(fēng)格,來回應(yīng)用戶查詢。這被稱為“few-shot”提示。
{ "messages": [ {"role": "system", "content": "以一致的風(fēng)格回答"},
{"role": "user", "content": "在此處插入文本"} ]}
指定期望模型輸出的長度
你可以要求模型生成特定目標(biāo)長度的輸出。目標(biāo)輸出長度可以用文數(shù)、句子數(shù)、段落數(shù)、項(xiàng)目符號等來指定。但請注意,指示模型生成特定數(shù)量的文字并不具有高精度。模型更擅長生成特定數(shù)量的段落或項(xiàng)目符號的輸出。
{ "messages": [ {"role": "user", "content": "用兩句話概括三引號內(nèi)的文本,50字以內(nèi)。
\"\"\"在此處插入文本\"\"\""} ]}
提供參考文本
指導(dǎo)模型使用參考文本來回答問題
如果您可以提供一個包含與當(dāng)前查詢相關(guān)的可信信息的模型,那么就可以指導(dǎo)模型使用所提供的信息來回答問題
{ "messages": [ {"role": "system", "content": "使用提供的文章(用三引號分隔)回答問題。
如果答案在文章中找不到,請寫"我找不到答案。" "},
{"role": "user", "content": "<請插入文章,每篇文章用三引號分隔>"} ]}
拆分復(fù)雜的任務(wù)
通過分類來識別用戶查詢相關(guān)的指令
對于需要大量獨(dú)立指令集來處理不同情況的任務(wù)來說,對查詢類型進(jìn)行分類,并使用該分類來明確需要哪些指令可能會幫助輸出。
# 根據(jù)客戶查詢的分類,可以提供一組更具體的指示給模型,以便它處理后續(xù)步驟。例如,假設(shè)客戶需要“故障排除”方面的幫助。
{ "messages": [ {"role": "system", "content": "你將收到需要技術(shù)支持的用戶服務(wù)咨詢。
可以通過以下方式幫助用戶:\n\n-請他們檢查***是否配置完成。\n如果所有***都配置完成,
但問題依然存在,請詢問他們使用的設(shè)備型號\n-現(xiàn)在你需要告訴他們?nèi)绾沃貑⒃O(shè)備:\n=設(shè)備型號是A,請操作***。
\n-如果設(shè)備型號是B,建議他們操作***。"} ]}
對于輪次較長的對話應(yīng)用程序,總結(jié)或過濾之前的對話
由于模型有固定的上下文長度顯示,所以用戶與模型助手之間的對話不能無限期地繼續(xù)。
針對這個問題,一種解決方案是總結(jié)對話中的前幾個回合。一旦輸入的大小達(dá)到預(yù)定的閾值,就會觸發(fā)一個查詢來總結(jié)先前的對話部分,先前對話的摘要同樣可以作為系統(tǒng)消息的一部分包含在內(nèi)?;蛘?,整個對話過程中的先前對話可以被異步總結(jié)。
分塊概括長文檔,并遞歸構(gòu)建完整摘要
要總結(jié)一本書的內(nèi)容,我們可以使用一系列的查詢來總結(jié)文檔的每個章節(jié)。部分摘要可以匯總并總結(jié),產(chǎn)生摘要的摘要。這個過程可以遞歸進(jìn)行,直到整本書都被總結(jié)完畢。如果需要使用前面的章節(jié)來理解后面的部分,那么可以在總結(jié)書中給定點(diǎn)的內(nèi)容時,包括對給定點(diǎn)之前的章節(jié)的摘要。








獲取 API 密鑰
你需要一個 API 密鑰來使用我們的服務(wù)。你可以在我們的控制臺中創(chuàng)建一個 API 密鑰。
發(fā)送請求
你可以使用我們的 Chat Completions API 來發(fā)送請求。你需要提供一個 API 密鑰和一個模型名稱。你可以選擇是否使用默認(rèn)的 max_tokens 參數(shù),或者自定義 max_tokens 參數(shù)??梢詤⒖?nbsp;API 文檔中的調(diào)用方法。
處理響應(yīng)
通常的,我們會設(shè)置一個 5 分鐘的超時時間。如果單個請求超過了這個時間,我們會返回一個 504 錯誤。如果你的請求超過了速率限制,我們會返回一個 429 錯誤。如果你的請求成功了,我們會返回一個 JSON 格式的響應(yīng)。
如果是為了快速處理一些任務(wù),你可以使用我們的 Chat Completions API 的非 streaming 模式。這種模式下,我們會在一次請求中返回所有的生成文本。如果你需要更多的控制,你可以使用 streaming 模式。在這種模式下,我們會返回一個 SSE 流,你可以在這個流中獲取生成的文本,這樣用戶體驗(yàn)可能會更好,并且你也可以在任何時候中斷請求,而不會浪費(fèi)資源。
指南
如何獲得更好的輸出?
System Prompt最佳實(shí)踐:system prompt(系統(tǒng)提示)指的是模型在生成文本或響應(yīng)之前所接收的初始輸入或指令,這個提示對于模型的運(yùn)作至關(guān)重要(opens in a new tab)
編寫清晰的說明
- 為什么需要向模型輸出清晰的說明?
模型無法讀懂你的想法,如果輸出內(nèi)容太長,可要求模型簡短回復(fù)。如果輸出內(nèi)容太簡單,可要求模型進(jìn)行專家級寫作。如果你不喜歡輸出的格式,請向模型展示你希望看到的格式。模型越少猜測你的需求,你越有可能得到滿意的結(jié)果。
在請求中包含更多細(xì)節(jié),可以獲得更相關(guān)的回答
為了獲得高度相關(guān)的輸出,請保證在輸入請求中提供所有重要細(xì)節(jié)和背景。
在請求中要求模型扮演一個角色,可以獲得更準(zhǔn)確的輸出
在 API 請求的'messages' 字段中增加指定模型在回復(fù)中使用的角色。
{ "message": [ {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,
你更擅長中文和英文的對話。你會為用戶提供安全,有幫助,準(zhǔn)確的回答。同時,你會拒絕一切涉及恐怖主義,種族歧視,
黃色暴力等問題的回答。Moonshot AI 為專有名詞,不可翻譯成其他語言。"},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"} ]}
在請求中使用分隔符來明確指出輸入的不同部分
例如使用三重引號/XML標(biāo)簽/章節(jié)標(biāo)題等定界符可以幫助區(qū)分需要不同處理的文本部分。
{ "messages": [ {"role": "system", "content": "你將收到兩篇相同類別的文章,文章用XML標(biāo)簽分割。
首先概括每篇文章的論點(diǎn),然后指出哪篇文章提出了更好的論點(diǎn),并解釋原因。"},
{"role": "user", "content": "<article>在這里插入文章</article><article>在這里插入文章</article>"} ]}
{ "messages": [ {"role": "system", "content": "你將收到一篇論文的摘要和論文的題目。
論文的題目應(yīng)該讓讀者對論文主題有清晰的概念,同時也應(yīng)該引人注目。
如果你收到的標(biāo)題不符合這些標(biāo)準(zhǔn),請?zhí)岢?個可選的替代方案"},
{"role": "user", "content": "摘要:在這里插入摘要。\n\n標(biāo)題:在這里插入標(biāo)題"} ]}
明確完成任務(wù)所需的步驟
任務(wù)建議明確一系列步驟。明確寫出這些步驟可以使模型更容易遵循并獲得更好的輸出。
{ "messages": [ {"role": "system", "content": "使用以下步驟來回應(yīng)用戶輸入。
\n步驟一:用戶將用三重引號提供文本。用前綴“摘要:”將這段文本概括成一句話。
\n步驟二:將第一步的摘要翻譯成英語,并加上前綴 "Translation: "。"},
{"role": "user", "content": "\"\"\"在此處插入文本\"\"\""} ]}
向模型提供輸出示例
向模型提供一般指導(dǎo)的示例描述,通常比展示任務(wù)的所有排列讓模型的輸出更加高效。例如,如果你打算讓模型復(fù)制一種難以明確描述的風(fēng)格,來回應(yīng)用戶查詢。這被稱為“few-shot”提示。
{ "messages": [ {"role": "system", "content": "以一致的風(fēng)格回答"},
{"role": "user", "content": "在此處插入文本"} ]}
指定期望模型輸出的長度
你可以要求模型生成特定目標(biāo)長度的輸出。目標(biāo)輸出長度可以用文數(shù)、句子數(shù)、段落數(shù)、項(xiàng)目符號等來指定。但請注意,指示模型生成特定數(shù)量的文字并不具有高精度。模型更擅長生成特定數(shù)量的段落或項(xiàng)目符號的輸出。
{ "messages": [ {"role": "user", "content": "用兩句話概括三引號內(nèi)的文本,50字以內(nèi)。
\"\"\"在此處插入文本\"\"\""} ]}
提供參考文本
指導(dǎo)模型使用參考文本來回答問題
如果您可以提供一個包含與當(dāng)前查詢相關(guān)的可信信息的模型,那么就可以指導(dǎo)模型使用所提供的信息來回答問題
{ "messages": [ {"role": "system", "content": "使用提供的文章(用三引號分隔)回答問題。
如果答案在文章中找不到,請寫"我找不到答案。" "},
{"role": "user", "content": "<請插入文章,每篇文章用三引號分隔>"} ]}
拆分復(fù)雜的任務(wù)
通過分類來識別用戶查詢相關(guān)的指令
對于需要大量獨(dú)立指令集來處理不同情況的任務(wù)來說,對查詢類型進(jìn)行分類,并使用該分類來明確需要哪些指令可能會幫助輸出。
# 根據(jù)客戶查詢的分類,可以提供一組更具體的指示給模型,以便它處理后續(xù)步驟。例如,假設(shè)客戶需要“故障排除”方面的幫助。
{ "messages": [ {"role": "system", "content": "你將收到需要技術(shù)支持的用戶服務(wù)咨詢。
可以通過以下方式幫助用戶:\n\n-請他們檢查***是否配置完成。\n如果所有***都配置完成,
但問題依然存在,請詢問他們使用的設(shè)備型號\n-現(xiàn)在你需要告訴他們?nèi)绾沃貑⒃O(shè)備:\n=設(shè)備型號是A,請操作***。
\n-如果設(shè)備型號是B,建議他們操作***。"} ]}
對于輪次較長的對話應(yīng)用程序,總結(jié)或過濾之前的對話
由于模型有固定的上下文長度顯示,所以用戶與模型助手之間的對話不能無限期地繼續(xù)。
針對這個問題,一種解決方案是總結(jié)對話中的前幾個回合。一旦輸入的大小達(dá)到預(yù)定的閾值,就會觸發(fā)一個查詢來總結(jié)先前的對話部分,先前對話的摘要同樣可以作為系統(tǒng)消息的一部分包含在內(nèi)。或者,整個對話過程中的先前對話可以被異步總結(jié)。
分塊概括長文檔,并遞歸構(gòu)建完整摘要
要總結(jié)一本書的內(nèi)容,我們可以使用一系列的查詢來總結(jié)文檔的每個章節(jié)。部分摘要可以匯總并總結(jié),產(chǎn)生摘要的摘要。這個過程可以遞歸進(jìn)行,直到整本書都被總結(jié)完畢。如果需要使用前面的章節(jié)來理解后面的部分,那么可以在總結(jié)書中給定點(diǎn)的內(nèi)容時,包括對給定點(diǎn)之前的章節(jié)的摘要。





