语言模型(LLM)使用说明手册

一、模型核心能力

1.1 基础功能

文本生成:根据上下文生成连贯的自然语言文本,支持多种文体和风格。

语义理解:深入解析用户意图,支持多轮对话管理,确保对话的连贯性和准确性。

知识问答:覆盖广泛的知识领域,包括科学、技术、文化、历史等,提供准确的知识解答。

代码辅助:支持多种主流编程语言(如Python、Java、C++等)的代码生成、解释和调试。

1.2 进阶能力

长文本处理:支持4k至64k tokens的上下文窗口,适用于长篇文档生成和复杂对话场景。

指令跟随:精确理解复杂任务指令,如“用Markdown表格对比A/B方案”。

风格控制:通过系统提示词调整输出风格,支持学术、口语、诗歌等多种风格。

多模态支持:除了文本生成,还支持图像描述、语音转文字等多模态任务。

二、接口调用规范

2.1 基础请求结构

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

2.2 消息体结构说明

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

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

三、模型系列选型指南

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

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

四、核心参数详解

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. 模型输出乱码

目前看到部分模型在不设置参数的情况下,容易出现乱码,遇到上述情况,可以尝试设置temperaturetop_ktop_pfrequency_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-Llama-70B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
    • deepseek-ai/DeepSeek-R1-Distill-Llama-8B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
    • Pro/deepseek-ai/DeepSeek-R1-Distill-Llama-8B
    • Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
    • Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
  • max_tokens 限制为 8192 的模型:

    • Qwen/QwQ-32B-Preview
    • AIDC-AI/Marco-o1
    • 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.1 计费公式

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

5.2 各系列单价示例

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

六、应用案例

6.1 技术文档生成

from openai import OpenAI
client = OpenAI(api_key="YOUR_KEY", base_url="https://api.siliconflow.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.siliconflow.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  
)  
模型能力持续更新中,建议定期访问模型广场获取最新信息。