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


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




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








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





