酒馆与角色卡
这是跑在自己机器上的角色扮演聊天入口:本地小模型(Qwen3.5-9B abliterated,IQ4_XS 量化)配合 SillyTavern(俗称「酒馆」)加载角色卡聊天,把原本要订阅的付费角色扮演平台搬到本地,省掉月费。代价也要说清楚:9B 小模型在长对话一致性、世界知识和响应速度上都弱于云端大模型,而且一张角色卡写得好不好,对观感的影响往往比模型参数更大。
页面对外开放:任何拿到链接的人都能用公用账号试玩,不用注册。公用账号是共享的,聊天记录彼此可见,所以别在里面写个人信息或不该公开的内容。
入口
打开后会自动以访客身份进入(首次加载约 10~20 秒)。中途出现的登录页是正常现象,不用填任何东西,等它自己跳进去。
地址由 Cloudflare 临时隧道转发,每次重启酒馆都会变,旧链接会失效。打不开时先确认本机的酒馆和隧道进程都在运行,再以本页链接为准。
- 想自己写角色卡或场景:模板和示例在 酒馆栏目。
公开访问与限制
- 这是公开页面,18 岁以上使用;内容可能包含成人向角色扮演,请自行判断。
- 管理员如需登录自己的账号:在地址后加
/login?admin,再手动输入管理员凭据。 - 公用账号
guest所有人共用:聊天记录、导入的角色卡、界面设置都会互相看到,不要在里面写真实姓名、住址、联系方式等个人信息。 - 同时只允许一个人生成回复,别人正在聊时你的请求会排队等待,出现「正在生成」卡住是正常排队,不是坏了。
- 单次回复上限 512 token,上下文 7168 token;对话过长请新建聊天。
- 这台机器还要日常使用,请不要开多标签页同时刷请求。
怎么用
- 打开入口,等 10~20 秒自动进入酒馆。看到「Welcome to SillyTavern」登录页不用管,它会自己登进去。
- 导入角色卡:进入角色管理,选择导入,支持 PNG 和 JSON 两种文件。PNG 是内嵌了角色数据的图片,JSON 是纯数据文件,两者内容等价。
- 选中角色,开始对话。开场白来自角色卡的
first_mes,不需要自己起头。 - 切换模型:当前连接方式是「聊天补全 → 自定义(兼容 OpenAI)」,指向本机 llama-server 的
/v1。换模型等于改 llama-server 的启动参数再重启,界面不用动。 - 换话题时新建聊天,不要把不相关的旧对话一直往下续——8k 上下文很快会被历史占满。
角色卡怎么写
字段分工如下,写作时按「先能聊起来,再补细节」的顺序推进:
| 字段 | 作用 | 写作要点 |
|---|---|---|
name |
角色名 | 简短、唯一,和对话里的称呼保持一致 |
description |
角色设定主体 | 写身份、外貌、说话方式、世界观;用陈述句,少堆形容词 |
personality |
性格概要 | 3~5 个特质,每个配一个行为例子,不要只写「温柔」「高冷」 |
scenario |
当前场景 | 写清时间、地点、双方关系,让模型知道对话从哪开始 |
first_mes |
开场白 | 一屏以内,包含动作、语气和可接的话题,不要把设定整段倒出来 |
example_dialogue |
示例对话 | 2~3 轮,用中文写,示范语气、句长和换行格式;对语气的约束比指令更强 |
system_prompt |
全局规则 | 写硬约束,例如「所有回复使用简体中文」「不替用户做决定」 |
写作建议:
- 先写
description和first_mes跑一轮对话,再补personality和example_dialogue,一次只改一处,方便判断是哪段内容起了作用。 - 示例对话尽量用中文:模型会模仿示例的语种和句式,只写一句「用中文回复」的约束要弱得多。
- 总量不要贪多。8k 上下文里要同时放角色卡、历史对话和本次回复,卡越长,能记住的对话越少。
abliterated去掉的是拒答倾向,不等于模型变聪明;设定写得含糊,回复同样含糊。
这套东西跑在哪
- GPU:RTX 3070 Ti Laptop,8 GB 显存
- 模型:Qwen3.5-9B abliterated,IQ4_XS 量化(GGUF)
- 推理:llama.cpp 加载 GGUF 并开 API;SillyTavern 只负责界面、角色卡和对话管理,自己不跑模型
- 上下文:8k tokens,启动时固定
- 显存:跑起来约 6 GB,8 GB 的卡剩不到 2 GB 余量
这台机器的定位很直接:能日常跑,但要接受两件事。生成速度按秒计,别和云端比;余量小,桌面端别的程序抢显存时容易被挤到 CPU offload,速度会明显变慢。
常见问题
回答慢
- 先看 llama-server 日志里的生成速度(tokens/s)以及是否真的在 GPU 上跑;落入 CPU offload 时速度会明显下降。
- 关掉占显存的程序:浏览器视频、ComfyUI、其他推理服务都算。
- 上下文越长首 token 越慢;同样的内容,新开聊天比在超长对话里追问更快。
- 9B 模型在 8 GB 卡上的速度上限就摆在那里,优化空间有限,不要拿它和云端大模型比。
回复被截断
- 先区分是「说完了但显示不全」还是「说到一半停住」:前者多半是显示长度或停止符设置,后者通常是单次回复上限到顶或上下文已满。
- 8k 上下文塞满后最旧的内容会被挤掉,不要靠「接着刚才那句」让模型硬续,直接重发或新建聊天更可靠。
- 把单次回复上限调小、换更短的角色卡,能降低触发概率。
中文变英文
- 角色卡和示例对话都用中文写,示例里的语种对输出的影响比一句「请用中文」大。
- 在
system_prompt里写明「所有回复使用简体中文」,并放在靠前位置,而不是塞在长设定末尾。 - 仍然漂移时,删掉漂移的那轮重新生成,或补一轮中文示例对话。
- 模型基座本身以英文语料为主,9B 规模下偶尔中英混排属于正常现象,不一定是配置坏了。
显存不足
- 按顺序试:降上下文(8k → 4k)→ 换更低比特量化 → 关掉其他 GPU 程序。
- 不要一上来就换模型,先确认是不是上下文长度或并发请求导致的。
- 长期稳定跑要留至少 1 GB 余量;贴边跑迟早掉到 offload。
入口打不开或地址变了
- 地址走 Cloudflare 临时隧道,重启后变化,旧链接失效是预期行为,不是本页写错。
- 先确认本机酒馆和隧道进程都在跑,再回本页点入口。
边界
- 这是本地 9B 模型,不承诺和付费平台同等效果:长对话记忆、角色一致性、世界知识都有明显上限。
- 公用账号的对话记录保存在本机,同一账号的所有使用者彼此可见;不要把隐私内容写进去,也不要当作私人存储。
- 同时只有一路生成,多人同时用会排队;使用高峰可能较慢。
- 换模型、改上下文长度、换量化都算配置变更,改完要重新验收一次首 token 延迟、生成速度和是否掉 offload。
相关
- AI 学习环境与工具总览:本机 GPU、Python、Node 等环境记录。
- Qwen3.8-27B 远程推理服务与 OpenCode 接入:llama-server 服务化、API 与显存边界的经验;27B 量化后体积超出这张 8 GB 卡的显存,只能 offload,不适合常驻。