海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

llmware是一个开源框架,专注于帮助开发者快速构建企业级检索增强生成(RAG)应用。它提供超过50个小型、专用的大语言模型(LLM),支持在本地或私有云环境中运行,特别适合金融、法律和合规等对数据安全敏感的行业。llmware集成了从数据处理到模型推理的完整工具链,开发者无需复杂配置即可连接企业知识库,执行问答、分类、提取等任务。它的设计目标是降低AI开发的门槛,让初学者和专业开发者都能快速上手。框架支持多种数据库和向量存储,运行效率高,甚至可在普通笔记本电脑上使用,无需昂贵的GPU服务器。llmware由AI Bloks公司开发,遵循Apache 2.0许可证,社区活跃,鼓励用户参与贡献。

功能列表

  • RAG流水线:支持从知识源接入到生成式AI模型的完整生命周期管理。
  • 50+专用模型:包括SLIM、DRAGON和BLING系列模型,分别优化问答、分类、提取等任务。
  • 多数据库支持:兼容MongoDB、PostgreSQL、SQLite等文本数据库,以及Milvus、PGVector等10种向量数据库。
  • 高效本地运行:可在普通PC上运行小型模型,无需GPU,降低成本。
  • 知识源整合:支持PDF、网页、音频等多种数据源,自动处理并嵌入模型。
  • 事实检查与审计:提供证据验证、事实核查和提示历史跟踪,减少模型幻觉。
  • UI示例:提供交互式界面示例,帮助开发者快速构建应用。
  • 自动化脚本:提供一键安装脚本,简化环境配置和示例运行。

使用帮助

安装流程

llmware的安装过程简单,支持通过PyPI或GitHub源码安装。以下是详细步骤:

  1. 通过PyPI安装
    • 打开终端,运行以下命令安装基础版本:
      pip3 install llmware
      
    • 如果需要完整功能(包括OCR、向量数据库等),运行:
      pip3 install 'llmware[full]'
      
    • 注意:完整安装会包含可选依赖,如pymilvuspytesseract等,适用于需要高级功能的用户。
  2. 通过GitHub源码安装
    • 克隆llmware仓库:
      git clone https://github.com/llmware-ai/llmware.git
      
    • 进入项目目录:
      cd llmware
      
    • 运行自动化安装脚本,安装依赖并配置示例:
      python3 welcome_to_llmware.py
      
    • 该脚本会自动安装requirements.txt中的依赖,复制示例文件,并运行welcome_example.py以快速体验。
  3. 依赖环境要求
    • 确保系统安装了Python 3.8+。
    • 对于OCR功能,需手动安装Tesseract(v5.3.3)和Poppler(v23.10.0)。
    • 如果使用MongoDB,需确保mongo-c-driver版本低于1.24.4,避免分段错误。
    • 调整系统栈大小(Linux环境下):
      ulimit -s 160000
      
    • 对于Docker用户,运行时设置栈大小:
      docker run --ulimit stack=32768000:32768000
      

主要功能操作

1. 创建RAG应用

llmware的核心是构建RAG应用,以下是一个典型操作流程:

  • 创建库:使用Library类创建知识库,存储文档。
    from llmware.library import Library
    lib = Library().create_new_library("my_library")
    
  • 添加文件:将PDF、文本等文件导入库。
    lib.add_files("/path/to/documents")
    
  • 生成向量嵌入:使用嵌入模型(如industry-bert-contracts)生成向量。
    from llmware.retrieval import Query
    q = Query(lib)
    q.generate_embeddings("industry-bert-contracts")
    
  • 执行查询:通过文本或语义查询检索信息。
    results = q.text_search_by_page("contract termination", page_num=1)
    
  • 调用模型:加载模型并结合查询结果生成回答。
    from llmware.prompts import Prompt
    prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf")
    prompter.add_source_query_results(results)
    response = prompter.prompt_with_source("What is the notice period for termination?")
    

