YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

霜云 AI 大模型 (Shimokumo AI)

AI全功能ISP网络运营商巫女 -- 基于九尾狐妖的智能助手系统

项目介绍

霜云(Shimokumo)是一个功能丰富的 AI 大模型系统,融合了自然语言处理、网络搜索、浏览器自动化、多媒体播放、小说创作、视频生成和二次元角色聊天等多种能力。角色设定为九尾狐妖巫女,兼具害羞、认真和偶尔呆萌的性格特点。

功能特性

功能模块 描述
自然语言推理 基于大语言模型的高质量文本生成与对话
网络搜索 支持多搜索引擎(Google/Bing/Baidu/DuckDuckGo)
浏览器自动化 网页内容抓取、解析与转换
多媒体播放 支持 MP3/MP4/WAV/FLAC/WebM/OGG 格式
小说创作 自动化长篇小说创作,支持多种风格
视频生成 带字幕的视频自动生成,支持1080P
角色聊天 基于设定的二次元角色互动对话

系统要求

最低要求

  • 操作系统: Ubuntu 20.04+ / Debian 11+ / CentOS 8+ / macOS 12+
  • Python: 3.10 或更高版本
  • 内存: 8GB RAM
  • 磁盘空间: 20GB(含模型权重)

推荐配置

  • GPU: NVIDIA GPU(支持 CUDA 11.8+),显存 >= 16GB
  • 内存: 32GB RAM
  • 磁盘空间: 50GB SSD

快速安装

方式一:自动安装脚本(推荐)

# 赋予执行权限
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

方式三:Docker 安装

# 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

API 调用

服务启动后,可通过 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": "一只九尾狐妖在人间的冒险故事"
  }'

API 文档

接口列表

接口 方法 路径 说明
对话 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": { ... }
}

配置说明

config.yaml 主配置文件

配置文件分为以下模块:

模型配置 (model)

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)

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)

server:
  host: "0.0.0.0"            # 监听地址
  port: 8080                 # 监听端口
  api_key: ""                # API密钥(留空则不验证)
  cors_origins: "*"          # CORS跨域设置
  workers: 4                 # 工作进程数

环境变量 (.env)

变量名 说明 默认值
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 部署

CPU 模式

docker-compose up -d

GPU 模式

确保已安装 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 命令

# 查看日志
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/

扩展功能

  1. 添加新的搜索引擎: 在 src/search/ 中实现搜索引擎接口
  2. 自定义角色: 在 characters/ 中创建新的 JSON 配置文件
  3. 添加新的媒体格式: 在 src/media/ 中扩展解码器支持
  4. 自定义小说风格: 在 config.yamlnovel_creation.styles 中添加

许可证

本项目遵循 MIT 许可证。详见 LICENSE 文件。

贡献

欢迎提交 Issue 和 Pull Request。在提交 PR 前,请确保:

  1. 代码通过所有测试
  2. 遵循项目代码规范
  3. 更新相关文档
Downloads last month
207
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including Shimokumo/shimokumo