Skip to content

HuachunSi/learn_llm

Repository files navigation

大语言模型学习项目

本项目展示了一个从图像中提取公式、代码实现、注入数据库、向量搜索和公式问答的完整处理流程。

流程组件

  1. formula_from_images_dir.py

    • 使用OCR(光学字符识别)从图像中提取公式
    • 利用Qwen2.5-VL-3B-Instruct模型进行图像处理
    • 支持处理单个图像或整个目录
    • 以markdown格式输出提取的公式
  2. code_from_formulas_dir.py

    • 根据公式描述生成Python函数
    • 使用Qwen2.5-Coder-7B-Instruct模型进行代码生成
    • 处理包含公式描述的markdown文件
    • 输出带有适当错误处理和参数检查的Python函数
  3. json_from_codes_dir.py

    • 将Python函数转换为JSON工具描述
    • 生成包含参数详细信息的函数JSON表示
    • 处理目录中的Python文件
    • 在指定的知识库目录中输出JSON文件
  4. inject2db.py

    • 将知识库中的Markdown文件内容转换为嵌入向量
    • 使用sentence-transformers模型生成文本嵌入
    • 将嵌入向量存储到SQLite数据库中
    • 支持清空现有数据并重新填充数据库
    • 提供进度跟踪和完成确认
  5. search.py

    • 实现基于向量相似度的文档搜索功能
    • 使用SQLite数据库存储和检索文档嵌入向量
    • 支持指定搜索查询和返回结果数量
    • 计算查询与数据库中文档的余弦相似度
    • 返回最相关的文档文件名及其相似度得分
  6. funcation_call.py

    • 提供函数装饰和执行的实用工具
    • 包括转换字符串参数、执行代码和格式化结果的方法
    • 支持在markdown输出中渲染LaTeX公式

设置和使用

  1. 确保安装了所需的依赖项:

    • gradio
    • openai
    • json_repair
  2. 设置Qwen模型所需的API密钥和基础URL。

  3. 按上述顺序运行每个脚本,以通过流程处理您的数据。

主要特性

  • 支持图像和markdown文件的批量处理
  • 生成带有适当错误处理的Python函数
  • 将函数转换为JSON工具描述,便于集成
  • 提供批量操作的进度跟踪
  • 包含Gradio界面,支持交互式使用

注意事项

  • 项目使用自定义OpenAI客户端配置,专门用于特定的Qwen模型
  • 确保您有必要的权限和资源来使用指定的API端点
  • 如果输出目录(如KNOWLEDGE_BASE)不存在,会自动创建

未来改进

  1. 整合流程:

    • 开发一个统一的脚本,将公式提取、代码生成、JSON转换和数据库注入等所有流程整合到一个文件中。
    • 实现流程间的无缝衔接,确保数据在各个阶段之间顺畅传递。
  2. 交互式Gradio界面:

    • 创建一个综合的Gradio界面,集成所有功能于一体。
    • 设计直观的用户界面,使用户能够轻松执行整个处理流程。
  3. 文件管理功能:

    • 在Gradio界面中添加文件上传、查看和管理功能。
    • 支持批量文件处理和文件夹上传。
    • 提供文件预览和编辑功能,特别是对于markdown文件。
  4. 问答功能:

    • 集成基于处理后数据的问答系统。
    • 允许用户通过自然语言查询来检索和理解处理后的公式和代码。
    • 实现上下文感知的对话功能,提高交互体验。
  5. *实时进度跟踪:

    • 在界面中添加实时进度条,显示各个处理阶段的完成情况。
    • 提供详细的日志输出,方便用户了解处理过程中的细节。
  6. 结果可视化:

    • 增加图表和可视化工具,以直观方式展示处理结果。
    • 支持公式、代码和JSON数据的格式化显示。
  7. *用户认证和项目管理:

    • 实现用户登录系统,支持多用户使用。
    • 添加项目管理功能,允许用户创建和管理多个独立的处理任务。
  8. *API集成:

    • 开发RESTful API,使其他应用能够programmatically访问和使用该系统的功能。
  9. *性能优化:

    • 实现异步处理和后台任务队列,提高大规模数据处理的效率。
    • 优化数据库查询和嵌入向量生成过程,减少处理时间。
  10. *扩展模型支持:

    • 增加对其他大语言模型的支持,如GPT系列、BERT等。
    • 提供模型选择和参数调整的选项,以适应不同的使用场景。

标*项为可选改进,通过这些改进,项目将evolve成为一个更加强大、用户友好且功能全面的系统,能够满足从数据提取到知识应用的全流程需求。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages