OpenCLAW 是一个多功能的开源对话模型,其“默认设置”取决于使用场景,以下是常见的配置参考:

基础推理参数(API/推理时)
"temperature": 0.7, # 创造性(0.1-1.0,越高越随机)
"top_p": 0.9, # 核采样参数
"top_k": 50, # 可选,top-k采样
"max_new_tokens": 1024, # 生成最大长度
"do_sample": True, # 启用采样
"repetition_penalty": 1.1, # 重复惩罚
"num_return_sequences": 1, # 返回序列数
}
模型加载默认
from transformers import AutoModelForCausalLM, AutoTokenizer
# 默认加载配置
model = AutoModelForCausalLM.from_pretrained(
"openbmb/OpenCLAW",
torch_dtype=torch.float16, # 半精度节省显存
device_map="auto", # 自动分配设备
trust_remote_code=True # 信任远程代码
)
tokenizer = AutoTokenizer.from_pretrained("openbmb/OpenCLAW")
对话格式(默认)
OpenCLAW 通常使用类似 ChatML 的格式:
<|im_start|>system
{系统提示}<|im_end|>
<|im_start|>user
{用户输入}<|im_end|>
<|im_start|>assistant
{模型回复}<|im_end|>
不同任务推荐设置
A. 创意写作
{
"temperature": 0.8,
"top_p": 0.95,
"max_new_tokens": 2048,
"repetition_penalty": 1.05
}
B. 代码生成
{
"temperature": 0.2,
"top_p": 0.95,
"max_new_tokens": 1024,
"do_sample": True
}
C. 问答任务
{
"temperature": 0.1,
"top_p": 0.9,
"max_new_tokens": 512,
"do_sample": False # 或使用 beam search
}
硬件优化设置
# 使用量化(如支持)
model = AutoModelForCausalLM.from_pretrained(
"openbmb/OpenCLAW",
load_in_4bit=True, # 4位量化
bnb_4bit_compute_dtype=torch.float16,
device_map="auto"
)
# 或使用 vLLM 加速(如支持)
from vllm import LLM
llm = LLM(model="openbmb/OpenCLAW", max_model_len=4096)
环境变量建议
# 建议设置 export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 export CUDA_VISIBLE_DEVICES=0 # 指定GPU export TOKENIZERS_PARALLELISM=false
注意事项:
- 显存需求:7B模型约需14GB显存(FP16),使用量化可降低
- 首次使用:会自动下载模型权重(~14GB)
- 版本检查:确认使用最新版 transformers 库
- 提示工程:参考官方文档中的最佳提示格式
快速启动示例:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "openbmb/OpenCLAW"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
# 构建对话
messages = [
{"role": "user", "content": "你好,请介绍一下自己"}
]
input_text = tokenizer.apply_chat_template(messages, tokenize=False)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
# 生成
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
建议查阅 OpenCLAW 官方 GitHub 仓库获取最新的配置建议和最佳实践。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。