# tiny-qa **Repository Path**: wuchunfu/tiny-qa ## Basic Information - **Project Name**: tiny-qa - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-07 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tiny QA - 智能知识库问答系统 Tiny QA 是一个轻量级的智能知识库问答系统,支持多种文档格式,可以快速构建和管理个人或团队的知识库。 ## 功能特性 - 📄 **多格式支持**: 支持 PDF、Word、Excel、TXT、Markdown 等格式 - 🔍 **智能搜索**: 基于向量相似度的语义搜索 - 🤖 **AI问答**: 集成多种AI服务商,提供智能问答 - 📊 **实时监控**: 自动检测文档变化并更新知识库 - 🌐 **Web界面**: 简洁易用的Web管理界面 - 📦 **易于部署**: 一键安装,支持Docker部署 ## 系统要求 - Python 3.8+ - 16GB+ 内存 - 5GB+ 磁盘空间 ## 快速开始 ### Windows 用户 Windows用户请查看 [Windows运行指南](README_WINDOWS.md) ### Linux/macOS 用户 #### 1. 安装 ```bash # 克隆项目 git clone cd tiny_qa # 运行安装脚本 chmod +x scripts/install.sh ./scripts/install.sh ``` #### 2. 启动服务 ```bash # 启动服务 ./scripts/start.sh # 或手动启动 source venv/bin/activate python app.py ``` #### 3. 访问系统 打开浏览器访问: http://localhost:5002 ### 4. 配置系统 1. 访问设置页面:http://localhost:5002/settings 2. 配置文档目录路径(支持实时验证) 3. 调整分块参数(大小和重叠) 4. 扫描并处理文档 ## 使用指南 ### 文档管理 1. **配置文档目录**: 在设置页面指定包含文档的目录路径 2. **扫描文档**: 系统会自动扫描支持的文档格式 3. **处理文档**: 将文档内容分块并向量化存储 ### 智能问答 1. 访问问答页面 2. 输入问题 3. 系统基于知识库提供答案 ### 系统监控 - 查看文档处理状态 - 监控系统运行状态 - 查看问答历史 ## 配置说明 ### 配置文件 配置文件位于 `config/settings.yaml`,主要配置项: ```yaml app: host: "0.0.0.0" port: 5001 debug: true documents: path: "data/documents" chunk_size: 1000 chunk_overlap: 200 ai: embedding_model: "sentence-transformers/all-MiniLM-L6-v2" providers: - name: "tencent" api_key: "" secret_key: "" ``` ### 支持的AI服务商 - 腾讯云AI - OpenAI - 阿里云AI - 百度AI ## 目录结构 ``` tiny_qa/ ├── app/ # 应用代码 │ ├── api/ # API接口 │ ├── core/ # 核心模块 │ ├── processors/ # 文档处理器 │ ├── utils/ # 工具函数 │ └── web/ # Web界面 ├── config/ # 配置文件 ├── data/ # 数据目录 │ ├── documents/ # 用户文档 │ ├── database/ # SQLite数据库 │ └── vectors/ # 向量数据库 ├── scripts/ # 脚本文件 ├── static/ # 静态文件 ├── templates/ # 模板文件 └── logs/ # 日志文件 ``` ## 开发指南 ### 环境设置 ```bash # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` ### 添加新的文档处理器 1. 在 `app/processors/` 目录下创建新的处理器类 2. 继承 `BaseDocumentProcessor` 类 3. 实现 `extract_text` 方法 4. 在 `DocumentProcessorFactory` 中注册 ### 添加新的AI服务商 1. 在 `app/core/` 目录下创建新的AI服务类 2. 实现统一的接口方法 3. 在配置文件中添加服务商配置 ## 部署指南 ### Docker部署 (推荐) Docker部署是最简单的方式,支持一键安装和跨平台运行。 #### 快速部署 ```bash # 克隆项目 git clone cd tiny_qa # 一键部署 chmod +x scripts/docker-deploy.sh ./scripts/docker-deploy.sh ``` #### 详细步骤 ```bash # 1. 安装并启动Ollama ollama serve ollama pull qwen2.5:7b # 2. 构建镜像 ./scripts/docker-build.sh # 3. 启动服务 docker-compose up -d ``` #### 访问系统 - **主页**: http://localhost:5002 - **API**: http://localhost:5002/api 详细说明请查看 [Docker部署指南](README_DOCKER.md) ### 传统部署 #### Linux/macOS ```bash # 创建系统服务 sudo cp scripts/qa-tiny.service /etc/systemd/system/ sudo systemctl enable qa-tiny sudo systemctl start qa-tiny ``` #### Windows 使用Windows脚本或PowerShell脚本,详见 [Windows运行指南](README_WINDOWS.md) ## 故障排除 ### 常见问题 1. **端口被占用**: 修改配置文件中的端口设置 2. **依赖安装失败**: 检查Python版本和网络连接 3. **文档处理失败**: 检查文档格式和文件权限 4. **AI服务连接失败**: 检查API密钥和网络连接 ### 日志查看 ```bash # 查看应用日志 tail -f logs/tiny_qa.log # 查看系统日志 journalctl -u qa-tiny -f ``` ## 贡献指南 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 发起 Pull Request ## 许可证 MIT License ## 联系方式 - 项目主页: [GitHub Repository] - 问题反馈: [Issues] - 邮箱: [your-email@example.com] ## 更新日志 ### v1.0.0 - 初始版本发布 - 支持基础文档处理和问答功能 - 提供Web管理界面