本项目展示了一个从图像中提取公式、代码实现、注入数据库、向量搜索和公式问答的完整处理流程。
-
formula_from_images_dir.py
- 使用OCR(光学字符识别)从图像中提取公式
- 利用Qwen2.5-VL-3B-Instruct模型进行图像处理
- 支持处理单个图像或整个目录
- 以markdown格式输出提取的公式
-
code_from_formulas_dir.py
- 根据公式描述生成Python函数
- 使用Qwen2.5-Coder-7B-Instruct模型进行代码生成
- 处理包含公式描述的markdown文件
- 输出带有适当错误处理和参数检查的Python函数
-
json_from_codes_dir.py
- 将Python函数转换为JSON工具描述
- 生成包含参数详细信息的函数JSON表示
- 处理目录中的Python文件
- 在指定的知识库目录中输出JSON文件
-
inject2db.py
- 将知识库中的Markdown文件内容转换为嵌入向量
- 使用sentence-transformers模型生成文本嵌入
- 将嵌入向量存储到SQLite数据库中
- 支持清空现有数据并重新填充数据库
- 提供进度跟踪和完成确认
-
search.py
- 实现基于向量相似度的文档搜索功能
- 使用SQLite数据库存储和检索文档嵌入向量
- 支持指定搜索查询和返回结果数量
- 计算查询与数据库中文档的余弦相似度
- 返回最相关的文档文件名及其相似度得分
-
funcation_call.py
- 提供函数装饰和执行的实用工具
- 包括转换字符串参数、执行代码和格式化结果的方法
- 支持在markdown输出中渲染LaTeX公式
-
确保安装了所需的依赖项:
- gradio
- openai
- json_repair
-
设置Qwen模型所需的API密钥和基础URL。
-
按上述顺序运行每个脚本,以通过流程处理您的数据。
- 支持图像和markdown文件的批量处理
- 生成带有适当错误处理的Python函数
- 将函数转换为JSON工具描述,便于集成
- 提供批量操作的进度跟踪
- 包含Gradio界面,支持交互式使用
- 项目使用自定义OpenAI客户端配置,专门用于特定的Qwen模型
- 确保您有必要的权限和资源来使用指定的API端点
- 如果输出目录(如KNOWLEDGE_BASE)不存在,会自动创建
-
整合流程:
- 开发一个统一的脚本,将公式提取、代码生成、JSON转换和数据库注入等所有流程整合到一个文件中。
- 实现流程间的无缝衔接,确保数据在各个阶段之间顺畅传递。
-
交互式Gradio界面:
- 创建一个综合的Gradio界面,集成所有功能于一体。
- 设计直观的用户界面,使用户能够轻松执行整个处理流程。
-
文件管理功能:
- 在Gradio界面中添加文件上传、查看和管理功能。
- 支持批量文件处理和文件夹上传。
- 提供文件预览和编辑功能,特别是对于markdown文件。
-
问答功能:
- 集成基于处理后数据的问答系统。
- 允许用户通过自然语言查询来检索和理解处理后的公式和代码。
- 实现上下文感知的对话功能,提高交互体验。
-
*实时进度跟踪:
- 在界面中添加实时进度条,显示各个处理阶段的完成情况。
- 提供详细的日志输出,方便用户了解处理过程中的细节。
-
结果可视化:
- 增加图表和可视化工具,以直观方式展示处理结果。
- 支持公式、代码和JSON数据的格式化显示。
-
*用户认证和项目管理:
- 实现用户登录系统,支持多用户使用。
- 添加项目管理功能,允许用户创建和管理多个独立的处理任务。
-
*API集成:
- 开发RESTful API,使其他应用能够programmatically访问和使用该系统的功能。
-
*性能优化:
- 实现异步处理和后台任务队列,提高大规模数据处理的效率。
- 优化数据库查询和嵌入向量生成过程,减少处理时间。
-
*扩展模型支持:
- 增加对其他大语言模型的支持,如GPT系列、BERT等。
- 提供模型选择和参数调整的选项,以适应不同的使用场景。
标*项为可选改进,通过这些改进,项目将evolve成为一个更加强大、用户友好且功能全面的系统,能够满足从数据提取到知识应用的全流程需求。