|
|
2 viikkoa sitten | |
|---|---|---|
| api | 2 viikkoa sitten | |
| config | 2 viikkoa sitten | |
| core | 2 viikkoa sitten | |
| middlewares | 1 kuukausi sitten | |
| tests | 2 viikkoa sitten | |
| tools | 2 viikkoa sitten | |
| utils | 1 kuukausi sitten | |
| .env.development.example | 1 kuukausi sitten | |
| .env.example | 1 kuukausi sitten | |
| .gitignore | 1 kuukausi sitten | |
| .registration.example | 1 kuukausi sitten | |
| README.md | 1 kuukausi sitten | |
| app.py | 1 kuukausi sitten | |
| check_deploy.py | 1 kuukausi sitten | |
| cythonize.py | 3 viikkoa sitten | |
| get_device_id.py | 1 kuukausi sitten | |
| nssm.exe | 1 kuukausi sitten | |
| requirements.txt | 2 viikkoa sitten | |
| setup.py | 1 kuukausi sitten |
龙嘉软件AI助手是一个基于FastAPI和LangChain构建的智能对话系统,提供聊天、OCR识别、文档处理等AI功能。项目采用模块化设计,支持多用户并发处理,具备完善的工具管理和缓存机制。
LongjoeAgent/
├── api/ # API接口层
│ ├── models.py # 数据模型定义
│ └── routes.py # 路由定义
├── config/ # 配置文件
│ ├── template_config.json # 单据识别模板提示词配置
│ ├── tool_config.json # 工具提示词配置
├── core/ # 核心业务逻辑
│ ├── agent.py # LangChain Agent创建
│ ├── agent_manager.py # Agent管理器
│ ├── chat_service.py # 聊天服务
│ ├── document_processor/ # 文档处理模块
│ ├── ocr_service.py # OCR服务
│ └── lifespan_manager.py # 生命周期管理
├── tools/ # 工具模块
│ ├── base_tools.py # 工具类公用方法
│ ├── knowledge_tools.py # 知识库工具
│ ├── sale_tools.py # 销售工具
│ ├── ware_tools.py # 库存工具
│ └── tool_factory.py # 工具工厂
├── middlewares/ # 中间件
├── utils/ # 工具类
├── chat_logs/ # 聊天日志
├── app.py # 主应用入口
├── requirements.txt # 依赖包
├── cythonize.py # 编译工具
└── setup.py # 编译配置
安装python 3.13.7
https://www.python.org/ftp/python/3.13.7/python-3.13.7-amd64.exe
克隆项目
创建并激活虚拟环境
进入项目目录
cd your_project_folder
创建名为 venv 的虚拟环境
python -m venv venv
激活环境
venv\Scripts\activate
在虚拟环境中安装依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
配置DEEPSEEK_API_KEY
参考.env.development.example创建 .env.development 文件并配置DEEPSEEK_API_KEY
获取设备码, 并向耀申请注册码
python get_device_id.py
配置注册码
参考.registration.example创建 .registration 文件并配置REGISTRATION_CODE
启动服务
python app.py
服务启动后访问 健康检查: http://localhost:8888/health, 确认服务启动成功
POST /chatjson
{
"message": "用户消息",
"thread_id": "会话ID",
"username": "用户名",
"backend_url": "后端URL",
"token": "认证令牌"
}
POST /ocrjson
{
"image": "Base64图片数据",
"type": "图片类型"
}
POST /message_create_billjson
{
"message": "单据描述",
"document_type": "单据类型"
}
项目目前支持以下工具:
tools/ 目录下创建新的工具文件,以 _tools.py 结尾,通常一个文件对应一个模块的工具@tool 装饰器标记工具函数,或使用 tool 类定义工具(参考ware_tools.py)name 和 description 属性config\tool_config.json中定义,重新启动服务后生效api/routes.py 中添加新的路由api/models.py 中定义数据模型生成依赖包 requirements.txt
pipreqs . --encoding=utf8 --force
使用setup.py编译项目
python cythonize.py
使用Uvicorn启动服务
uvicorn app:app --host 0.0.0.0 --port 8888 --workers 4
工具加载失败
OCR识别失败
内存泄漏
日志文件位于 chat_logs/ 目录,包含详细的运行信息。
本项目仅供龙嘉软件内部使用。
如有问题请联系项目维护团队。
最后更新: 2026年1月