主要概念

大语言模型

大语言模型(LLM)是基于海量文本数据训练的深度学习模型。它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。

Token

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

需要注意的是,对于文本模型,输入和输出的总和长度不能超过模型的最大上下文长度。

大模型列表

  荔知AI支持多种大模型在线调用,不需要科学上网,支持手机端。
  

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

  • ChatGPT - OpenAI
  • Gemini - Google
  • Claude - Anthropic
  • 文心一言 - 百度
  • 讯飞星火 - 科大讯飞
  • 腾讯混元 - 腾讯
  • 智谱清言 - 清华智谱
  • 通义千问 - 阿里巴巴
  • Kimi - 月之暗面
  • 荔智 - 荔知 AI 聚合模型

使用指南

获取 API 密钥

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

发送请求

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

处理响应

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

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

常见问题

如何充值?

  • 可以前往 算力充值页面中,然后选择合适的套餐进行在线充值,在线充值仅支持微信支付。

每次接口调用都需要把对话历史发送是吧?这样的话是不是每次对话需要重复计费?

  • 根据 messages 的长度需要重新计费,用户可以调整每次发送对话历史的长度,只保留最重要的信息。

指南

如何获得更好的输出?

System Prompt 最佳实践

编写清晰的说明

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

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

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

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

一般的请求更好的请求
如何在 Excel 中增加数字?我如何在 Excel 表对一行数字求和?我想自动为整张表的每一行进行求和,并将所有总计放在名为"总数"的最右列中。
工作汇报总结将 2023 年工作记录总结为 500 字以内的段落。以序列形式列出每个月的工作亮点,并做出 2023 年全年工作总结。
在请求中要求模型扮演一个角色,可以获得更准确的输出

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

  {
  "messages": [
    {"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,建议他们操作***。"}
  ]
}
  
对于轮次较长的对话应用程序,总结或过滤之前的对话

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

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

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

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

部分文档内容借鉴于 KimiAI - (https://platform.moonshot.cn/docs)

Last updated on Brath 29, 2024