2. 使用SLIM模型

SLIM模型专为特定任务设计,输出结构化数据(如JSON、SQL)。操作示例:

  • 加载SLIM模型
    from llmware.prompts import Prompt
    prompter = Prompt().load_model("llmware/slim-sentiment")
    
  • 执行推理
    response = prompter.prompt_main("This contract is favorable to us.")
    print(response)  # 输出:{"sentiment": "positive"}
    

3. 事实检查与审计

llmware提供证据验证功能,确保回答准确:

  • 验证回答
    stats = prompter.evidence_comparison_stats(response)
    print(stats)  # 输出证据匹配度
    
  • 保存交互历史
    prompter.save_state()
    

4. UI示例

llmware提供交互式界面示例,位于examples/UI/目录:

  • 运行示例:
    python3 examples/UI/invoice_ui.py
    
  • 该示例支持上传PDF发票,运行BLING模型进行问答。

特色功能操作

1. 多模型Agent工作流

SLIM模型支持多步骤Agent工作流。例如,结合sentimentintent模型:

  • 加载多个模型
    prompter1 = Prompt().load_model("llmware/slim-sentiment")
    prompter2 = Prompt().load_model("llmware/slim-intent")
    
  • 执行多步骤推理
    text = "I want to cancel my subscription."
    sentiment = prompter1.prompt_main(text)  # 输出:{"sentiment": "negative"}
    intent = prompter2.prompt_main(text)     # 输出:{"intent": "cancellation"}
    

2. 合同分析

llmware的DRAGON模型优化了合同分析:

  • 分析合同
    from llmware.library import Library
    from llmware.retrieval import Query
    lib = Library().create_new_library("contracts")
    lib.add_files("/path/to/contracts")
    q = Query(lib)
    results = q.text_query_with_document_filter("termination", {"file_source": "contract.pdf"})
    prompter = Prompt().load_model("llmware/dragon-yi-6b-gguf")
    prompter.add_source_query_results(results)
    response = prompter.prompt_with_source("Summarize termination provisions")
    

3. 向量数据库集成

支持多种向量数据库,如Milvus:

  • 配置Milvus
    curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose-redis-stack.yaml
    docker-compose up
    
  • 生成嵌入
    q.generate_embeddings("industry-bert-contracts", vector_db="milvus")
    

应用场景

  1. 企业合同管理
    llmware可用于分析大量合同,提取关键条款(如终止条款、付款条件)。企业可将合同导入库,使用DRAGON模型进行语义查询,快速生成条款摘要,适合法律团队提高效率。
  2. 财务数据处理
    财务团队可利用SLIM模型分析发票或财务报告,提取关键字段(如金额、日期)。支持批量处理,生成结构化JSON输出,方便集成到ERP系统。
  3. 知识库问答
    企业可构建内部知识库,结合BLING模型实现问答功能。员工可通过自然语言查询公司政策、流程等,模型返回精准答案并附证据来源。
  4. 本地AI部署
    对于数据敏感行业,llmware支持在本地PC或私有云运行AI模型,避免数据外泄。适合银行、医疗机构等需要高安全性的场景。

QA

  1. llmware是否需要GPU运行?
    不需要。llmware的BLING和SLIM模型优化为在CPU上运行,适合普通笔记本电脑。DRAGON模型可能需要更高性能硬件,但仍支持无GPU环境。
  2. 如何处理模型幻觉?
    llmware提供事实检查和证据验证功能,通过evidence_comparison_statsevidence_check_sources方法核查回答,确保与知识源一致。
  3. 支持哪些文件格式?
    支持PDF、文本、CSV、JSON、音频、网页等多种格式。OCR功能可处理图片中的文本,适用于扫描文档。
  4. 如何参与llmware社区?
    可通过GitHub提交问题或拉取请求,加入Discord频道(https://discord.com/invite/fCztJQeV7J)讨论,或查看贡献指南。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文