基础对话
AmritaBot 的基础对话功能基于 AmritaCore 的 Agent 引擎,让你的机器人能够进行自然、流畅的流式对话。
核心概念
- 会话上下文:每个私聊/群聊拥有独立且互不干扰的上下文(Session),系统自动维护上下文窗口
- 流式响应:消息输出默认为流式,用户可实时看到 LLM 逐字生成的内容(可在
llm.stream中关闭) - 适配器系统:统一的 API 调用接口屏蔽不同模型厂商的差异(OpenAI 兼容协议)
- 消息段解析:自动解析文字、@、合并转发、引用消息,并转换为上下文格式
启用基础对话
我们在第一个机器人中有提及如何进行基本配置,这里不再赘述。
- 支持使用
${变量名}作为环境变量占位符(例如在模型预设中使用)。
对话上下文
上下文窗口
AmritaBot 会自动维护对话上下文,解析的消息段包括:文字、@、合并转发。
消息格式示例:
- 私聊普通消息:
[YYYY-MM-DD weekday hh:mm:ss AM/PM]用户昵称(QQ号):<内容> - 群聊普通消息:
[管理员/群主/自己/群员][YYYY-MM-DD weekday hh:mm:ss AM/PM][昵称(QQ号)]说:<内容> - 引用消息:在普通消息格式后添加
<REFERRED>引用消息内其他消息段解析后内容</REFERRED>
AmritaBot 内置了基础提示词,因此您无需在提示词中而外对格式进行描述。
个性化设置
提示词设置
提示词文件位于 localstore 插件配置目录(机器人启动时打印,或运行 ambot nb localstore 查看)下的 group_prompts 目录与 private_prompts 目录,内文件格式为 提示词.txt,分别对应群聊和私聊的提示词,在WebUI中,我们提供了完整的编辑功能。
- 默认会生成
default.txt文件 - 通常只需要修改
default.txt即可 - 可以使用指令切换提示词或在WebUI中修改
模型预设
预设文件位于配置文件目录的 models 文件夹下,预设文件为 JSON 格式,在WebUI中可以进行修改,此处仅展示默认预设文件:
Details
json
{
"model": "auto",
"name": "default",
"base_url": "",
"api_key": "",
"protocol": "__main__",
"config": {
"top_k": 50,
"top_p": 0.8,
"temperature": 0.6,
"stream": false,
"multimodal": false,
"cot_model": false
}
}模型预设的更多用法(切换、测试、备份自动切换)见高级对话功能。
指令使用
(全部指令请参考
/menu或Bot启动时的输出,指令权限详见各指令说明)
| 指令名称 | 参数 | 解释 | 权限 |
|---|---|---|---|
| /model | /model list 可用模型/model switch <名> 切换/model info 详情/model test [名] [-d] 测试 | 查看、切换与测试模型 | lp.admin |
| /prompt | /prompt set <文本> 设置/prompt clear 清空/prompt template [group|private] [名称] 模板 | 设置自定义提示词与切换模板 | 群管理 |
| /session | /session info|list|use <编号>|del <编号>|archive|clear|compact [force]|forget|abstract [clear] | 会话信息、历史、压缩与记忆管理 | 群管理 |
| /chat | /chat on|off 聊天开关/chat auto <on|off> 自动回复/chat status 状态 | 开启/关闭聊天与自动回复 | 群管理 |
| /debug | /debug <on|off|status> | 调试模式开关 | lp.admin |
| /insights | /insights [global|top10] | 查看今日AI用量统计(global 与 top10 需 lp.admin) | 所有用户 |
| /mcp | /mcp <stats [-d|--details];add <server_script>;del <server_script>;reload;deep-reload> | 管理MCP服务 | lp.admin |
| /chatobj | /chatobj [status]|terminate|kill <ID前缀>|clear | 查看会话进程状态、终止会话 | 群管理 |
找到配置文件
如果无法找到配置文件目录,可以在机器人根目录执行 ambot nb localstore 即可获取到当前的存储位置。
常见问题
对话中断
如果对话上下文丢失,检查:
- 配置文件是否正确设置
- 缓存是否正常工作
- 是否有异常错误导致上下文重置
回复质量
如果回复质量不佳,尝试:
- 调整提示词文件内容
- 使用更强大的 LLM 模型
- 检查模型预设配置是否正确
