Oumuamua-7b-RP实战教程:将自定义角色导出为JSON并在多端复用
Oumuamua-7b-RP实战教程:将自定义角色导出为JSON并在多端复用
1. 项目概述
Oumuamua-7b-RP是一个基于Mistral-7B架构的日语角色扮演专用大语言模型Web界面,专为沉浸式角色对话体验设计。这个工具让用户能够创建、保存和复用自定义角色设定,实现跨设备的一致角色扮演体验。
核心特点:
- 7.3B参数规模,14GB模型大小(bfloat16)
- 专注于日语角色扮演对话场景
- 提供直观的中文操作界面
- 支持GPU加速(推荐RTX 4090D及以上配置)
2. 准备工作
2.1 环境启动
启动Oumuamua-7b-RP服务(推荐使用启动脚本):
bash /root/Oumuamua-7b-RP/start.sh启动完成后,通过浏览器访问:
- 本地访问:http://localhost:7860
- 远程访问:http://<服务器IP>:7860
2.2 基础角色设置
在开始导出角色前,建议先熟悉基础角色设定方法。在右侧"角色扮演设定"区域,您可以按照以下格式定义角色:
名字:桜 年龄:24岁 职业:女仆 性格:母性强、温柔、顾家 口吻:礼貌语,称呼用户为"主人" 背景:贵族家庭的女仆,擅长料理和家务3. 角色导出实战
3.1 创建自定义角色
- 在右侧面板的"角色扮演设定"区域,输入您自定义的角色信息
- 确保包含以下基本字段(可根据需要扩展):
- 名字
- 年龄
- 职业
- 性格
- 口吻
- 背景故事
示例自定义角色设定:
名字:月島凛 年龄:17岁 职业:高中生/神秘学研究部成员 性格:冷静理性但内心温柔,对超自然现象充满好奇 口吻:使用敬语但偶尔会流露出少女的一面 背景:从小就能看到常人看不见的事物,正在调查学校里的七大不可思议事件3.2 导出为JSON格式
目前Oumuamua-7b-RP界面尚未内置导出功能,但可以通过以下方法手动导出角色设定:
- 打开浏览器开发者工具(F12)
- 切换到Console(控制台)标签页
- 输入以下JavaScript代码并执行:
const roleSettings = document.querySelector('.role-settings textarea').value; const roleName = document.querySelector('.character-name input').value || '自定义角色'; const jsonData = { version: "1.0", character: { name: roleName, settings: roleSettings }, timestamp: new Date().toISOString() }; const blob = new Blob([JSON.stringify(jsonData, null, 2)], {type: 'application/json'}); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${roleName.replace(/\s+/g, '_')}_settings.json`; document.body.appendChild(a); a.click(); document.body.removeChild(a);这段代码会:
- 获取当前角色设定内容
- 将其格式化为标准JSON结构
- 生成可下载的JSON文件
- 文件名将使用角色名(如"月島凛_settings.json")
3.3 JSON文件结构解析
导出的JSON文件遵循以下结构:
{ "version": "1.0", "character": { "name": "月島凛", "settings": "名字:月島凛\n年龄:17岁\n职业:高中生/神秘学研究部成员\n性格:冷静理性但内心温柔...(完整角色设定)" }, "timestamp": "2024-03-15T09:30:00.000Z" }关键字段说明:
version: 文件格式版本character.name: 角色名称character.settings: 原始角色设定文本timestamp: 导出时间戳
4. 角色复用方法
4.1 在同一设备上导入
- 打开导出的JSON文件,复制
character.settings字段中的内容 - 在Oumuamua-7b-RP界面中,将内容粘贴到右侧的"角色扮演设定"文本区域
- 点击界面上的"应用设定"按钮(如有)或直接开始对话
4.2 在不同设备间共享
- 将JSON文件传输到目标设备
- 按照上述导入方法使用角色设定
- 对于多用户协作,可以将JSON文件存储在共享位置(如云存储)
4.3 批量管理角色库
建议的目录结构:
角色库/ ├── 校园/ │ ├── 月島凛_settings.json │ └── 藤原学长_settings.json ├── 职场/ │ ├── 桜_settings.json │ └── 佐藤部长_settings.json └── 奇幻/ ├── 精灵公主_settings.json └── 矮人工匠_settings.json5. 高级技巧与注意事项
5.1 角色设定优化建议
性格描述:使用具体形容词而非抽象概念
- 推荐:"说话时会不自觉地玩弄发梢"
- 不推荐:"性格害羞"
口吻控制:明确指定语言特征
- 示例:"句尾常带'喵',使用很多拟声词"
背景故事:提供足够细节但保持简洁
- 理想长度:3-5句话
5.2 常见问题解决
问题1:导入后角色行为不符合预期
- 检查特殊符号(如引号)是否被正确转义
- 确认换行符在JSON中保留为
\n
问题2:在不同设备上表现不一致
- 确保使用相同的模型版本
- 检查推理参数(温度、top-p等)是否一致
问题3:JSON文件无法解析
- 使用在线JSON验证工具检查格式
- 确保没有BOM头(可使用Notepad++等工具检查)
5.3 自动化脚本示例
以下Python脚本可以帮助批量处理角色JSON文件:
import json import os def validate_role_json(filepath): try: with open(filepath, 'r', encoding='utf-8') as f: data = json.load(f) assert 'character' in data assert 'name' in data['character'] assert 'settings' in data['character'] return True except: return False def scan_role_library(library_path): valid_files = [] for root, _, files in os.walk(library_path): for file in files: if file.endswith('.json'): full_path = os.path.join(root, file) if validate_role_json(full_path): valid_files.append(full_path) return valid_files # 使用示例 library_path = '/path/to/你的角色库' valid_roles = scan_role_library(library_path) print(f"找到{len(valid_roles)}个有效角色设定")6. 总结
通过本教程,您已经掌握了:
- 在Oumuamua-7b-RP中创建自定义角色的方法
- 使用浏览器控制台将角色设定导出为JSON格式
- JSON文件的标准结构和字段含义
- 在不同设备和场景下复用角色设定的技巧
- 管理角色库和解决常见问题的实用建议
将角色设定标准化为JSON格式后,您可以:
- 轻松备份和恢复喜爱的角色
- 与社区分享您的创作
- 建立个性化的角色库
- 实现跨设备的一致体验
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
