霜云(Shimokumo)是一个功能丰富的 AI 大模型系统,融合了自然语言处理、网络搜索、浏览器自动化、多媒体播放、小说创作、视频生成和二次元角色聊天等多种能力。角色设定为九尾狐妖巫女,兼具害羞、认真和偶尔呆萌的性格特点。
1# 赋予执行权限
2chmod +x install.sh
3
4# 标准安装(自动检测GPU)
5./install.sh
6
7# CPU模式安装
8./install.sh --no-gpu
9
10# 自定义模型路径和端口
11./install.sh --model-path /data/my-model --port 9000
12
13# 跳过模型下载
14./install.sh --skip-download
1# 1. 创建虚拟环境
2python3 -m venv venv
3source venv/bin/activate
4
5# 2. 安装依赖
6pip install -r requirements.txt
7
8# 3. 如使用GPU,先安装对应版本的PyTorch
9pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
10
11# 4. 复制环境变量配置
12cp .env.example .env
13
14# 5. 编辑配置文件
15vim config.yaml
16vim .env
1# CPU 模式
2docker-compose up -d
3
4# GPU 模式(需要 nvidia-docker)
5docker-compose --profile gpu up -d
1# 激活虚拟环境
2source venv/bin/activate
3
4# 启动服务(默认配置)
5python main.py
6
7# 指定端口启动
8python main.py --port 9000
9
10# 指定模型路径
11python main.py --model-path ./models/shimokumo
1curl -X POST http://localhost:8080/api/v1/chat \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer your_api_key" \
4 -d '{
5 "message": "你好,霜云!",
6 "stream": true
7 }'
1curl -X POST http://localhost:8080/api/v1/chat/stream \
2 -H "Content-Type: application/json" \
3 -d '{
4 "message": "给我讲个故事",
5 "max_tokens": 2048,
6 "temperature": 0.8
7 }'
1curl -X POST http://localhost:8080/api/v1/search \
2 -H "Content-Type: application/json" \
3 -d '{
4 "query": "最新AI技术进展",
5 "engines": ["google", "bing"],
6 "max_results": 5
7 }'
1curl -X POST http://localhost:8080/api/v1/novel/create \
2 -H "Content-Type: application/json" \
3 -d '{
4 "title": "狐妖物语",
5 "style": "轻松幽默",
6 "chapters": 50,
7 "synopsis": "一只九尾狐妖在人间的冒险故事"
8 }'
1{
2 "code": 0,
3 "message": "success",
4 "data": { ... }
5}
1model:
2 name: "霜云" # 模型中文名
3 name_en: "Shimokumo" # 模型英文名
4 version: "1.0.0" # 版本号
5 hidden_size: 4096 # 隐藏层维度
6 num_layers: 32 # 层数
7 num_attention_heads: 32 # 注意力头数
8 num_kv_heads: 8 # KV头数(GQA)
9 vocab_size: 32000 # 词表大小
10 max_position_embeddings: 4096 # 最大序列长度
11 fp16: true # 半精度推理
1inference:
2 top_k: 50 # Top-K 采样
3 top_p: 0.9 # Top-P 采样(核采样)
4 temperature: 0.8 # 温度参数
5 max_new_tokens: 2048 # 最大生成长度
6 repetition_penalty: 1.1 # 重复惩罚
7 stream: true # 流式输出
1server:
2 host: "0.0.0.0" # 监听地址
3 port: 8080 # 监听端口
4 api_key: "" # API密钥(留空则不验证)
5 cors_origins: "*" # CORS跨域设置
6 workers: 4 # 工作进程数
shimokumo_source/
├── install.sh # 自动安装脚本
├── config.yaml # 主配置文件
├── requirements.txt # Python 依赖列表
├── .env.example # 环境变量示例
├── Dockerfile # Docker 构建文件
├── docker-compose.yml # Docker 编排文件
├── README.md # 项目说明文档
├── main.py # 主入口(需自行实现)
├── venv/ # Python 虚拟环境(安装后生成)
├── characters/ # 角色配置目录
│ ├── shimokumo.json # 霜云角色配置
│ └── shimokumo_profile.md # 霜云角色简介
├── models/ # 模型权重目录
│ └── shimokumo/ # 模型文件
├── logs/ # 日志文件目录
│ └── shimokumo.log # 运行日志
├── data/ # 数据目录
│ ├── cache/ # 搜索缓存
│ ├── uploads/ # 上传文件
│ └── temp/ # 临时文件
├── output/ # 输出目录
│ ├── novels/ # 生成的小说
│ └── videos/ # 生成的视频
└── src/ # 源代码目录(需自行实现)
├── model/ # 模型加载与推理
├── api/ # API 路由
├── search/ # 网络搜索模块
├── browser/ # 浏览器自动化模块
├── media/ # 多媒体处理模块
├── novel/ # 小说创作模块
├── video/ # 视频生成模块
└── utils/ # 工具函数
1# 安装 nvidia-container-runtime
2distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
3curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
4curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
5 sudo tee /etc/apt/sources.list.d/nvidia-docker.list
6sudo apt-get update && sudo apt-get install -y nvidia-container-runtime
7
8# 启动 GPU 模式
9docker-compose --profile gpu up -d
1# 查看日志
2docker-compose logs -f shimokumo
3
4# 停止服务
5docker-compose down
6
7# 重新构建
8docker-compose build --no-cache
9
10# 进入容器
11docker-compose exec shimokumo bash
1# 安装脚本会自动安装 Python 3.11,如手动安装:
2sudo add-apt-repository ppa:deadsnakes/ppa
3sudo apt-get update
4sudo apt-get install python3.11 python3.11-venv python3.11-dev
1# 检查 NVIDIA 驱动和 CUDA
2nvidia-smi
3nvcc --version
4
5# 确保安装了正确版本的 PyTorch
6pip install torch --index-url https://download.pytorch.org/whl/cu118
可以手动下载模型权重,放置到 models/shimokumo/ 目录下。
修改 config.yaml 或 .env 中的模型路径指向您的模型位置。
1# 修改端口
2vim .env # 修改 SHIMOKUMO_PORT
3vim config.yaml # 修改 server.port
1# 安装开发工具
2pip install black flake8 mypy pytest
3
4# 代码格式化
5black src/
6
7# 代码检查
8flake8 src/
9mypy src/