MindMap/others_deletable/ai-content-analyzer/README.md

187 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI Content Analyzer & Markdown Converter
一个集成了AI内容分析和Markdown转换功能的完整工具集。
## 核心逻辑链
**AI处理 → 生成Markdown → Markdown转JSON**
1. **AI内容分析器** (`json_openai.py`) - 使用AI分析文章并生成Markdown格式
2. **Markdown转换器** (`markdownToJSON.ts`) - 将AI生成的Markdown转换为JSON树形结构
## 项目功能
### 1. AI内容分析器 (`json_openai.py`)
- 使用智谱AI API分析文章结构
- 将分析结果转换为标准Markdown格式
- 支持标题层级和列表项生成
- 支持流式响应处理
### 2. Markdown转换器 (`markdownToJSON.ts`)
- 将Markdown文本转换为JSON树形结构
- 支持标题层级解析(# ## ###
- 处理列表项和嵌套结构(- 列表项)
- TypeScript实现类型安全
## 安装依赖
```bash
# 安装Python依赖
pip install openai
# 安装Node.js依赖
npm install
```
## 使用方法
### 完整流程演示
```python
# 运行完整流程测试
python3 test_simple_pipeline.py
```
### AI内容分析生成Markdown
```python
from json_openai import llm_format_text, EXTRACT_OUNTLINE_SYSTEM_PROMPT
# 配置API
model = "glm-4.5"
base_url = "https://open.bigmodel.cn/api/paas/v4/"
api_key = "your_api_key"
# 分析内容并生成Markdown
messages = [
{"role": "system", "content": EXTRACT_OUNTLINE_SYSTEM_PROMPT},
{"role": "user", "content": "你的文章内容"}
]
markdown_result = llm_format_text(model, base_url, api_key, messages, 2000)
print(markdown_result) # 输出Markdown格式
```
### Markdown转换
```typescript
import { markdownToJSON } from './markdownToJSON.js';
const markdown = `# 主标题
## 第一章
内容...
- 列表项`;
const result = markdownToJSON(markdown);
console.log(JSON.stringify(result, null, 2));
```
## 运行测试
### 完整流程测试
```bash
python3 test_simple_pipeline.py
```
### 单独测试
#### Python测试AI生成Markdown
```bash
python3 test_json_openai.py
```
#### TypeScript测试Markdown转JSON
```bash
npm run build
npm test
```
## 项目结构
```
ai-content-analyzer/
├── json_openai.py # AI内容分析主函数
├── test_json_openai.py # Python测试文件
├── markdownToJSON.ts # Markdown转换函数
├── test_markdown.ts # TypeScript测试文件
├── tsconfig.json # TypeScript配置
├── package.json # Node.js项目配置
├── dist/ # 编译输出目录
│ ├── markdownToJSON.js
│ ├── test_markdown.js
│ └── *.d.ts
└── README.md # 项目说明
```
## 输出格式
### AI生成的Markdown格式
```markdown
# 文章主标题
## 第一章
这是第一章的内容概述。
### 1.1 小节
这是小节的具体内容。
- 要点1
- 要点2
- 子要点2.1
- 子要点2.2
## 第二章
这是第二章的内容概述。
```
### Markdown转换结果
```json
{
"nodeData": {
"id": "root",
"topic": "主标题",
"root": true,
"expanded": true,
"children": [
{
"topic": "章节标题",
"id": "unique_id",
"direction": 0,
"expanded": true,
"children": []
}
]
},
"linkData": {}
}
```
## 配置说明
### AI API配置
- **模型**: glm-4.5 (智谱AI)
- **基础URL**: https://open.bigmodel.cn/api/paas/v4/
- **需要**: 有效的API密钥
### TypeScript配置
- **目标**: ES2020
- **模块**: ES2020
- **严格模式**: 启用
## 功能特点
**AI驱动的内容分析**
**智能结构识别**
**多层级标题解析**
**写作风格分析**
**Markdown到JSON转换**
**类型安全的TypeScript实现**
**完整的错误处理**
**流式响应支持**
## 开发说明
- Python代码使用OpenAI库调用智谱AI API
- TypeScript代码提供本地Markdown解析功能
- 两种方法可以结合使用,提供更全面的内容处理能力