logo
0
0
Login
Shiqi Wang<qtec@outlook.com>
fixed

甄嬛传角色对话系统 (Ollama Baseline)

基于《甄嬛传》角色数据的智能对话系统,使用 LoRA 微调技术训练甄嬛角色模型,支持多种交互方式。

📁 项目结构

ollama_baseline/ ├── application/ # Web应用界面 │ └── huanhuan_web.py # Streamlit对话界面 ├── dataScripts/ # 数据处理脚本 │ ├── huanhuan_data_prepare.py # 训练数据预处理 │ └── download_data.py # 数据集下载 ├── deployment/ # 模型部署 │ ├── FAST_DEPLOYMENT_GUIDE.md # 快速部署指南 │ ├── Modelfile.huanhuan # Ollama模型文件 │ └── huanhuan_fast_lora.gguf # LoRA权重文件 ├── mcp_server/ # MCP服务器 │ ├── __init__.py # 服务器入口 │ └── server.py # MCP服务器核心逻辑 ├── training/ # 模型训练 │ ├── huanhuan_train.py # 训练脚本 │ ├── huanhuan_config.yaml # 训练配置 │ ├── huanhuan_config_fast.yaml # 快速训练配置 │ └── logs/ # 训练日志 ├── data/ # 数据目录 ├── requirements.txt # 项目依赖 └── README.md # 项目说明

🚀 功能模块

📱 Web应用 (application)

  • huanhuan_web.py: 基于 Streamlit 的甄嬛角色对话Web界面
  • 支持实时对话、参数调节、聊天历史管理
  • 提供直观的用户界面和流式对话体验

📊 数据处理 (dataScripts)

  • huanhuan_data_prepare.py: 甄嬛传训练数据预处理脚本
  • download_data.py: 从GitHub下载甄嬛传数据集
  • 支持数据清洗、格式转换、分割等功能

🚀 模型部署 (deployment)

  • FAST_DEPLOYMENT_GUIDE.md: 详细的快速部署指南
  • Modelfile.huanhuan: Ollama模型配置文件
  • huanhuan_fast_lora.gguf: 训练好的LoRA权重文件
  • 支持一键部署到Ollama服务

🔌 MCP服务器 (mcp_server)

  • server.py: MCP (Model Context Protocol) 服务器实现
  • 提供与甄嬛模型交互的API接口
  • 支持对话、模型信息查询、状态检查等功能

🎯 模型训练 (training)

  • huanhuan_train.py: 甄嬛角色模型训练脚本
  • huanhuan_config.yaml: 完整训练配置
  • huanhuan_config_fast.yaml: 快速训练配置
  • 基于LoRA技术进行高效微调
  • 支持GPU/MPS/CPU多种设备

📦 安装依赖

方式一:使用 pip 安装

pip install -r requirements.txt

方式二:使用 conda 环境(推荐)

# 1. 创建conda环境(指定Python版本) conda create -n huanhuan python=3.13 # 2. 激活环境 conda activate huanhuan # 3. 安装依赖 pip install -r requirements.txt # 或者优先使用conda安装 conda install pytorch transformers -c pytorch -c huggingface pip install -r requirements.txt # 4. 退出环境 conda deactivate

方式三:使用 uv

# 1. 安装uv(如果未安装) pip install uv # 2. 创建虚拟环境 uv venv huanhuan_env # 3. 激活环境 source huanhuan_env/bin/activate # macOS/Linux # 4. 使用uv安装依赖(比pip快10-100倍) uv pip install -r requirements.txt

🚀 启动服务

1. 安装并启动Ollama服务

首先,您需要安装并启动Ollama服务:

# 安装Ollama(如果尚未安装) # Linux curl -fsSL https://ollama.com/install.sh | sh # 启动Ollama服务 ollama serve

2. 下载并加载甄嬛模型

在新的终端窗口中,下载并加载甄嬛模型:

# 进入项目目录 cd /path/to/ollama_baseline # 使用Modelfile创建甄嬛模型 ollama create huanhuan-qwen -f deployment/Modelfile.huanhuan # 验证模型是否成功加载 ollama list

3. 启动MCP服务器

MCP (Model Context Protocol) 服务器提供了与甄嬛模型交互的API接口,可以通过以下方式启动:

# 进入项目目录 cd /path/to/ollama_baseline # 方式一:直接运行MCP服务器脚本 python mcp_server/server.py stdio # 方式二:使用Python模块方式运行 python -m ollama_baseline.mcp_server stdio

4. 配置MCP服务器(用于Craft或其他支持MCP的应用)

如果您想在支持MCP的应用(如Craft)中使用甄嬛模型,需要配置MCP服务器:

{ "mcpServers": { "huanhuan-chat": { "command": "python", "args": [ "/path/to/ollama_baseline/mcp_server/server.py", "stdio" ], "env": { "OLLAMA_HOST": "http://localhost:11434", "HUANHUAN_MODEL": "huanhuan-qwen:latest" } } } }

将上述配置添加到您的MCP配置文件中。配置文件的位置取决于您使用的应用程序:

  • Craft: /path/to/Craft_mcp_settings.json
  • 其他支持MCP的应用: 请参考相应应用的文档

5. 验证MCP服务器

启动MCP服务器后,您可以通过以下方式验证其是否正常工作:

# 使用curl发送请求(如果使用HTTP传输) curl -X POST http://localhost:8000/v1/chat -H "Content-Type: application/json" -d '{"message": "你好,甄嬛"}' # 或者通过支持MCP的应用程序(如Craft)与甄嬛进行对话

如果一切正常,您应该能够收到甄嬛的回复。

6. 常见问题排查

  • Ollama服务未启动: 确保Ollama服务正在运行,可以通过ollama list命令验证
  • 模型未加载: 检查模型是否正确加载,使用ollama list查看可用模型
  • 端口冲突: 如果端口被占用,可以修改Ollama的默认端口
  • 环境变量问题: 确保MCP服务器配置中的环境变量正确设置