logo
0
0
WeChat Login

甄嬛传角色对话系统 (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服务器配置中的环境变量正确设置

About

https://github.com/ditingdapeng/ollama_baseline#

Language
Python0.7%
JSONL0.5%
Markdown0.3%
Jinja0%
Others98.5%