Update README.md
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
# 📖 自动小说生成工具
|
||||
|
||||
## 2025/2/5说明
|
||||
>当前**dev-2**分支采用了**雪花写作法、角色弧光理论、悬念三要素模型**的预设,尚在完善中,但就测试质量来说,小说质量会高于当前main分支效果。
|
||||
|
||||
<div align="center">
|
||||
|
||||
✨ **核心功能** ✨
|
||||
@@ -35,7 +32,7 @@
|
||||
|
||||
## 🛠 环境准备
|
||||
确保满足以下运行条件:
|
||||
- **Python 3.10+** 运行环境
|
||||
- **Python 3.9+** 运行环境(推荐3.10-3.12之间)
|
||||
- **pip** 包管理工具
|
||||
- 有效API密钥:
|
||||
- 云端服务:OpenAI / DeepSeek 等
|
||||
@@ -48,11 +45,11 @@
|
||||
1. **下载项目**
|
||||
- 通过 [GitHub](https://github.com) 下载项目 ZIP 文件,或使用以下命令克隆本项目:
|
||||
```bash
|
||||
git clone https://github.com/your-repo/project-name.git](https://github.com/YILING0013/AI_NovelGenerator
|
||||
git clone https://github.com/YILING0013/AI_NovelGenerator
|
||||
```
|
||||
|
||||
2. **安装编译工具**
|
||||
- 访问 [Visual Studio Build Tools](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/) 下载并安装编译工具。
|
||||
2. **安装编译工具(可选)**
|
||||
- 如果对某些包无法正常安装,访问 [Visual Studio Build Tools](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/) 下载并安装C++编译工具,用于构建部分模块包;
|
||||
- 安装时,默认只包含 MSBuild 工具,需手动勾选左上角列表栏中的 **C++ 桌面开发** 选项。
|
||||
|
||||
3. **安装依赖并运行**
|
||||
@@ -69,6 +66,12 @@
|
||||
python main.py
|
||||
```
|
||||
|
||||
>如果缺失部分依赖,后续**手动执行**
|
||||
>```bash
|
||||
>pip install XXX
|
||||
>```
|
||||
>进行安装即可
|
||||
|
||||
## 🗂 项目架构
|
||||
```
|
||||
novel-generator/
|
||||
@@ -77,7 +80,8 @@ novel-generator/
|
||||
├── novel_generator.py # 章节生成核心逻辑
|
||||
├── consistency_checker.py # 一致性检查, 防止剧情冲突
|
||||
|—— chapter_directory_parser.py # 目录解析
|
||||
|—— embedding_ollama.py # Ollama 本地服务的 Embedding 接口
|
||||
|—— embedding_adapters.py # Embedding 接口封装
|
||||
|—— llm_adapters.py # LLM 接口封装
|
||||
├── prompt_definitions.py # 定义 AI 提示词
|
||||
├── utils.py # 常用工具函数, 文件操作
|
||||
├── config_manager.py # 管理配置 (API Key, Base URL)
|
||||
@@ -91,18 +95,22 @@ novel-generator/
|
||||
### 📌 基础配置(config.json)
|
||||
```json
|
||||
{
|
||||
"api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"base_url": "https://api.openai.com/v1",
|
||||
"interface_format": "OpenAI",
|
||||
"model_name": "gpt-4o-mini",
|
||||
"temperature": 0.7,
|
||||
"max_tokens": 4096,
|
||||
"embedding_api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
|
||||
"embedding_interface_format": "OpenAI",
|
||||
"embedding_url": "https://api.openai.com/v1",
|
||||
"embedding_model_name": "text-embedding-ada-002",
|
||||
"temperature": 0.70,
|
||||
"embedding_retrieval_k": 4,
|
||||
"topic": "星穹铁道主角星穿越到原神提瓦特大陆,拯救提瓦特大陆,并与其中的角色展开爱恨情仇的小说",
|
||||
"genre": "玄幻",
|
||||
"num_chapters": 10,
|
||||
"word_number": 2000,
|
||||
"filepath": "C:/Users/Documents/test"
|
||||
"num_chapters": 120,
|
||||
"word_number": 4000,
|
||||
"filepath": "D:/AI_NovelGenerator/filepath"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -113,10 +121,12 @@ novel-generator/
|
||||
- `interface_format`: 接口模式
|
||||
- `model_name`: 主生成模型名称(如gpt-4, claude-3等)
|
||||
- `temperature`: 创意度参数(0-1,越高越有创造性)
|
||||
- `max_tokens`: 模型最大回复长度
|
||||
|
||||
2. **Embedding模型配置**
|
||||
- `embedding_model_name`: 模型名称(如Ollama的nomic-embed-text)
|
||||
- `embedding_url`: 服务地址
|
||||
- `embedding_retrieval_k`:
|
||||
|
||||
3. **小说参数配置**
|
||||
- `topic`: 核心故事主题
|
||||
@@ -202,21 +212,13 @@ pyinstaller main.spec
|
||||
---
|
||||
|
||||
## ❓ 疑难解答
|
||||
### Q1: 如何验证Embedding服务是否正常?
|
||||
```python
|
||||
# 测试脚本 test_embedding.py
|
||||
from core.embedding import get_embedder
|
||||
### Q1: Expecting value: line 1 column 1 (char 0)
|
||||
|
||||
embedder = get_embedder()
|
||||
test_text = "这是一个测试句子"
|
||||
vector = embedder.embed_query(test_text)
|
||||
print(f"向量维度: {len(vector)}") # 正常应输出预设维度数
|
||||
```
|
||||
该问题大概率由于API未正确响应造成,也许响应了一个html?其它内容,导致出现该报错;
|
||||
|
||||
### Q2: 本地Embedding响应缓慢怎么办?
|
||||
- 检查模型是否已下载到本地
|
||||
- 尝试较小尺寸的Embedding模型
|
||||
- 增加Ollama服务的运行内存
|
||||
|
||||
### Q2: HTTP/1.1 504 Gateway Timeout?
|
||||
确认接口是否稳定;
|
||||
|
||||
### Q3: 如何切换不同的Embedding提供商?
|
||||
在GUI界面中对应输入即可。
|
||||
|
||||
Reference in New Issue
Block a user