一个面向行业研究、战略分析和投资决策的 AI 原生智能体平台。融合 RAG 知识检索、多维度分析框架和专业工具集,实现对前沿行业的深度洞察。
| 维度 | 能力 |
|---|---|
| 行业知识库 | 半导体、新能源汽车、AI、生物医药、新能源 — 5 大行业的结构化数据 + RAG 检索 |
| 分析工具链 | 11 个内置工具:SWOT / PESTEL / 波特五力 / 价值链 / 技术路线图 / 政策法规 / 竞争格局 / 供应链映射 / 行业新闻 / 企业背景 / 市场规模 |
| 智能体编排 | 5 节点工作流引擎(Start → Knowledge → Tool → LLM → Answer),SSE 流式输出 |
| 模型灵活 | 支持 OpenAI 兼容接口、DashScope、DeepSeek 等,可接入用户自有 LLM |
| 平台能力 | 用户认证 / 工作空间 / 智能体发布审核 / 知识库管理 / 会话记忆 / 深度思考 / 联网搜索 |
┌─────────────────────────────────────────────────────────────┐
│ Browser (React 18 + Vite) │
│ http://127.0.0.1:5175 │
└──────────────────────────┬──────────────────────────────────┘
│ HTTP / SSE
┌──────────────────────────▼──────────────────────────────────┐
│ FastAPI (api/main.py) :8001 │
│ ┌─────────┬──────────┬──────────┬──────────┬───────────┐ │
│ │ Auth │ Agents │Knowledge │ RAG │ Tools │ │
│ │ (JWT) │ (CRUD) │ (文档入库)│(Dense+B25│(11内置) │ │
│ │ │ │ │+RRF+Rera │ │ │
│ │ │ │ │ nk) │ │ │
│ └─────────┴──────────┴──────────┴──────────┴───────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ WorkflowRunner (core/runtime/workflow.py) │ │
│ │ Start → Knowledge(RAG) → Tool(FC loop) → LLM → Ans │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────────┘
┌───────────────┼───────────────┐
┌─────▼─────┐ ┌──────▼──────┐ ┌────▼────┐
│ PostgreSQL │ │Milvus/内存 │ │ Redis │
│ (SQLite) │ │ 向量存储 │ │ (缓存) │
└───────────┘ └─────────────┘ └──────────┘
5 节点流水线,每节点产生可追踪的 RunStep:
Start ──► Knowledge ──► Tool ──► LLM ──► Answer
│ │ │ │ │
接收输入 RAG检索 工具调用 生成回答 输出结果
实时返回引用 支持8轮 深度思考 结构化报告
用户Query → Dense(向量嵌入) ─┐
├──► RRF融合 ──► Rerank(qwen3) ──► TopK结果
→ BM25(jieba分词) ─┘ + Redis缓存 + 证据校验
| 工具名 | 功能 | 数据来源 |
|---|---|---|
industry_news |
行业实时新闻 | 结构化新闻库 + DuckDuckGo 联网 |
company_background |
企业背景查询 | 企业数据库(华为/比亚迪/宁德时代等) |
market_sizing |
市场规模数据 | 行业市场数据库 |
swot_analysis |
SWOT 分析框架 | 结构化分析模板 |
pestel_analysis |
PESTEL 宏观分析 | 结构化分析模板 |
porter_five_forces |
波特五力分析 | 结构化分析模板 |
value_chain_analysis |
价值链分析 | 行业价值链数据库 |
technical_roadmap |
技术路线图 | 行业技术路线数据库 |
regulatory_analysis |
政策法规分析 | 行业政策数据库 |
competitive_landscape |
竞争格局分析 | 企业竞争数据库 |
supply_chain_mapping |
供应链映射 | 供应链数据库 |
- Python 3.11+
- Node.js 18+ / npm
cp .env.example .env.env 最小配置(本地开发):
JWT_SECRET=your-secret-key-here
DATABASE_URL=sqlite:///./lingshu.db
OPENAI_API_KEY=sk-your-key
OPENAI_MODEL=qwen-plus
LINGSHU_MOCK_LLM=true
LINGSHU_VECTOR_BACKEND=memory
API_KEY_ENCRYPTION_KEY=601016
CORS_ORIGINS=http://127.0.0.1:5175,http://localhost:5175# 后端
pip install -r requirements.txt
uvicorn api.main:app --host 127.0.0.1 --port 8001
# 前端 (新终端)
cd frontend
npm install
npm run dev -- --port 5175- 打开
http://127.0.0.1:5175 - 注册账号(第一个用户自动成为管理员)
- 系统自动创建"行业分析专家"智能体 + 行业知识库
- 开始对话,例如:"分析半导体行业竞争格局"
# 启动基础设施
docker-compose up -d postgres redis
# 修改 .env 中 DATABASE_URL 和 REDIS_URL 指向 Docker.
├── api/ # FastAPI 应用层
│ ├── main.py # 40+ 端点、SSE 流式、启动事件
│ ├── schemas.py # Pydantic 请求/响应模型
│ └── deps.py # JWT 鉴权、权限依赖注入
├── core/ # 核心业务层
│ ├── config.py # Pydantic Settings 配置管理
│ ├── db/
│ │ ├── models.py # 20+ SQLAlchemy ORM 模型
│ │ └── session.py # 数据库会话工厂
│ ├── integrations/
│ │ ├── llm.py # OpenAI 兼容 LLM 网关
│ │ └── vector_store.py # 向量存储抽象 (Milvus/Memory)
│ ├── runtime/
│ │ └── workflow.py # 工作流引擎 WorkflowRunner
│ ├── security/
│ │ ├── auth.py # JWT + PBKDF2 密码哈希
│ │ ├── api_keys.py # Fernet API Key 加密
│ │ └── permissions.py # 角色 RBAC
│ └── services/
│ ├── industry_data.py # ★ 行业数据中心 - 结构化知识资产
│ ├── tools.py # 11 个内置行业分析工具
│ ├── rag.py # RAG 检索管线
│ ├── knowledge.py # 知识库管理
│ ├── bootstrap.py # 首次启动初始化
│ └── ...
├── frontend/ # React SPA
│ └── src/
│ ├── main.jsx # 单文件应用(多页面路由)
│ ├── styles.css # 全局样式系统
│ └── views/ # 页面组件
├── data/ # 知识库原始数据
│ ├── 半导体行业分析.txt
│ ├── 新能源汽车行业分析.txt
│ ├── 人工智能行业分析.txt
│ ├── 医药行业分析.txt
│ └── 新能源行业分析.txt
├── tests/ # pytest 集成测试
├── docker-compose.yml
└── requirements.txt
| 层 | 技术 | 说明 |
|---|---|---|
| 后端框架 | FastAPI 0.115 + Uvicorn | 异步高性能、自动 OpenAPI 文档 |
| 前端 | React 18 + Vite 5 | SPA、SSE 流式渲染、Markdown |
| 数据库 | SQLAlchemy 2.0 + PostgreSQL/SQLite | ORM、兼容迁移 |
| 向量检索 | Milvus / 内存向量 | Dense 检索 + BM25 混合 |
| 缓存 | Redis | RAG 缓存、任务状态 |
| LLM | OpenAI 兼容协议 | DashScope / DeepSeek / 自定义 |
| 分词 | jieba | 中文 BM25 分词 |
| 安全 | JWT + PBKDF2 + Fernet | 认证、密码哈希、API Key 加密 |
# core/runtime/workflow.py - Tool 节点
for _round in range(8): # 最多 8 轮
response = provider.chat(messages, tools=schema)
if not response.tool_calls: break # 无工具调用则结束
for tc in response.tool_calls:
result = execute_tool(tool, args) # 执行工具
messages.append({"role": "tool", ...}) # 结果回填
# 最终用累积上下文生成答案# core/security/api_keys.py
from cryptography.fernet import Fernet
# 用户 LLM Key 使用 Fernet 对称加密存储,前端永不回显# core/services/tools.py - HTTP 工具 URL 校验
# 拒绝: localhost / 内网IP / 链路本地地址 / 云元数据地址
# 要求: HTTPS 协议| 面试看点 | 具体体现 |
|---|---|
| 全栈能力 | 前后端分离、数据库设计、Docker部署 |
| 架构设计 | 工作流引擎、多节点流水线、依赖注入 |
| AI 工程化 | RAG 混合检索、Function Calling、SSE 流式 |
| 安全实践 | JWT、PBKDF2、Fernet加密、SSRF防护、RBAC |
| 工程规范 | Pydantic 配置管理、pytest 测试、CS架构 |
| 业务深度 | 行业知识库、专业分析工具、结构化输出 |
MIT