llmware - 构建企业级RAG应用的开源框架
llmware是一个统一的开源框架,专门用于构建基于LLM的企业应用,特别是检索增强生成(RAG)系统。它提供了一套全面的工具,让从初学者到专业AI开发人员都能快速构建工业级的企业LLM应用。
主要特性
llmware框架包含四个主要组件:
-
检索:组装事实集
- 全面的查询方法:语义、文本和混合检索与元数据集成
- 排序和过滤策略,实现语义搜索和快速信息检索
- Web爬虫、维基百科集成和Yahoo财经API集成等工具
-
提示:用于复杂生成场景的工具
- 支持多种模型:AI21、Anthropic、Cohere、HuggingFace等
- 源准备:将各种材料打包到模型上下文窗口中
- 提示目录:可动态配置提示,无需更改代码即可实验多个模型
- 后处理:用于证据验证、响应分类和事实检查的工具
- 人机交互:支持用户评分、反馈和AI响应修正
- 可审核性:灵活的状态机制,捕获、跟踪、分析和审核LLM提示生命周期
-
向量嵌入:可交换的嵌入模型和向量数据库
- 支持自定义训练的句子转换器嵌入模型和主流嵌入模型
- 支持多种向量数据库:Milvus、FAISS、Pinecone等
-
解析和文本分块:为RAG准备数据
- 支持多种格式解析:PDF、PowerPoint、Word、Excel、HTML等
- 完整的文本分块工具,将信息和相关元数据分离为一致的块格式
快速开始
- 安装llmware:
pip install llmware
- 创建库并添加文件:
from llmware.library import Library
lib = Library().create_new_library("my_library")
lib.add_files("/folder/path/to/my/files")
- 安装嵌入:
lib.install_new_embedding(embedding_model_name="mini-lm-sbert", vector_db="milvus")
- 查询库:
from llmware.retrieval import Query
q = Query(lib)
results = q.semantic_query("your query here")
- 使用提示与源:
from llmware.prompts import Prompt
prompter = Prompt().load_model("llmware/bling-tiny-llama-v0")
source = prompter.add_source_query_results(results)
responses = prompter.prompt_with_source("your question here")
优化的RAG模型
llmware提供了多个针对RAG工作流优化的小型模型,可以在本地运行:
- BLING系列:1-3B参数的指令调优模型
- DRAGON系列:专门用于RAG的答案生成模型
这些模型可以通过ModelCatalog轻松加载和使用。
灵活的数据库选项
llmware支持多种数据库选项,从笔记本电脑到并行集群都可以轻松扩展:
- 文本数据库:MongoDB、SQLite、PostgreSQL
- 向量数据库:Milvus、Postgres、Redis、Qdrant、FAISS、Pinecone等
结语
llmware为构建企业级RAG应用提供了一个强大而灵活的框架。无论您是想快速构建概念验证,还是部署生产级应用,llmware都能满足您的需求。立即开始使用llmware,探索基于LLM的企业应用的无限可能!