模型简介
模型特点
模型能力
使用案例
🚀 OPENCHAT
OPENCHAT 是一个基于混合质量数据推进的开源语言模型,在多个基准测试中表现优异,具备多种模式和新特性,能为用户提供高效的文本生成服务。
🚀 快速开始
要使用此模型,强烈建议按照我们仓库中的安装指南安装 OpenChat 包,并通过运行以下表格中的服务命令来使用与 OpenAI 兼容的 OpenChat API 服务器。该服务器使用 vLLM 进行了高吞吐量部署优化,可在具有 24GB 内存的消费级 GPU 上运行。若要启用张量并行,可在服务命令后追加 --tensor-parallel-size N
。
服务器启动后,会在 localhost:18888
监听请求,并且与 OpenAI ChatCompletion API 规范兼容。请参考以下示例请求。此外,你还可以使用 OpenChat Web UI 获得更友好的用户体验。
如果你想将服务器部署为在线服务,可以使用 --api-keys sk-KEY1 sk-KEY2 ...
指定允许的 API 密钥,并使用 --disable-log-requests --disable-log-stats --log-file openchat.log
仅将日志记录到文件中。出于安全考虑,建议在服务器前使用 HTTPS 网关。
模型 | 规模 | 上下文长度 | 权重 | 服务命令 |
---|---|---|---|---|
OpenChat-3.5-0106 | 7B | 8192 | Huggingface | python -m ochat.serving.openai_api_server --model openchat/openchat-3.5-0106 --engine-use-ray --worker-use-ray |
示例请求(点击展开)
💡 默认模式(GPT4 校正):最适合编码、聊天和常规任务
curl http://localhost:18888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openchat_3.5",
"messages": [{"role": "user", "content": "You are a large language model named OpenChat. Write a poem to describe yourself"}]
}'
🧮 数学推理模式:专为解决数学问题而设计
curl http://localhost:18888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openchat_3.5",
"condition": "Math Correct",
"messages": [{"role": "user", "content": "10.3 − 7988.8133 = "}]
}'
对话模板
💡 默认模式(GPT4 校正):最适合编码、聊天和常规任务
GPT4 Correct User: Hello<|end_of_turn|>GPT4 Correct Assistant: Hi<|end_of_turn|>GPT4 Correct User: How are you today?<|end_of_turn|>GPT4 Correct Assistant:
🧮 数学推理模式:专为解决数学问题而设计
Math Correct User: 10.3 − 7988.8133=<|end_of_turn|>Math Correct Assistant:
⚠️ 注意:请记得将 <|end_of_turn|>
设置为生成结束标记。
默认(GPT4 校正)模板也可以作为集成的 tokenizer.chat_template
使用,这样就无需手动指定模板:
messages = [
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi"},
{"role": "user", "content": "How are you today?"}
]
tokens = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
assert tokens == [1, 420, 6316, 28781, 3198, 3123, 1247, 28747, 22557, 32000, 420, 6316, 28781, 3198, 3123, 21631, 28747, 15359, 32000, 420, 6316, 28781, 3198, 3123, 1247, 28747, 1602, 460, 368, 3154, 28804, 32000, 420, 6316, 28781, 3198, 3123, 21631, 28747]
✨ 主要特性
(实验性)评估器/反馈功能
本次版本包含了评估器功能,旨在推动开源模型作为评估器的发展。你可以使用 默认模式(GPT4 校正)
和以下提示(与 Prometheus 相同)来评估响应。
###任务描述:
给定一个指令(可能包含输入)、一个待评估的响应、一个得分为 5 的参考答案以及一个代表评估标准的评分规则。
1. 严格根据给定的评分规则,撰写一份详细的反馈,评估响应的质量,而非进行一般性评估。
2. 撰写反馈后,给出一个 1 到 5 之间的整数分数。请参考评分规则。
3. 输出格式应如下所示:"反馈: (针对标准撰写的反馈) [结果] (1 到 5 之间的整数)"
4. 请不要生成任何其他开头、结尾和解释内容。
###待评估的指令:
{orig_instruction}
###待评估的响应:
{orig_response}
###参考答案(得分 5):
{orig_reference_answer}
###评分规则:
[{orig_criteria}]
得分 1: {orig_score1_description}
得分 2: {orig_score2_description}
得分 3: {orig_score3_description}
得分 4: {orig_score4_description}
得分 5: {orig_score5_description}
###反馈:
📚 详细文档
基准测试
模型 | 参数数量 | 平均分 | MT-Bench | HumanEval | BBH 多项选择 | AGIEval | TruthfulQA | MMLU | GSM8K | BBH 思维链 |
---|---|---|---|---|---|---|---|---|---|---|
OpenChat-3.5-0106 | 7B | 64.5 | 7.8 | 71.3 | 51.5 | 49.1 | 61.0 | 65.8 | 77.4 | 62.2 |
OpenChat-3.5-1210 | 7B | 63.8 | 7.76 | 68.9 | 49.5 | 48.0 | 61.8 | 65.3 | 77.3 | 61.8 |
OpenChat-3.5 | 7B | 61.6 | 7.81 | 55.5 | 47.6 | 47.4 | 59.1 | 64.3 | 77.3 | 63.5 |
ChatGPT (March)* | ???B | 61.5 | 7.94 | 48.1 | 47.6 | 47.1 | 57.7 | 67.3 | 74.9 | 70.1 |
OpenHermes 2.5 | 7B | 59.3 | 7.54 | 48.2 | 49.4 | 46.5 | 57.5 | 63.8 | 73.5 | 59.9 |
OpenOrca Mistral | 7B | 52.7 | 6.86 | 38.4 | 49.4 | 42.9 | 45.9 | 59.3 | 59.1 | 58.1 |
Zephyr-β^ | 7B | 34.6 | 7.34 | 22.0 | 40.6 | 39.0 | 40.8 | 39.8 | 5.1 | 16.0 |
Mistral | 7B | - | 6.84 | 30.5 | 39.0 | 38.0 | - | 60.1 | 52.2 | - |
评估详情(点击展开)
*: ChatGPT (March) 的结果来自 GPT-4 技术报告、思维链中心和我们的评估。请注意,ChatGPT 不是一个固定的基准,会随着时间快速发展。
^: Zephyr-β 通常无法遵循少样本思维链指令,可能是因为它仅使用聊天数据进行对齐,而未在少样本数据上进行训练。
**: Mistral 和开源最优结果取自指令微调模型论文和官方仓库中报告的结果。
所有模型均在聊天模式下进行评估(例如,应用各自的对话模板)。所有零样本基准测试遵循与 AGIEval 论文和 Orca 论文相同的设置。思维链任务使用与思维链中心相同的配置,HumanEval 使用 EvalPlus 进行评估,MT-bench 使用 FastChat 运行。若要复现我们的结果,请遵循 我们的仓库 中的说明。
HumanEval+
模型 | 规模 | HumanEval+ 通过率@1 |
---|---|---|
OpenChat-3.5-0106 | 7B | 65.9 |
ChatGPT (2023 年 12 月 12 日) | ???B | 64.6 |
WizardCoder-Python-34B-V1.0 | 34B | 64.6 |
OpenChat 3.5 1210 | 7B | 63.4 |
OpenHermes 2.5 | 7B | 41.5 |
OpenChat-3.5 与 Grok 对比
🔥 OpenChat-3.5-0106 (7B) 现在在 所有 4 项基准测试 中均优于 Grok-0 (33B),在平均分和 3/4 项基准测试 中优于 Grok-1 (???B)。
许可证 | 参数数量 | 平均分 | MMLU | HumanEval | MATH | GSM8k | |
---|---|---|---|---|---|---|---|
OpenChat-3.5-0106 | Apache-2.0 | 7B | 61.0 | 65.8 | 71.3 | 29.3 | 77.4 |
OpenChat-3.5-1210 | Apache-2.0 | 7B | 60.1 | 65.3 | 68.9 | 28.9 | 77.3 |
OpenChat-3.5 | Apache-2.0 | 7B | 56.4 | 64.3 | 55.5 | 28.6 | 77.3 |
Grok-0 | 专有许可证 | 33B | 44.5 | 65.7 | 39.7 | 15.7 | 56.8 |
Grok-1 | 专有许可证 | ???B | 55.8 | 73 | 63.2 | 23.9 | 62.9 |
*: Grok 的结果由 X.AI 报告。
🔧 技术细节
局限性
基础模型局限性
尽管 OpenChat 具有先进的能力,但仍然受到其基础模型固有局限性的约束。这些局限性可能会影响模型在以下领域的性能:
- 复杂推理
- 数学和算术任务
- 编程和编码挑战
生成不存在信息(幻觉)
OpenChat 有时可能会生成不存在或不准确的信息,即所谓的“幻觉”。用户应意识到这种可能性,并对从模型获得的任何关键信息进行验证。
安全性
OpenChat 有时可能会生成有害、仇恨言论、有偏见的响应,或回答不安全的问题。在需要安全和经过审核的响应的用例中,应用额外的 AI 安全措施至关重要。
📄 许可证
我们的 OpenChat 3.5 代码和模型遵循 Apache 许可证 2.0 进行分发。
📚 引用
@article{wang2023openchat,
title={OpenChat: Advancing Open-source Language Models with Mixed-Quality Data},
author={Wang, Guan and Cheng, Sijie and Zhan, Xianyuan and Li, Xiangang and Song, Sen and Liu, Yang},
journal={arXiv preprint arXiv:2309.11235},
year={2023}
}
💌 联系我们
我们期待听到你的声音,并希望在这个令人兴奋的项目上进行合作!
项目负责人:
- 王观 [imonenext at gmail dot com]
- Alpay Ariyak [aariyak at wpi dot edu]



