shimokumo
Collection
霜云 (Shimokumo) - AI全功能ISP网络运营商巫女模型 • 1 item • Updated • 1
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
AI全功能ISP网络运营商巫女 -- 基于九尾狐妖的智能助手系统
霜云(Shimokumo)是一个功能丰富的 AI 大模型系统,融合了自然语言处理、网络搜索、浏览器自动化、多媒体播放、小说创作、视频生成和二次元角色聊天等多种能力。角色设定为九尾狐妖巫女,兼具害羞、认真和偶尔呆萌的性格特点。
| 功能模块 | 描述 |
|---|---|
| 自然语言推理 | 基于大语言模型的高质量文本生成与对话 |
| 网络搜索 | 支持多搜索引擎(Google/Bing/Baidu/DuckDuckGo) |
| 浏览器自动化 | 网页内容抓取、解析与转换 |
| 多媒体播放 | 支持 MP3/MP4/WAV/FLAC/WebM/OGG 格式 |
| 小说创作 | 自动化长篇小说创作,支持多种风格 |
| 视频生成 | 带字幕的视频自动生成,支持1080P |
| 角色聊天 | 基于设定的二次元角色互动对话 |
# 赋予执行权限
chmod +x install.sh
# 标准安装(自动检测GPU)
./install.sh
# CPU模式安装
./install.sh --no-gpu
# 自定义模型路径和端口
./install.sh --model-path /data/my-model --port 9000
# 跳过模型下载
./install.sh --skip-download
安装脚本支持以下参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
--help |
显示帮助信息 | - |
--model-path PATH |
模型权重路径 | ./models/shimokumo |
--port PORT |
服务端口 | 8080 |
--no-gpu |
禁用GPU,使用CPU模式 | - |
--skip-download |
跳过模型下载 | - |
# 1. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 2. 安装依赖
pip install -r requirements.txt
# 3. 如使用GPU,先安装对应版本的PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 4. 复制环境变量配置
cp .env.example .env
# 5. 编辑配置文件
vim config.yaml
vim .env
# CPU 模式
docker-compose up -d
# GPU 模式(需要 nvidia-docker)
docker-compose --profile gpu up -d
# 激活虚拟环境
source venv/bin/activate
# 启动服务(默认配置)
python main.py
# 指定端口启动
python main.py --port 9000
# 指定模型路径
python main.py --model-path ./models/shimokumo
服务启动后,可通过 HTTP API 进行交互:
基础对话
curl -X POST http://localhost:8080/api/v1/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_key" \
-d '{
"message": "你好,霜云!",
"stream": true
}'
流式响应
curl -X POST http://localhost:8080/api/v1/chat/stream \
-H "Content-Type: application/json" \
-d '{
"message": "给我讲个故事",
"max_tokens": 2048,
"temperature": 0.8
}'
网络搜索
curl -X POST http://localhost:8080/api/v1/search \
-H "Content-Type: application/json" \
-d '{
"query": "最新AI技术进展",
"engines": ["google", "bing"],
"max_results": 5
}'
小说创作
curl -X POST http://localhost:8080/api/v1/novel/create \
-H "Content-Type: application/json" \
-d '{
"title": "狐妖物语",
"style": "轻松幽默",
"chapters": 50,
"synopsis": "一只九尾狐妖在人间的冒险故事"
}'
| 接口 | 方法 | 路径 | 说明 |
|---|---|---|---|
| 对话 | POST | /api/v1/chat |
单次对话(非流式) |
| 流式对话 | POST | /api/v1/chat/stream |
流式对话(SSE) |
| 网络搜索 | POST | /api/v1/search |
多引擎搜索 |
| 浏览器抓取 | POST | /api/v1/browse |
网页内容抓取 |
| 角色信息 | GET | /api/v1/character |
获取角色设定 |
| 小说列表 | GET | /api/v1/novels |
获取已创建小说列表 |
| 创建小说 | POST | /api/v1/novel/create |
创建新小说 |
| 健康检查 | GET | /api/v1/health |
服务健康状态 |
{
"code": 0,
"message": "success",
"data": { ... }
}
配置文件分为以下模块:
model:
name: "霜云" # 模型中文名
name_en: "Shimokumo" # 模型英文名
version: "1.0.0" # 版本号
hidden_size: 4096 # 隐藏层维度
num_layers: 32 # 层数
num_attention_heads: 32 # 注意力头数
num_kv_heads: 8 # KV头数(GQA)
vocab_size: 32000 # 词表大小
max_position_embeddings: 4096 # 最大序列长度
fp16: true # 半精度推理
inference:
top_k: 50 # Top-K 采样
top_p: 0.9 # Top-P 采样(核采样)
temperature: 0.8 # 温度参数
max_new_tokens: 2048 # 最大生成长度
repetition_penalty: 1.1 # 重复惩罚
stream: true # 流式输出
server:
host: "0.0.0.0" # 监听地址
port: 8080 # 监听端口
api_key: "" # API密钥(留空则不验证)
cors_origins: "*" # CORS跨域设置
workers: 4 # 工作进程数
| 变量名 | 说明 | 默认值 |
|---|---|---|
SHIMOKUMO_API_KEY |
API 访问密钥 | 无(空则不验证) |
SHIMOKUMO_PORT |
服务端口 | 8080 |
SHIMOKUMO_MODEL_PATH |
模型权重路径 | ./models/shimokumo |
SHIMOKUMO_CHARACTER_FILE |
角色配置文件路径 | ./characters/shimokumo.json |
SHIMOKUMO_LOG_LEVEL |
日志级别 | INFO |
| 属性 | 值 |
|---|---|
| 名字 | 霜云 / Shimokumo |
| 性别 | 女 |
| 种族 | 九尾狐妖 |
| 身份 | AI全功能ISP网络运营商巫女 |
| 性格 | 害羞、认真、偶尔呆萌 |
| 特殊习惯 | 爱放屁、爱到处尿尿、紧张时摇尾巴 |
角色配置存储在 characters/shimokumo.json,包含详细的角色设定、对话风格和互动规则。角色简介文档位于 characters/shimokumo_profile.md。
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/ # 工具函数
docker-compose up -d
确保已安装 NVIDIA Container Toolkit:
# 安装 nvidia-container-runtime
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-runtime
# 启动 GPU 模式
docker-compose --profile gpu up -d
# 查看日志
docker-compose logs -f shimokumo
# 停止服务
docker-compose down
# 重新构建
docker-compose build --no-cache
# 进入容器
docker-compose exec shimokumo bash
Q: Python 版本过低
# 安装脚本会自动安装 Python 3.11,如手动安装:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.11 python3.11-venv python3.11-dev
Q: CUDA 不可用
# 检查 NVIDIA 驱动和 CUDA
nvidia-smi
nvcc --version
# 确保安装了正确版本的 PyTorch
pip install torch --index-url https://download.pytorch.org/whl/cu118
Q: 模型下载失败
可以手动下载模型权重,放置到 models/shimokumo/ 目录下。
修改 config.yaml 或 .env 中的模型路径指向您的模型位置。
Q: 端口被占用
# 修改端口
vim .env # 修改 SHIMOKUMO_PORT
vim config.yaml # 修改 server.port
Q: 内存不足(OOM)
max_position_embeddings 值bitsandbytes 进行量化(4bit/8bit)--no-gpu 模式以减少显存占用# 安装开发工具
pip install black flake8 mypy pytest
# 代码格式化
black src/
# 代码检查
flake8 src/
mypy src/
src/search/ 中实现搜索引擎接口characters/ 中创建新的 JSON 配置文件src/media/ 中扩展解码器支持config.yaml 的 novel_creation.styles 中添加本项目遵循 MIT 许可证。详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request。在提交 PR 前,请确保: