# fullstackagent **Repository Path**: ruitengsoftware/fullstackagent ## Basic Information - **Project Name**: fullstackagent - **Description**: 全栈agent项目,练手 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-11 - **Last Updated**: 2026-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业级RAG知识库系统 类火山引擎的企业级RAG(检索增强生成)知识库系统,用于管理CSV表格数据,支持文档上传、切片管理、检索问答,并通过流式SSE接口集成到业务。 ## 技术栈 - **前端**: React 18 + TypeScript + Vite + Ant Design + Axios - **后端**: Python 3.10 + FastAPI + LangChain + ChromaDB + Sentence-Transformers - **容器化**: Docker & Docker Compose ## 快速启动 ### 方式一:Docker Compose(推荐) ```bash # 一键启动所有服务 docker-compose up --build # 访问地址 # 前端: http://localhost:5173 # 后端API: http://localhost:8000 # API文档: http://localhost:8000/docs ``` ### 方式二:本地开发 #### 后端 ```bash cd backend # 创建虚拟环境 python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 配置环境变量 cp .env .env.local # 编辑 .env.local 中的配置 # 启动服务 uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` #### 前端 ```bash cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev # 访问 http://localhost:5173 ``` ## 环境变量配置 编辑 `backend/.env` 文件: ```bash # LLM配置(可选,默认使用Mock LLM) OPENAI_API_KEY=your-api-key OPENAI_API_BASE=https://api.openai.com/v1 LLM_MODEL=gpt-3.5-turbo # 设置为false以使用真实LLM USE_MOCK_LLM=true ``` ## API接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/health` | 健康检查 | | GET | `/api/knowledge-bases` | 获取知识库列表 | | POST | `/api/knowledge-bases` | 创建知识库 | | POST | `/api/documents/upload` | 上传CSV文档 | | GET | `/api/documents` | 获取文档列表 | | GET | `/api/documents/{id}/status` | 获取文档处理状态 | | GET | `/api/documents/{id}/chunks` | 获取文档切片详情 | | DELETE | `/api/documents/{id}` | 删除文档 | | POST | `/api/chat/stream` | SSE流式问答接口 | ## 外部API集成 系统的 `/api/chat/stream` 接口对外提供标准Server-Sent Events (SSE)流式问答能力: ```bash curl -X POST http://localhost:8000/api/chat/stream \ -H "Content-Type: application/json" \ -d '{"query": "你的问题", "knowledge_base": "default", "top_k": 3}' ``` 响应格式: ``` data: {"type": "sources", "sources": [...]} data: {"type": "content", "content": "逐字"} data: {"type": "content", "content": "返回"} data: {"type": "done"}