注意:本项目90%以上的代码都是AI生成的,生产环境使用前请自行阅读检查。 基于AI的问答系统,集成了OCR(光学字符识别)和AI对话功能。 可以通过摄像头采集视频流,截图后通过图片给输入系统 对于多模态大模型会直接发送图片给大模型进行回答 对于文字大模型会通过系统ocr识别图片中的文字,传送给大模型进行回答
ai-job/
├── backend/
│ ├── main.py # Flask服务器主文件
│ ├── requirements.txt # Python依赖
│ ├── app.pid # 运行时进程ID文件(自动生成)
│ └── services/
│ ├── ai_service.py # AI服务(OpenAI/Anthropic)
│ ├── ocr_service.py # OCR服务(Tesseract)
│ ├── video_service.py # 视频流服务(OpenCV)
│ ├── knowledge_base.py# 知识库管理
│ ├── debug_service.py # 调试服务
│ ├── config.py # 配置管理类
│ ├── upload_service.py# 文件上传服务
│ ├── image_service.py # 图像处理服务
│ └── password_service.py # 密码服务
├── config/
│ ├── config.json # 配置文件(自动生成)
│ ├── config.MD # 配置说明文件
│ ├── base_prompt.md # 系统提示词文件
│ ├── knowledge.json # 知识库文件(自动生成)
├── frontend/
│ ├── index.html # 主界面
│ ├── settings.html # 设置页面
│ ├── login.html # 登录页面
│ ├── css/
│ │ ├── style.css # 主样式文件
│ │ └── settings.css # 设置页面样式文件
│ └── js/
│ ├── app.js # 主应用脚本
│ ├── settings.js # 设置页面脚本
│ ├── debugInfo.js # 调试信息脚本
│ └── marked.min.js # Markdown渲染库
├── logs/
│ ├── config.log # 配置变更日志
│ └── running.log # 运行日志
├── start.ps1 # 启动脚本(Windows)
├── stop.ps1 # 停止脚本(Windows)
├── restart.ps1 # 重启脚本(Windows)
├── 问题必读.md # 注意事项文档
├── README.md # 项目说明文档
└── HTTPS.md # HTTPS配置说明
cd backend
pip install -r requirements.txt
下载安装 Tesseract,安装后在设置页面配置 Tesseract 路径(例如:C:\Program Files\Tesseract-OCR\tesseract.exe)。
方式一:使用脚本(推荐)
# 启动服务
.\start.ps1
# 停止服务
.\stop.ps1
# 重启服务
.\restart.ps1
方式二:直接运行
cd backend
python main.py
| 脚本 | 功能 | 说明 |
|---|---|---|
start.ps1 | 启动服务 | 检查是否已运行,记录进程ID到 backend/app.pid |
stop.ps1 | 停止服务 | 停止主进程及端口5000相关进程,清理PID文件 |
restart.ps1 | 重启服务 | 先停止后启动,适用于配置更新后重启 |
注意:
backend/app.pid文件在服务运行时自动创建,服务停止时自动删除。
在设置页面 (/settings) 配置以下内容:
请查看config.MD文件,了解详细的配置说明。
AI模型名称请使用提供平台的完整名称,例如:
minimax-m2.5或deepseek-v3.2. 请从你api提供商的模型列表中选择,确保模型名称与提供商的模型名称一致。
| 配置项 | 说明 |
|---|---|
| Tesseract 路径 | Tesseract OCR 可执行文件路径 |
| 视频源 | 目前支持摄像头 |
| 启用OCR | 是否启用OCR功能 |
| 流式响应 | 是否启用流式响应 |
在右侧"知识库"面板添加内容,这些内容会作为AI对话的上下文,帮助AI更好地理解特定领域的问题。
OTP.env 文件,内容为您想要设置的初始密码(例如:123456)config/config.json 文件,将 OTP 字段设置为 trueOTP.env 文件中的密码,将其哈希存储,并将 OTP 设置为 false,然后删除 OTP.env 文件如需启用 HTTPS,请参阅 HTTPS 配置说明,包含: