docs/self-hosting/advanced/model-list.zh-CN.mdx
LobeHub 支持在部署时自定义模型列表,详情请参考 模型提供商 。
你可以使用 + 增加一个模型,使用 - 来隐藏一个模型,使用 模型名->部署名=展示名<扩展配置> 来自定义模型的展示名,用英文逗号隔开。通过 <> 来添加扩展配置。基本语法如下:
id->deploymentName=displayName<maxToken:vision:reasoning:search:fc:file:imageOutput>,model2,model3
部署名->deploymentName可以省略,默认为最新版本的模型。当前支持->deploymentName的模型服务商有:Azure、Volcengine 和 Qwen。
例如: +qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-0125-preview=gpt-4-turbo
上面示例表示增加 qwen-7b-chat 和 glm-6b 到模型列表,而从列表中删除 gpt-3.5-turbo,并将 gpt-4-0125-preview 模型名字展示为 gpt-4-turbo。如果你想先禁用所有模型,再启用指定模型,可以使用 -all,+gpt-3.5-turbo,则表示仅启用 gpt-3.5-turbo。
-all 表示先隐藏所有内置模型。通常与 + 组合使用,用于只启用你显式指定的模型。-all,+gpt-3.5-turbo,+gpt-4-0125-preview=gpt-4-turbo
仅启用 gpt-3.5-turbo 和 gpt-4-turbo,而其他模型都隐藏。
考虑到模型的能力多样性,我们在 0.147.8 版本开始增加扩展性配置,它的规则如下:
id->deploymentName=displayName<maxToken:vision:reasoning:search:fc:file:imageOutput>
尖括号第一个值约定为这个模型的 maxToken 。第二个及以后作为模型的扩展能力,能力与能力之间用冒号 : 作为分隔符,顺序不重要。
举例如下:
chatglm-6b=ChatGLM 6B<4096>:ChatGLM 6B,最大上下文 4k,没有高阶能力;spark-v3.5=讯飞星火 v3.5<8192:fc>:讯飞星火 3.5 模型,最大上下文 8k,支持 Function Call;gemini-1.5-flash-latest=Gemini 1.5 Flash<16000:vision>:Google 视觉模型,最大上下文 16k,支持图像识别;o3-mini=OpenAI o3-mini<200000:reasoning:fc>:OpenAI o3-mini 模型,最大上下文 200k,支持推理及 Function Call;qwen-max-latest=Qwen Max<32768:search:fc>:通义千问 2.5 Max 模型,最大上下文 32k,支持联网搜索及 Function Call;gpt-4-all=ChatGPT Plus<128000:fc:vision:file>,hack 的 ChatGPT Plus 网页版,上下 128k ,支持图像识别、Function Call、文件上传;gemini-2.0-flash-exp-image-generation=Gemini 2.0 Flash (Image Generation) Experimental<32768:imageOutput:vision>,Gemini 2.0 Flash 实验模型,最大上下文 32k,支持图像生成和识别目前支持的扩展能力有:
| --- | 描述 |
|---|---|
fc | 函数调用(function calling) |
vision | 视觉识别 |
imageOutput | 图像生成 |
reasoning | 支持推理 |
search | 支持联网搜索 |
file | 文件上传(比较 hack,不建议日常使用) |
Azure 需要使用 ->deploymentName 映射部署名称:
AZURE_ENDPOINT=https://your-resource.openai.azure.com
AZURE_API_KEY=your-api-key
AZURE_API_VERSION=2024-02-01
# id->deploymentName=displayName<能力>
AZURE_MODEL_LIST="gpt-35-turbo->my-gpt35-deploy=GPT-3.5 Turbo<16000:fc>,gpt-4->my-gpt4-deploy=GPT-4<128000:fc:vision"
OLLAMA_PROXY_URL=http://localhost:11434
OLLAMA_MODEL_LIST="+llama3:8b=Llama 3 8B<8192>,+mistral:latest=Mistral<8192:fc>,+codellama:34b=Code Llama 34B<16000"
# OpenAI — 精选列表
OPENAI_API_KEY=sk-...
OPENAI_MODEL_LIST=-all,+gpt-4o,+gpt-4o-mini
# Anthropic — 长上下文备选
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL_LIST="+claude-3-opus-20240229=Claude 3 Opus<200000:vision:fc>,+claude-3-5-sonnet-20241022=Claude 3.5 Sonnet<200000:vision:fc"
# Google
GOOGLE_API_KEY=...
GOOGLE_MODEL_LIST="+gemini-1.5-pro=Gemini 1.5 Pro<1000000:vision:fc"
使用 -all 从零开始 — 隐藏所有默认模型,再明确添加你需要的模型:
OPENAI_MODEL_LIST=-all,+gpt-4o,+gpt-4o-mini
使用描述性的展示名称 — 让模型名称对用户更友好、更清晰:
OPENAI_MODEL_LIST="gpt-4o=GPT-4o(推荐),gpt-4o-mini=GPT-4o Mini(快速省钱)"
上生产前先测试 — 在开发环境中验证新的模型配置:
docker run -d -p 3210:3210 \
-e OPENAI_API_KEY="sk-test..." \
-e OPENAI_MODEL_LIST="-all,+gpt-4o" \
--name lobehub-test lobehub/lobehub
模型未出现在选择器中
ENABLED_OPENAI=1 等)-all,确认已用 + 添加该模型docker logs lobehub | grep -i "model"模型返回空响应
/v1:OPENAI_PROXY_URL=https://api.example.com/v1扩展能力不生效
maxToken 值必须是 < > 内的第一个值:<8192:fc:vision> 而非 <fc:vision>