LLMWare: 构建企业级RAG应用的统一框架

llmware
LLMWare:构建企业级RAG应用的统一框架
LLMWare是一个开源项目,旨在为企业提供构建基于大语言模型(LLM)应用的统一框架,特别是针对检索增强生成(RAG)和多步骤代理工作流等场景。该框架的核心优势在于使用小型专业化模型,可以私有部署、安全集成企业知识源,并且能够针对特定业务流程进行高效的定制和调优。

主要特性
LLMWare框架主要包含两个核心组件:

RAG流水线 - 提供了连接知识源到生成式AI模型的全生命周期集成组件。

50多个小型专业化模型 - 这些模型针对企业流程自动化中的关键任务进行了微调,包括基于事实的问答、分类、摘要和信息抽取等。

通过整合这两个组件,并集成领先的开源模型和底层技术,LLMWare为快速构建基于知识的企业LLM应用提供了一套全面的工具。

值得一提的是,LLMWare的大多数示例可以在普通笔记本电脑上运行,无需GPU服务器,让用户可以立即上手体验。

核心概念
使用LLMWare进行开发主要基于以下几个核心概念:

模型目录(Model Catalog):提供统一的模型访问方式,支持150多个模型,包括50多个针对RAG优化的BLING、DRAGON和行业BERT模型。

库(Library):用于大规模摄入、组织和索引知识集合,支持解析、文本分块和嵌入。

查询(Query):支持对库进行文本、语义、混合、元数据和自定义过滤的多种查询方式。

带源提示(Prompt with Sources):提供了结合知识检索和LLM推理的最简单方式。

RAG优化模型:1-7B参数的模型,专为RAG工作流集成和本地运行而设计。

简单可扩展的数据库选项:从笔记本电脑到并行化集群,提供集成的数据存储解决方案。

带函数调用的代理和SLIM模型:支持更复杂的多步骤任务处理。

快速上手
LLMWare提供了多个快速入门示例,帮助用户迅速上手。例如,以下是一个简单的合同分析示例,使用本地运行的RAG优化LLM:

import os
import re
from llmware.prompts import Prompt, HumanInTheLoop
from llmware.setup import Setup
from llmware.configs import LLMWareConfig

def contract_analysis_on_laptop(model_name):
# 加载示例文件
sample_files_path = Setup().load_sample_files()
contracts_path = os.path.join(sample_files_path,"Agreements")

# 定义查询列表
query_list = {
    "executive employment agreement": "What are the name of the two parties?",
    "base salary": "What is the executive's base salary?",
    "vacation": "How many vacation days will the executive receive?"
}

# 加载模型
prompter = Prompt().load_model(model_name, temperature=0.0, sample=False)

# 主循环:分析每份合同
for i, contract in enumerate(os.listdir(contracts_path)):
    if contract != ".DS_Store":
        print(f"\nAnalyzing contract: {i+1} {contract}")
        print("LLM Responses:")
        
        for key, value in query_list.items():
            # 解析文档,提取相关段落,打包为模型可用的上下文
            source = prompter.add_source_document(contracts_path, contract, query=key)
            
            # 调用LLM
            responses = prompter.prompt_with_source(value, prompt_name="default_with_context")  
            
            # 打印结果
            for response in responses:
                print(f"{key}: {re.sub('[\\n]',' ', response['llm_response']).strip()}")
            
            # 清除源材料,准备下一次查询
            prompter.clear_source_materials()

# 保存分析结果
prompter.save_state()
csv_output = HumanInTheLoop(prompter).export_current_interaction_to_csv()
print(f"CSV output saved at: {csv_output}")

if name == "main":
model = "bling-phi-3-gguf" # 使用本地CPU模型
contract_analysis_on_laptop(model)
这个示例展示了如何使用LLMWare框架快速构建一个合同分析应用,包括文档解析、相关信息提取、LLM查询和结果保存等完整流程。

最新特性
LLMWare持续推出新的功能和改进,最近的亮点包括:

小型模型能力基准测试
支持使用Qwen2模型进行RAG、函数调用和聊天
新的Phi-3函数调用模型
BizBot - 结合RAG和SQL的本地聊天机器人
讲座工具用例 - 对语音录音提问
用于金融研究的Web服务与代理调用
使用WhisperCPP进行语音转录
基于Phi-3 GGUF的本地流式聊天机器人UI
这些新特性进一步扩展了LLMWare的应用场景,为企业用户提供了更多灵活和强大的工具来构建定制化的LLM应用。

总的来说,LLMWare为企业提供了一个全面、灵活且易于使用的框架,用于构建基于小型专业化模型的RAG应用。通过整合多种先进技术和工具,LLMWare使得企业能够快速、安全地开发和部署符合其特定需求的AI应用,从而在保护数据隐私的同时提高生产力和创新能力。
文章链接:www.dongaigc.com/a/llmware-unified-framework-enterprise-rag
https://www.dongaigc.com/a/llmware-unified-framework-enterprise-rag

https://www.dongaigc.com/p/llmware-ai/llmware
www.dongaigc.com/p/llmware-ai/llmware

posted @   dongai666  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示