FEATURED · 精选文章

LLMWare 快速上手指南:数据库配置、样本数据、模型目录与 Library 四大关键设置项

发布时间 / 2026/9/14 18:47:17
来源 / 创域科博编辑部
栏目 / 资讯中心
LLMWare 快速上手指南:数据库配置、样本数据、模型目录与 Library 四大关键设置项 LLMWare 快速上手指南数据库配置、样本数据、模型目录与 Library 四大关键设置项【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware本文基于仓库中tutorials/getting_started/下的入门教程整理聚焦 LLMWare 从零搭建企业级 RAG 流水线时的四个关键设置项选择集合数据库、下载样本测试文件、使用 Model Catalog 加载并运行模型、以及创建与管理 Library资料库。读完后你将掌握一套可复制的最小启动流程——无需安装外部数据库即可在本地 SQLite 上完成解析、检索与推理并理解每个设置项在源码层llmware/configs.py、llmware/setup.py、llmware/models.py中的实际行为。一、四个关键设置项总览LLMWare 的入门教程tutorials/getting_started/README.md将快速启动拆解为四个带详细注释的小代码片段每个片段对应一个独立的关键配置或操作配置集合数据库Configuring a DB快速启动时只需把.active_db参数设为sqlite所有 Library 都会写入一个本地内嵌的 SQLite 实例无需任何额外安装。加载样本文件Loading Sample Files通过Setup类一键从公开 S3 桶拉取覆盖多个领域的测试文档很多示例脚本内置了这一步。使用模型目录Model CatalogModelCatalog是 LLMWare 进行模型发现与加载的主类统一封装了本地、私有网络和 API 模型的访问方式。操作 LibraryWorking with LibrariesLibrary 是 LLMWare 中组织文本集合的核心构建块是解析、检索、向量化和查询的主索引单元。完整的配套示例脚本分别位于configure_db.pyloading_sample_files.pyusing_the_model_catalog.pyworking_with_libraries.py二、步骤一配置集合数据库集合数据库Collection Database是解析产出的文本块chunk的主存储也是 Library 的组织基础。LLMWare 支持三种集合数据库MongoDB、Postgres、SQLite官方给出的选型建议是SQLite快速、零安装启动的首选Postgres偏好 SQL 与大规模可扩展性时的推荐MongoDB偏好 NoSQL、兼顾规模与灵活性时的推荐。LLMWare 对三者提供完全相同的高层函数、方法与接口——底层实现细节由CollectionRetrieval与CollectionWriter类的高层抽象接口封装开发者切换数据库时业务代码无需改动。2.1 最小可用配置一行代码启用 SQLitefrom llmware.configs import LLMWareConfig LLMWareConfig().set_active_db(sqlite)写入第一个 Library 之后SQLite 数据库文件会落在SQLiteConfig配置的路径中from llmware.configs import SQLiteConfig SQLiteConfig().get_config(sqlite_db_folder_path)2.2 源码视角配置如何生效从 llmware/configs.py 的类级配置可以确认两点实现事实支持的集合数据库白名单为collection_db: [mongo, postgres, sqlite]且默认值自 0.4.0 版本起即为sqlite源码注释change 0.4.0: default collection_db set to sqliteset_active_dbconfigs.py L212-L220会先校验新值是否在白名单内不在则抛出LLMWareException不会静默失败。configure_db.py 示例还演示了查询当前配置与切换数据库的完整方式from llmware.configs import LLMWareConfig # 查看当前激活的集合数据库 active_db LLMWareConfig().get_active_db() print(update: current active collection database - , active_db) # 查看所有受支持的数据库 supported_db LLMWareConfig().get_supported_collection_db() print(update: supported collection databases - , supported_db) # 设置为 sqlite —— 一旦设置后续所有 Library / 解析调用都会写入该库 LLMWareConfig.set_active_db(sqlite) # 可以随时切换 —— 但注意新 Library 写入新库 # 已存在的 Library 仍保留在原数据库中 LLMWareConfig.set_active_db(postgres)一个容易忽视的语义细节切换active_db只影响之后创建的 Library已有 Library 的数据仍留在旧库中。此外示例文档configure_db.py还说明了检索能力与数据库的关系语义检索需要额外的向量数据库并为 Library 内容建立嵌入但一旦 Library 创建完成文本检索text search即可用解析完成后立即可跑文本 Query。三、步骤二加载样本文件为了快速测试与原型验证LLMWare 通过Setup类提供了一批样本文件从非受限的 AWS S3 公开桶下载并解压到本地/llmware_data/sample_files路径from llmware.setup import Setup Setup().load_sample_files()3.1 当前提供的样本文件集根据 loading_sample_files.py 的说明与 llmware/setup.py 的文档字符串当前覆盖八个领域样本目录内容AgreementsLarge约 80 份样本合同Agreements约 15 份雇佣协议样本UN-Resolutions-500500 份联合国决议约 2 年跨度PDF 文件Invoices约 40 份发票样本文档FinDocs约 15 份财务报告、财报与 10K 文件AWS-Transcribe约 5 个 AWS-Transcribe JSON 文件SmallLibrary约 10 个混合文档类型适合快速测试Images约 3 张图片用于 OCR 处理样本集处于持续演进中。已有旧版本时可用over_writeTrue拉取最新版# 拉取最新样本文件 sample_files_path Setup().load_sample_files(over_writeTrue)loading_sample_files.py 中的完整用法import os from llmware.setup import Setup def get_llmware_sample_files(): print(f\n Loading the llmware Sample Files...) # 该调用从公开 S3 仓库拉取样本文件 # 文件会放在本地 sample_files_path 下的文件夹中 sample_files_path Setup().load_sample_files(over_writeFalse) print(f Sample Files Path - {sample_files_path}) print(f Sample Folders - {os.listdir(sample_files_path)}) return 03.2 源码视角下载与解压的实际流程llmware/setup.py 中load_sample_files的实现确认了以下行为若本地llmware_data工作区不存在会先调用LLMWareConfig.setup_llmware_workspace()建立目录结构目标路径固定为llmware_path/sample_files不可配置若目标路径已存在且over_writeFalse直接返回路径而不重复下载否则从公开 S3 桶拉取llmware_sample_files_bucket.zip解压后删除 zip 文件并返回路径。3.3 语音样本文件示例还提供了拉取语音wav样本的方法用于 Whisper.CPP 转录相关场景参见 solutions/gguf/using-whisper-cpp-sample-files.py 与 solutions/use_cases/parsing_great_speeches.pysample_files_path Setup().load_voice_sample_files(over_writeFalse, small_onlyFalse)两个可选参数small_only True仅拉取famous_quotes小样本约 20 个短 wav 片段small_only False拉取全部样本约 1.9 GB包含famous_quotes、greatest_speeches约 60 个英语历史演讲、youtube_demos约 3 个 LLMWare 视频的 wav、earnings_calls约 4 个上市公司财报电话会 wav。这些样本均取自开放公有领域来源如 Internet Archive仅用于测试目的。四、步骤三使用 Model Catalog 加载模型ModelCatalog是 LLMWare 进行模型发现与加载的主类。其核心设计原则是所有模型以同一种方式访问底层配置细节在更深的实现层处理——你可以在任何流水线的任何位置以最小甚至零代码改动替换模型并可自由混搭本地、私有网络与 API 模型。4.1 发现模型三个列表方法from llmware.models import ModelCatalog all_models ModelCatalog().list_all_models() for model in all_models: print(model: , model)除全量列表外using_the_model_catalog.py 还演示了两个过滤视角# 嵌入模型 —— 含 Nomic、Jina、主流 sentence transformers 及 llmware industry-bert 模型 embedding_models ModelCatalog().list_embedding_models() # 开源模型 open_source_models ModelCatalog().list_open_source_models()对应到 llmware/models.py 的源码list_open_source_models基于模型族的open_source标记筛选list_embedding_models按model_category embedding过滤list_all_models则按model_category排序后返回全部模型卡片。示例文件注释记录的数据点截至 2024 年 5 月 4 日目录中约 133 个模型、约 30 个嵌入模型、约 92 个开源模型且持续增长——具体数量请以运行时list_all_models()的实际输出为准。4.2 两行代码完成推理示例文件将推理流程总结为“每次相同的两行代码”# 1. load_model —— 使用 model_name 或 display_name内部完成查找与实例化 model_name phi-3-gguf model ModelCatalog().load_model(model_name) # 2. inference —— 所有模型都支持 inference 方法 response model.inference(I am going to Paris. What should I see?) print(f\ntest inference - {model_name} - response: , response)从源码看load_model的查找逻辑由 model_lookup 支撑它会同时匹配模型卡片的model_name与可选别名display_name因此两种名称任一均可用于加载。示例文件还强调了 LLMWare 的“开源优先”取向除 50 个 LLMWare 自研模型外目录覆盖 Jina/Nomic 嵌入模型、Llama-2/3、Mistral、Phi-3、Yi、Huggingface Zephyr、SentenceTransformers以及 TheBloke、Bartowski 的量化版本并完整集成 GGUF、LLama.CPP 与 Whisper.CPP也支持扩展接入 HuggingFace、Ollama、LMStudio 或 llama-cpp-python 的任意模型。对于多数使用场景示例注释指出 GGUF 量化版本往往更快、占内存更少且精度相当因此许多示例默认使用 GGUF 模型即所谓 tools。五、步骤四操作 LibraryLibrary 是 LLMWare 中组织非结构化信息的主构建块。你可以创建一个大 Library 存放所有类型的内容也可以按主题、项目/案件/交易、账户/用户/部门创建多个 Library。每个 Library 由三部分组成数据库上的 CollectionLibrary 的核心。通过解析文档创建文档被自动分块chunk并索引到文本集合数据库中是检索的基础也是后续可挂载任意数量向量嵌入的载体文件档案File archives位于llmware_data路径下Accounts内为每个 Library 组织的文件夹结构中保存加入 Library 的所有文件副本对检索类应用非常有用、从源文档抽取并索引的图片以及 NLP、知识图谱与数据集等派生产物Library Catalog每个 Library 都会注册到LibraryCatalog表拥有一张包含关键属性与统计信息的唯一library_card。将 Library 对象传给 Parser 后解析器会自动把所有信息路由进 Library 结构。5.1 完整操作流程working_with_libraries.py 演示了 Library 的全生命周期import json, os from llmware.configs import LLMWareConfig from llmware.library import Library, LibraryCatalog from llmware.setup import Setup # 先设置用于存储 Library 文本集合的数据库MongoDB / Postgres / SQLite LLMWareConfig().set_active_db(sqlite) # 1. 创建 Library library Library().create_new_library(library_tests2) # 2. 加载已存在的 Library创建后并非必需仅作演示 library Library().load_library(library_tests2) # 3. 通过 LibraryCatalog 查询所有 Library for library_card in LibraryCatalog().all_library_cards(): print(f - {library_card[library_name]} f({library_card[documents]} documents)) # 4. 添加文件add_files 会调用 Parser收集所选文件夹中的文件、 # 检查重复、执行解析与文本分块、写入数据库并自动更新 Library 状态 sample_files_path Setup().load_sample_files() library.add_files(os.path.join(sample_files_path, SmallLibrary)) # 5. 查看 library card确认文档、块等计数 library_card library.get_library_card() library_card[_id] str(library_card[_id]) # 打印前需将 _id 转为字符串 print(json.dumps(library_card, indent2)) # 6. 导出 Library 为 jsonl 文件 temp_export_dir LLMWareConfig().get_tmp_path() json_export_path library.export_library_to_jsonl_file(temp_export_dir, lib_export) # 7. 导出 Library 为 txt 文件 text_export_path library.export_library_to_txt_file(temp_export_dir, lib_export) # 8. 查看已抽取并保存的图片 print(fimages extracted and saved at local path - {library.image_path}) # 9. 删除 Library —— 出于安全考虑需显式设置 confirm_deleteTrue 才真正执行 library.delete_library(confirm_deleteFalse)两个值得注意的安全与状态设计add_files是“一站式”便捷方法调用 Parser 完成收集、去重、解析、分块、入库与 Library 状态更新无需手动编排各步骤delete_library默认以confirm_deleteFalse调用只有显式传confirm_deleteTrue才会真正删除避免误删。Library 也是执行 Query 的主索引结构构造Query对象时传入 Library 对象文本、语义与混合检索就只在该 Library 的内容上执行。Library 还暴露便捷方法用于安装嵌入并跟踪增量进度相关实践可参考 solutions/rag/README.md 中的 RAG 系列示例。六、下一步Fast Start 示例与配套资料入门教程在完成四大设置项后建议继续查看 Fast Start 示例。当前仓库中对应的实战入口包括solutions/rag/example-1-create_first_library.py创建第一个 Librarysolutions/rag/example-2-build_embeddings.py构建嵌入solutions/rag/example-4-rag-text-query.py 与 example-5-rag-semantic-query.py文本与语义检索查询welcome_to_llmware.sh仓库提供的欢迎/初始化脚本安装与环境细节可参考 docs/getting_started/installation.md。至此你已经掌握了 LLMWare 从零到可用 RAG 骨架的完整路径用LLMWareConfig().set_active_db(sqlite)零安装配置数据库用Setup().load_sample_files()获取测试数据用ModelCatalog()统一发现与加载模型用Library组织解析产物并驱动检索——四个设置项分别落在 llmware/configs.py、llmware/setup.py、llmware/models.py 三个核心模块中可按需深入阅读其实现。【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