logo

语言模型

语言模型使用说明手册

1. 模型核心能力

1.1 基础功能

  • 文本生成:根据上下文生成连贯的自然语言文本,支持多种文体和风格
  • 语义理解:深入解析用户意图,支持多轮对话管理,确保对话的连贯性和准确性
  • 知识问答:覆盖广泛的知识领域,包括科学、技术、文化、历史等,提供准确的知识解答
  • 代码辅助:支持多种主流编程语言(如Python、Java、C++等)的代码生成、解释和调试

1.2 进阶能力

  • 长文本处理:支持4k至64k tokens的上下文窗口,适用于长篇文档生成和复杂对话场景
  • 指令跟随:精确理解复杂任务指令,如"用Markdown表格对比A/B方案"
  • 风格控制:通过系统提示词调整输出风格,支持学术、口语、诗歌等多种风格
  • 多模态支持:除了文本生成,还支持图像描述、语音转文字等多模态任务

2. 接口调用规范

2.1 基础请求结构

您可以通过openai sdk进行端到端接口请求:

  • 生成对话
  • 分析一幅图像
  • 生成json数据

2.2 消息体结构说明

消息类型功能描述示例内容
system模型指令,设定AI角色,描述模型应一般如何行为和响应例如:"你是有10年经验的儿科医生"
user用户输入,将最终用户的消息传递给模型例如:"幼儿持续低烧应如何处理?"
assistant模型生成的历史回复,为模型提供示例,说明它应该如何回应当前请求例如:"建议先测量体温…"

你想让模型遵循分层指令时,消息角色可以帮助你获得更好的输出。但它们并不是确定性的,所以使用的最佳方式是尝试不同的方法,看看哪种方法能给你带来好的结果。

3. 模型系列选型指南

可以进入模型广场,根据左侧的筛选功能,筛选支持不同功能的语言模型,根据模型的介绍,了解模型具体的价格、模型参数大小、模型上下文支持的最大长度及模型价格等内容。

支持在playground进行体验(playground只进行模型体验,暂时没有历史记录功能,如果您想要保存历史的回话记录内容,请自己保存会话内容),想要了解更多使用方式,可以参考API文档。

4. 核心参数详解

4.1 创造性控制

# 温度参数(0.0~2.0)   
temperature=0.5  # 平衡创造性与可靠性  

# 核采样(top_p)   
top_p=0.9  # 仅考虑概率累积90%的词集

4.2 输出限制

max_tokens=1000  # 单词请求最大生成长度  
stop=["\n##", "<|end|>"]  # 终止序列,在返回中遇到数组中对应的字符串,就会停止输出 
frequency_penalty=0.5  # 抑制重复用词(-2.0~2.0)  
stream=True # 控制输出是否是流式输出,对于一些输出内容比较多的模型,建议设置为流失,防止输出过长,导致输出超时

4.3 语言模型场景问题汇总

1. 模型输出乱码

目前看到部分模型在不设置参数的情况下,容易出现乱码,遇到上述情况,可以尝试设置temperature,top_k,top_p,frequency_penalty这些参数。

对应的 payload 修改为如下形式,不同语言酌情调整:

payload = {
    "model": "Qwen/Qwen2.5-Math-72B-Instruct",
    "messages": [
        {
            "role": "user",
            "content": "1+1=?",
        }
    ],
    "max_tokens": 200,  # 按需添加
    "temperature": 0.7, # 按需添加
    "top_k": 50,        # 按需添加
    "top_p": 0.7,       # 按需添加
    "frequency_penalty": 0 # 按需添加
}

2. 关于max_tokens说明

平台提供的LLM模型中:

max_tokens 限制为 16384 的模型:

  • Pro/deepseek-ai/DeepSeek-R1
  • Qwen/QVQ-72B-Preview
  • deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
  • deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
  • deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  • deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
  • Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  • Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

max_tokens 限制为 8192 的模型:

  • Qwen/QwQ-32B-Preview
  • deepseek-ai/DeepSeek-R1

max_tokens 限制为 4096的模型:

  • 除上述提到的其他LLM模型

3. 关于context_length说明

不同的LLM模型,context_length是有差别的,具体可以在模型广场上搜索对应的模型,查看模型具体信息。

4. 模型输出截断问题

可以从以下几方面进行问题的排查:

通过API请求时候,输出截断问题排查:

  • max_tokens设置:max_token设置到合适值,输出大于max_token的情况下,会被截断,deepseek R1系列的max_token最大可设置为16384
  • 设置流式输出请求:非流式请求时候,输出内容比较长的情况下,容易出现504超时
  • 设置客户端超时时间:把客户端超时时间设置大一些,防止未输出完成,达到客户端超时时间被截断

通过第三方客户端请求,输出截断问题排查:

  • CherryStdio 默认的 max_tokens 是 4096,用户可以通过设置,打开"开启消息长度限制"的开关,将max_token设置到合适值

5. 错误码处理

错误码常见原因解决方案
400参数格式错误检查temperature等请求参数的取值范围
401API Key 没有正确设置检查API Key
403权限不够最常见的原因是该模型需要实名认证,其他情况参考报错信息
429请求频率超限实施指数退避重试机制
503/504模型过载切换备用模型节点

5. 计费与配额管理

5.1 计费公式

总费用 = (输入tokens × 输入单价) + (输出tokens × 输出单价)

5.2 各系列单价示例

模型的具体价格可以进入模型广场下的模型详情页查看。

6. 应用案例

6.1 技术文档生成

from openai import OpenAI
client = OpenAI(api_key="YOUR_KEY", base_url="https://api.openapi.cn/v1")
response = client.chat.completions.create(  
    model="Qwen/Qwen2.5-Coder-32B-Instruct",  
    messages=[{  
        "role": "user",  
        "content": "编写Python异步爬虫教程,包含代码示例和注意事项"  
    }],  
    temperature=0.7,  
    max_tokens=4096  
)

6.2 数据分析报告

from openai import OpenAI
client = OpenAI(api_key="YOUR_KEY", base_url="https://api.openapi.cn/v1")
response = client.chat.completions.create(  
    model="Qwen/QVQ-72B-Preview",  
    messages=[    
        {"role": "system", "content": "你是数据分析专家,用Markdown输出结果"},  
        {"role": "user", "content": "分析2023年新能源汽车销售数据趋势"}  
    ],  
    temperature=0.7,  
    max_tokens=4096  
)

模型能力持续更新中,建议定期访问模型广场获取最新信息。