llmware

GitHub
14.9k 2.9k 简单 6 次阅读 2天前Apache-2.0其他开发框架Agent语言模型
AI 解读 由 AI 自动生成,仅供参考

llmware 是一个专为构建企业级检索增强生成(RAG)应用而设计的统一框架,特别擅长利用小型化、专业化的模型在本地设备上运行。它主要解决了企业在部署 AI 时面临的数据隐私安全、高昂算力成本以及大模型“幻觉”等痛点,让敏感数据无需上传云端即可在本地完成处理。

这款工具非常适合希望在笔记本电脑、边缘设备或私有服务器上快速搭建安全 AI 应用的开发者和技术团队。即使没有昂贵的 GPU 集群,用户也能轻松实现从文档解析、知识库构建到模型推理的全流程。

llmware 的核心亮点在于其庞大的模型目录与高效的本地推理能力。它预集成了 300 多个经过量化优化的模型,包括专为金融、法律等行业任务微调的 SLIM、Bling 和 Dragon 系列,支持 GGUF、OpenVINO 等多种格式,能充分调用本地 CPU、NPU 及显卡性能。同时,它提供了一站式的 RAG 流水线,支持 PDF、Office 文档等多种格式的自动解析与索引,帮助开发者以最小的计算足迹,快速构建准确、可持续且低成本的知识驱动型 AI 应用。

使用场景

某中型律所的合规团队需要在完全离线的笔记本电脑上,快速构建一个能精准检索并总结数百份内部合同与判例文档的智能问答系统。

没有 llmware 时

  • 环境配置繁琐:开发人员需手动适配不同操作系统(Windows/Mac/Linux)下的 GPU、NPU 驱动及推理后端(如 GGUF、ONNX),耗时数天仍常遇兼容性问题。
  • 模型选型困难:缺乏统一入口,难以从海量开源模型中筛选出适合法律垂直领域且经过量化优化的轻量级模型,导致尝试成本高。
  • 数据处理割裂:文档解析(PDF/Word)、文本分块、向量化嵌入需拼接多个独立库,代码冗余且容易在数据流转中丢失上下文信息。
  • 隐私安全风险:为满足数据不出域的要求,不得不放弃效果更好的云端大模型,而本地部署方案往往因资源占用过大无法在普通办公本上运行。

使用 llmware 后

  • 一键跨平台部署:llmware 自动识别硬件环境并调用最优推理引擎(如 Windows 下的 DirectML 或 Mac 的 Metal),将环境搭建时间从几天缩短至几分钟。
  • 专属模型直达:直接通过模型目录加载预置的"Industry-Bert"或"Bling"系列法律微调模型,这些模型专为小显存优化,既精准又节省资源。
  • 流水线式知识构建:调用内置 Library 组件,一行代码即可完成多格式合同文档的解析、分块与索引,自动生成结构化知识库供 RAG 管道使用。
  • 纯本地安全运行:整个检索增强生成(RAG)流程均在本地笔记本完成,无需联网即可实现企业级的数据隐私保护与低延迟响应。

llmware 让开发者能在普通办公电脑上,以极低的算力成本快速落地私有化、高精度的企业级知识应用。

运行环境要求

操作系统
  • Windows
  • macOS
  • Linux
GPU
  • 非必需
  • 支持利用本地 GPU 和 NPU 加速,适配多种推理后端(GGUF, OpenVINO, ONNXRuntime, PyTorch 等),专为 AI PC 和笔记本电脑优化,未指定具体显卡型号或显存要求
内存

未说明(设计目标为最小化计算足迹,可在普通笔记本电脑上运行)

依赖
notes该工具专为本地、私有和安全部署设计,支持在边缘设备和自托管环境中运行。内置 300+ 模型目录(含 50+ 针对 RAG 优化的微调模型),支持多种量化格式以适配不同硬件。无需高端服务器,普通笔记本电脑即可运行绝大多数示例和模型。支持多种向量数据库(如 Milvus, ChromaDB)和文档解析格式。
python3.10, 3.11, 3.12, 3.13, 3.14
llmware
PyTorch
GGUF
OpenVINO
ONNXRuntime
Sentence Transformers
Milvus
ChromaDB
llmware hero image

快速开始

llmware

静态徽章 PyPI - 版本 成员 文档

🧰🛠️ 用于构建基于知识的本地、私有、安全的LLM应用的统一框架

llmware 针对AI PC和本地笔记本电脑、边缘设备以及自托管部署进行了优化,可在广泛的Windows、Mac和Linux平台上运行,支持GGUF、OpenVINO、ONNXRuntime、ONNXRuntime-QNN(高通)、WindowsLocalFoundry和Pytorch等技术,提供一个高级接口,使用户能够轻松地利用针对目标平台优化的推理技术。

llmware 包含两个主要组件:

  1. 包含300多种模型的模型目录 - 模型以量化、优化的格式预打包,以便充分利用设备上的GPU和NPU性能,支持主流开源模型家族以及50多种llmware微调的SLIM、Bling、Dragon和Industry-Bert模型,这些模型专为企业流程自动化中的关键任务而设计。同时,也支持来自OpenAI、Anthropic和Google的领先云端模型。

  2. RAG管道 - 集成化的组件,覆盖从连接知识源到生成式AI模型的完整生命周期,具备广泛的文档解析和摄取能力,并可创建可扩展的知识库。

通过将这两个组件结合起来,llmware 提供了一套全面的工具,可快速构建基于知识的企业级LLM应用。

我们的愿景是:人工智能应当可持续、准确且具有成本效益,以尽可能小的计算资源完成任务。

我们几乎所有的示例和模型都可以在本地设备上运行——您现在就可以在自己的笔记本电脑上开始使用。

加入我们的Discord | 观看YouTube教程 | 在Huggingface上探索我们的模型系列

🎯 主要特性

使用llmware编写代码基于以下几个核心概念:

模型目录: 无论底层实现如何,都可以通过简单的查找以相同的方式访问所有模型。
#   目录中包含300多种模型,其中50多种经过RAG优化的BLING、DRAGON和Industry BERT模型
#   完全支持GGUF、OpenVINO、Onnxruntime、HuggingFace、Sentence Transformers以及主流的基于API的模型
#   易于扩展以添加自定义模型——请参阅示例

from llmware.models import ModelCatalog
from llmware.prompts import Prompt

#   所有模型都通过ModelCatalog访问
models = ModelCatalog().list_all_models()

#   要使用ModelCatalog中的任何模型,只需调用“load_model”方法并传入model_name参数
my_model = ModelCatalog().load_model("llmware/bling-phi-3-gguf")

#   调用模型进行推理:
output = my_model.inference("什么是AI的未来?", add_context="这是需要阅读的文章")

#   调用模型进行流式输出:
for token in my_model.stream("什么是AI的未来?"):
    print(token, end="")

#   将模型集成到Prompt中:
prompter = Prompt().load_model("llmware/bling-tiny-llama-v0")
response = prompter.prompt_main("什么是AI的未来?", context="插入信息来源")
Library: 大规模摄取、组织和索引知识集合——解析、文本分块和嵌入。

from llmware.library import Library

#   解析并分块处理一组文档(pdf、pptx、docx、xlsx、txt、csv、md、json/jsonl、wav、png、jpg、html)  

#   第一步——创建一个library,即“知识库容器”结构
#          - libraries既包含文本集合(DB)资源,也包含文件资源(例如,llmware_data/accounts/{library_name})
#          - 嵌入和查询都是针对library进行的

lib = Library().create_new_library("my_library")

#    第二步——add_files是通用的摄取函数——指向包含多种文件类型的本地文件夹
#           - 文件会根据文件扩展名被路由到相应的解析器,进行解析、文本分块并索引到文本集合数据库中

lib.add_files("/folder/path/to/my/files")

#   在library上安装嵌入——选择嵌入模型和向量数据库
lib.install_new_embedding(embedding_model_name="mini-lm-sbert", vector_db="milvus", batch_size=500)

#   向同一library添加第二个嵌入(混合搭配模型和向量数据库)  
lib.install_new_embedding(embedding_model_name="industry-bert-sec", vector_db="chromadb", batch_size=100)

#   可以轻松为不同的项目和团队创建多个library

finance_lib = Library().create_new_library("finance_q4_2023")
finance_lib.add_files("/finance_folder/")

hr_lib = Library().create_new_library("hr_policies")
hr_lib.add_files("/hr_folder/")

#    获取library卡片,其中包含关键元数据——文档、文本块、图像、表格、嵌入记录
lib_card = Library().get_library_card("my_library")

#   查看所有library
all_my_libs = Library().get_all_library_cards()
Query: 使用文本、语义、混合、元数据以及自定义过滤器查询libraries。

from llmware.retrieval import Query
from llmware.library import Library

#   第一步——加载之前创建的library 
lib = Library().load_library("my_library")

#   第二步——创建一个query对象并传入library
q = Query(lib)

#    第三步——运行各种不同的query(更多选项请参阅示例)

#    基本文本query
results1 = q.text_query("text query", result_count=20, exact_mode=False)

#    语义query
results2 = q.semantic_query("semantic query", result_count=10)

#    结合文本query,仅限于library中的特定文档,并要求与query完全匹配
results3 = q.text_query_with_document_filter("new query", {"file_name": "selected file name"}, exact_mode=True)

#   如果library上有多个嵌入,可以在创建query对象时指定具体的嵌入名称
q2 = Query(lib, embedding_model_name="mini_lm_sbert", vector_db="milvus")
results4 = q2.semantic_query("new semantic query")
Prompt with Sources: 将知识检索与LLM推理相结合的最简单方式。

from llmware.prompts import Prompt
from llmware.retrieval import Query
from llmware.library import Library

#   构建一个prompt
prompter = Prompt().load_model("llmware/bling-tiny-llama-v0")

#   添加一个文件——文件会被解析、文本分块、按query筛选,然后被打包成适合模型使用的上下文,

#   包括在必要时分批处理,以适应模型的上下文窗口

source = prompter.add_source_document("/folder/to/one/doc/", "filename", query="fast query")

#   将查询结果(来自 Query)附加到 Prompt 中
my_lib = Library().load_library("my_library")
results = Query(my_lib).query("my query")
source2 = prompter.add_source_query_results(results)

#   对库执行新查询,并直接加载到提示中
source3 = prompter.add_source_new_query(my_lib, query="my new query", query_type="semantic", result_count=15)

#   使用“带来源的提示”进行推理
responses = prompter.prompt_with_source("my query")

#   在推理之后进行事实核查
fact_check = prompter.evidence_check_sources(responses)

#   查看来源材料(已分批处理并准备好供模型使用,且已附加到提示中)
source_materials = prompter.review_sources_summary()

#   查看完整的提示历史
prompt_history = prompter.get_current_history()
RAG优化模型 - 1-70亿参数模型,专为RAG工作流集成和本地运行而设计。
""" 这个“Hello World”示例展示了如何使用提供的上下文,通过PyTorch和GGUF版本,开始使用本地BLING模型。 """

import time
from llmware.prompts import Prompt


def hello_world_questions():

    test_list = [

    {"query": "发票总额是多少?",
     "answer": "$22,500.00",
     "context": "服务供应商公司 \n100榆树街 普莱森特维尔, 纽约州 \n致阿尔法公司 5900第一街 洛杉矶, 加利福尼亚州 \n描述 前端工程服务 $5000.00 \n 后端工程服务 $7500.00 \n 质量保证经理 $10,000.00 \n 总额 $22,500.00 \n 所有支票请支付给服务供应商公司。付款应在30天内完成。\n如果您对本发票有任何疑问,请联系比亚·赫尔墨斯。\n感谢您的惠顾! 发票 发票编号0001 日期2022年1月1日 针对阿尔法项目 P.O. 编号1000"},

    {"query": "贸易顺差金额是多少?",
     "answer": "624亿日元(4.166亿美元)",
     "context": "日本9月份贸易收支转为顺差,超出预期\n日本9月份录得624亿日元(4.166亿美元)的贸易顺差,这一数据好于路透社调查的经济学家预测的425亿日元贸易逆差。日本海关部门的数据显示,9月份出口同比增长4.3%,而进口则同比下降16.3%。据FactSet称,对亚洲的出口已连续第九个月下滑,这反映出中国经济持续疲软。不过,FactSet还指出,对西方市场的出口有所增长,从而支撑了整体出口表现。——林慧洁"},

    {"query": "LISP机器市场何时崩溃?",
     "answer": "1987年。",
     "context": "与会者在20世纪60年代成为了人工智能研究的领军人物。\n他们及其学生开发出的程序被媒体形容为‘令人惊叹’:计算机能够学习跳棋策略、解决代数应用题、证明逻辑定理,甚至能用英语对话。到了20世纪60年代中期,美国国防部对人工智能研究给予了大量资助,世界各地也纷纷建立了相关实验室。赫伯特·西蒙曾预言:‘在二十年内,机器将能够完成人类所能做的任何工作。’马文·明斯基也表示赞同,他写道:‘再过一代人的时间……创造“人工智能”的问题将基本得到解决。’然而,他们低估了问题的复杂性。由于詹姆斯·莱特希尔爵士的批评以及美国国会不断施加的压力,要求资助更具生产力的项目,美英两国政府相继停止了探索性研究。明斯基和帕珀特合著的《感知器》一书被解读为证明了人工神经网络方法永远无法用于解决现实世界的问题,从而彻底否定了这一技术路线。随后进入了‘AI寒冬’时期,即很难获得人工智能项目资金支持的阶段。到了20世纪80年代初,专家系统的商业成功重新点燃了人工智能研究的热潮——这种人工智能程序能够模拟人类专家的知识和分析能力。到1985年,人工智能市场规模已超过10亿美元。与此同时,日本的第五代计算机计划促使美英两国政府恢复了对学术研究的资金支持。然而,自1987年LISP机器市场崩溃以来,人工智能再次陷入低谷,第二次更漫长的寒冬也随之到来。”},

{"query": "目前10年期美国国债的收益率是多少?",
     "answer": "4.58%",
     "context": "尽管美国公布了好于预期的就业数据,且美国国债收益率大幅上升,但股市周五仍出现反弹。道琼斯工业平均指数上涨195.12点,涨幅0.76%,收于31,419.58点。标准普尔500指数上涨1.59%,报4,008.50点。以科技股为主的纳斯达克综合指数上涨1.35%,收于12,299.68点。美国劳工部表示,8月份美国经济新增就业岗位438,000个。接受道琼斯调查的经济学家此前预计新增岗位273,000个。不过,上月薪资增幅低于预期。  在最初因就业报告强于预期而下跌后,股市在周五出现了惊人的反转。盘中最低点时,道指一度下挫198点;而在涨势最猛时,又飙升超过500点。纳斯达克和标准普尔500指数当日最低点时分别下跌了0.8%。  交易员们对日内反转的原因尚不明确。一些人指出,可能是就业报告中薪资数据不及预期,促使投资者重新评估此前的看跌立场。另一些人则认为,收益率从当日高位回落也是原因之一。此次反弹或许还与市场此前过度超卖有关——本周早些时候,标准普尔500指数曾较今年高点下跌逾9%。  报告发布后,收益率一度飙升,10年期美国国债收益率逼近14年来的最高水平。随后该基准利率有所回落,但仍较前一日上涨约6个基点,报4.58%。  “我们看到收益率从此前的4.8%左右有所回落。随着收益率小幅回撤,我认为这对股市有所帮助,”Vibrant Industries Capital Advisors首席投资官玛格丽特·琼斯表示,“近几周市场一直表现疲软,可能存在超卖的情况。”"},

    {"query": "预计毛利率是否高于70%?",
     "answer": "是的,介于71.5%到72%之间。",
     "context": "英伟达公司对2024财年第三季度的展望如下:  预计营收为160亿美元,上下浮动2%。GAAP和非GAAP毛利率预计分别为71.5%和72.5%,上下浮动50个基点。  GAAP和非GAAP营业费用预计分别为约29.5亿美元和20亿美元。  GAAP和非GAAP其他收入及支出预计为约1亿美元的收益,不包括非关联投资的损益。GAAP和非GAAP税率预计均为14.5%,上下浮动1%,不包括任何一次性项目。  亮点:自上次财报发布以来,英伟达在以下领域取得了进展:  数据中心:第二季度营收创历史新高,达到103.2亿美元,较上一季度增长141%,较去年同期增长171%。宣布用于复杂人工智能和高性能计算工作负载的NVIDIA® GH200 Grace™ Hopper™超级芯片已于本季度开始出货,第二代配备HBM3e内存的版本预计将于2024年第二季度出货。"},

    {"query": "美国银行对塔吉特的评级是什么?",
     "answer": "买入",
     "context": "以下是我在10月12日(星期四)重点关注的一些股票代码,摘自我的记者笔记本:  标准普尔500指数熊市底部3,577点已满一周年。自那以来,截至周三收盘的4,376点,这一宽基指数已飙升逾22%。  9月份消费者价格指数高于预期,消费者通胀居高不下。美国社会保障管理局宣布,2024年的生活成本调整幅度为3.2%。  墨西哥卷饼连锁店Chipotle Mexican Grill (CMG)计划提价,显示出其定价能力。该公司援引消费者价格指数显示,零售通胀在过去两年内第四次呈现粘性特征。  美国银行将塔吉特 (TGT) 的评级从“中性”上调至“买入”,理由是当前股价处于低位,风险回报比具有吸引力。预计客流量有望改善,毛利率存在上行空间,商品陈列和货运运输状况也在好转。塔吉特将于下月公布季度财报。  在零售板块,CNBC投资俱乐部的投资组合持有TJX Companies (TJX),这家折扣巨头旗下拥有T.J. Maxx、Marshalls和HomeGoods等品牌。高盛策略性买入的俱乐部标的包括富国银行 (WFC)——该公司将于周五公布财报——以及Humana (HUM)和英伟达 (NVDA)。美国银行首次给予Snowflake (SNOW)“买入”评级。  如果你喜欢这篇报道,请免费订阅吉姆·克莱默的《市场十大晨间思考》邮件通讯。  巴克莱下调了消费品公司的目标股价:UTZ Brands (UTZ)由17美元下调至16美元;卡夫亨氏 (KHC)由38美元下调至36美元。受周期性因素拖累。J.M. Smucker (SJM)由160美元下调至129美元,受长期不利因素影响。可口可乐 (KO)由70美元下调至59美元。  巴克莱还下调了与住房相关的股票目标价:Toll Brothers (TOL)由82美元下调至74美元,维持“低配”评级;同时下调了Trex (TREX)和Azek (AZEK)的目标价。  高盛 (GS)宣布出售其金融科技平台,并警告称这将在第三季度每股摊薄19美分的盈利。收购方是由私募股权公司Sixth Street牵头的投资集团。此举被视为纠正过去的失误。  摩根士丹利表示,Spotify (SPOT)的用户参与度正在提升,因此将目标股价由185美元上调至190美元,维持“超配(买入)”评级。  摩根大通看好美妆品牌elf Beauty (ELF),维持“超配(买入)”评级,但将目标股价由150美元下调至139美元。该公司认为,第三季度的经营环境仍将“充满挑战”。该俱乐部持有高端美妆公司雅诗兰黛 (EL)的股份。  巴克莱将First Solar (FSLR)的评级由“同等权重(持有)”上调至“超配”,但将其目标股价由230美元下调至224美元。此次评级上调基于更好的风险回报比,且该公司在公用事业规模项目中的前景最为清晰。"},

{"query": "第三季度销售额的降幅是多少?",
     "answer": "同比下降20%。",
     "context": "诺基亚表示,将在第三季度财报大幅下滑后,作为成本削减计划的一部分,裁减多达14,000个工作岗位。这家芬兰电信巨头称,将降低其成本基础并提高运营效率,以“应对充满挑战的市场环境”。此次大规模裁员是在诺基亚报告第三季度净销售额同比下降20%,降至49.8亿欧元之后进行的。该季度利润同比暴跌69%,至1.33亿欧元。"},

    {"query": "关键要点有哪些?",
     "answer": "•周五股市上涨,得益于强于预期的美国就业数据以及国债收益率上升;\n•道琼斯指数上涨195.12点;\n•标普500指数上涨1.59%;\n•纳斯达克综合指数上涨1.35%;\n•美国经济8月份新增就业岗位438,000个,高于预期的273,000个;\n•10年期美国国债收益率接近14年来的最高水平,报4.58%。",
     "context": "尽管公布了强于预期的美国就业数据且国债收益率大幅上升,但周五股市仍出现反弹。道琼斯工业平均指数上涨195.12点,涨幅0.76%,收于31,419.58点。标普500指数上涨1.59%,收于4,008.50点。以科技股为主的纳斯达克综合指数上涨1.35%,收于12,299.68点。美国劳工部表示,美国经济8月份新增就业岗位438,000个。接受道琼斯调查的经济学家此前预计新增就业岗位273,000个。然而,上月薪资涨幅低于预期。在最初因强于预期的就业报告而下跌后,股市在周五出现了惊人的反转。盘中最低点时,道指一度下跌198点;但在涨势最猛时,却飙升了500多点。纳斯达克和标普500指数当日最低点时分别下跌0.8%。交易员们对盘中逆转的原因尚不明确。一些人认为,可能是就业报告中薪资增幅不及预期,促使投资者重新评估此前的看跌立场。另一些人则指出,收益率从当日高位回落也起到了作用。此次反弹的部分原因可能在于市场此前过度抛售——本周早些时候,标普500指数曾较今年高点下跌超过9%。报告发布后,收益率一度飙升,10年期美国国债收益率逼近14年来的最高水平。随后该基准收益率有所回落,但仍较前一日高出约6个基点,报4.58%。Vibrant Industries Capital Advisors首席投资官玛格丽特·琼斯表示:“我们看到收益率从之前的约4.8%有所回落。随着收益率小幅回撤,我认为这对股市有所帮助。”她补充说:“近几周市场一直表现疲软,可能存在超卖的情况。”"}

    ]

    return test_list




# 这是需要运行的主脚本

def bling_meets_llmware_hello_world (model_name):

    t0 = time.time()

    # 加载问题
    test_list = hello_world_questions()

    print(f"\n > 加载模型: {model_name}...")

    # 加载模型 
    prompter = Prompt().load_model(model_name)

    t1 = time.time()
    print(f"\n > 模型 {model_name} 加载时间: {t1-t0} 秒")
 
    for i, entries in enumerate(test_list):

        print(f"\n{i+1}. 查询: {entries['query']}")
     
        # 运行提示
        output = prompter.prompt_main(entries["query"],context=entries["context"]
                                      , prompt_name="default_with_context",temperature=0.30)

        # 打印结果
        llm_response = output["llm_response"].strip("\n")
        print(f"LLM 回答: {llm_response}")
        print(f"黄金答案: {entries['answer']}")
        print(f"LLM 使用情况: {output['usage']}")

    t2 = time.time()

    print(f"\n总处理时间: {t2-t1} 秒")

    return 0


if __name__ == "__main__":

    # HuggingFace 上适用于笔记本电脑的小型 BLING 模型列表(RAG 指令版)

    pytorch_models = ["llmware/bling-1b-0.1",                    # 最受欢迎
                      "llmware/bling-tiny-llama-v0",             # 最快 
                      "llmware/bling-1.4b-0.1",
                      "llmware/bling-falcon-1b-0.1",
                      "llmware/bling-cerebras-1.3b-0.1",
                      "llmware/bling-sheared-llama-1.3b-0.1",    
                      "llmware/bling-sheared-llama-2.7b-0.1",
                      "llmware/bling-red-pajamas-3b-0.1",
                      "llmware/bling-stable-lm-3b-4e1t-v0",
                      "llmware/bling-phi-3"                      # 最准确(也是最新)  
                      ]

    # 量化后的 GGUF 版本通常加载更快,并且在至少配备16 GB内存的笔记本电脑上运行良好
    gguf_models = ["bling-phi-3-gguf", "bling-stablelm-3b-tool", "dragon-llama-answer-tool", "dragon-yi-answer-tool", "dragon-mistral-answer-tool"]

    #   尝试使用 PyTorch 或 GGUF 模型列表中的任意一个模型
    #   最新(也是最准确)的是 'bling-phi-3-gguf'  

    bling_meets_llmware_hello_world(gguf_models[0]  

    #   请在 HuggingFace 上查看模型卡片,了解 RAG 基准测试性能结果及其他有用信息
简单可扩展的数据库选项 - 从笔记本电脑到并行化集群的一体化数据存储。

from llmware.configs import LLMWareConfig

#   设置集合数据库 - MongoDB、SQLite、PostgreSQL  
LLMWareConfig().set_active_db("mongo")  

#   设置向量数据库(或在安装时声明)  
#   --选项:Milvus、pg_vector(PostgreSQL)、Redis、Qdrant、Faiss、Pinecone、Mongo Atlas  
LLMWareConfig().set_vector_db("milvus")  

#   快速启动 - 无需安装  
LLMWareConfig().set_active_db("sqlite")  
LLMWareConfig().set_vector_db("chromadb")   # 也可以尝试 Faiss 和 LanceDB  

#   单一 PostgreSQL 部署  
LLMWareConfig().set_active_db("postgres")  
LLMWareConfig().set_vector_db("postgres")

#   要安装MongoDB、Milvus和PostgreSQL,请参阅docker-compose脚本以及示例
具有函数调用和SLIM模型的智能体

from llmware.agents import LLMfx

text = ("特斯拉股价在盘前交易中下跌8%,此前该公司公布的第四季度营收和利润均低于分析师预期。这家电动汽车公司还警告称,2024年的汽车销量增速‘可能明显低于’去年的增速。与此同时,汽车业务收入仅同比增长1%,部分原因是其电动汽车的售价较以往有所下降。特斯拉在今年下半年在全球范围内实施了大幅降价。在周三的一次演示中,该公司提醒投资者,目前正处于‘两波重大增长之间’。")

#   使用LLMfx类创建一个智能体
agent = LLMfx()

#   加载待处理文本
agent.load_work(text)

#   将“模型”作为“工具”加载到分析流程中
agent.load_tool("sentiment")
agent.load_tool("extract")
agent.load_tool("topics")
agent.load_tool("boolean")

#   使用不同工具运行函数调用
agent.sentiment()
agent.topics()
agent.extract(params=["company"])
agent.extract(params=["automotive revenue growth"])
agent.xsum()
agent.boolean(params=["预计2024年的增长会强劲吗?(请解释)"])

#   处理结束后,展示由关键信息自动汇总而成的报告
report = agent.show_report()

#   显示整个处理过程的活动摘要
activity_summary = agent.activity_summary()

#   收集到的所有响应列表
for i, entries in enumerate(agent.response_list):
    print("更新:响应分析:", i, entries)

output = {"report": report, "activity_summary": activity_summary, "journal": agent.journal}  
🚀 开始编码 - RAG快速入门
# 本示例展示了使用本地运行的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):

    # 在这个场景中,我们将:
    # -- 下载一组示例合同文件
    # -- 创建一个Prompt并加载BLING LLM模型
    # -- 解析每份合同,提取相关段落,并将问题传递给本地LLM

    # 主循环 - 遍历每份合同:
    #
    #      1.  在内存中解析文档(将PDF文件转换为带有元数据的文本块)
    #      2.  使用“主题”筛选解析后的文本块(例如,“管辖法律”),以提取相关段落
    #      3.  将文本块打包并组装成适合模型输入的上下文
    #      4.  对每份合同向LLM提出三个关键问题
    #      5.  打印到屏幕
    #      6.  将结果分别保存为json和csv格式,以便后续处理和审查。

    #  加载llmware示例文件

    print (f"\n > 正在加载llmware示例文件...")

    sample_files_path = Setup().load_sample_files()
    contracts_path = os.path.join(sample_files_path,"Agreements")
 
    #  查询列表 - 这是我们希望LLM针对每份合同分析的3个主要主题和问题

    query_list = {"executive employment agreement": "双方当事人的名称是什么?",
                  "base salary": "高管的基本工资是多少?",
                  "vacation": "该高管将获得多少天的带薪假期?"}

    #  根据传入函数的名称加载选定的模型

    print (f"\n > 正在加载模型 {model_name}...")

    prompter = Prompt().load_model(model_name, temperature=0.0, sample=False)

    #  主循环

    for i, contract in enumerate(os.listdir(contracts_path)):

        #   排除Mac系统生成的文件(虽然烦人,但在演示中是不可避免的)
        if contract != ".DS_Store":

            print("\n正在分析合同:", str(i+1), contract)

            print("LLM的回答:")

            for key, value in query_list.items():

                # 上述步骤1 + 2 + 3 - 合同被解析、分块、按主题键过滤,
                # ... 然后被打包进prompt中

                source = prompter.add_source_document(contracts_path, contract, query=key)

                # 上述步骤4 - 使用已打包在prompt中的“source”信息调用LLM

                responses = prompter.prompt_with_source(value, prompt_name="default_with_context")  

                # 上述步骤5 - 打印到屏幕

                for r, response in enumerate(responses):
                    print(key, ":", re.sub("[\n]"," ", response["llm_response"]).strip())

                # 完成这份合同后,清除prompt中的源材料
                prompter.clear_source_materials()

    # 上述步骤6 - 将分析结果保存为jsonl和csv格式

    # 将jsonl报告保存到/prompt_history文件夹
    print("\nPrompt状态已保存至:", os.path.join(LLMWareConfig.get_prompt_path(),prompter.prompt_id))
    prompter.save_state()

    # 保存包含模型、响应、prompt及证据的csv报告,供人工审核
    csv_output = HumanInTheLoop(prompter).export_current_interaction_to_csv()
    print("csv输出已保存至:", csv_output)


if __name__ == "__main__":

    # 使用本地CPU模型 - 尝试最新的 - 经过RAG微调并以GGUF格式封装的Phi-3模型  
    model = "bling-phi-3-gguf"

    contract_analysis_on_laptop(model)

🔥 最新增强与功能

ONNXRuntime-QNN - 在Snapdragon NPU上运行模型(Windows Arm64)

OpenVINO编码器 - 新示例(Windows Intel x86)

ONNXRuntime重排序器 - 使用为Onnxruntime部署优化的重排序器

WindowsLocalFoundry集成 - 在llmware中使用WindowsLocalFoundry模型

模型库 - 规模最大的基于 OpenVINO 的预构建大语言模型集合(95+ 个)

图像生成 - 多媒体机器人

基于 SLIM 模型的多模型智能体 - 介绍视频

新用例与应用

  • BizBot:RAG + SQL 本地聊天机器人
    使用 RAG 和 SQL 实现用于商业智能的本地聊天机器人。

  • 讲座工具
    支持对语音录音进行问答,适用于教育和讲座分析。

  • 金融研究 Web 服务
    一个端到端示例,展示结合智能体调用的金融研究 Web 服务。

音频与文本处理

多模型智能体

  • 基于 SLIM 的多模型智能体
    在复杂工作流中使用 CPU 上的 SLIM 模型构建多步智能体。

文档与 OCR 处理

  • 嵌入文档中的 OCR 图像
    系统性地从文档中嵌入的图像中提取文本,以增强文档处理能力。

  • PDF、Word、PowerPoint 和 Excel 的增强文档解析
    改进了文本分块控制、表格提取和内容解析功能。

  • 优化 RAG 提示词的准确性
    教程帮助调整 RAG 提示词设置以提高准确性。

刚接触 RAG? 观看快速入门系列视频

SLIM 函数调用模型简介
迫不及待了?立即获取 SLIM 模型:

from llmware.models import ModelCatalog

ModelCatalog().get_llm_toolkit()  # 获取所有 SLIM 模型,以小型、快速量化工具形式交付  
ModelCatalog().tool_test_run("slim-sentiment-tool") # 查看模型的实际运行效果,并附带测试脚本  

🌱 入门指南

步骤 1 - 安装 llmware - pip3 install llmwarepip3 install 'llmware[full]'

步骤 2 - 查看示例 - 通过 100 多个“即插即用”教程快速上手

🔥 热门新示例 🔥

端到端场景 - 使用 SLIM 提取和 Web 服务进行金融研究的函数调用
分析语音文件 - 利用 LLM 查询与提取的伟大演讲
LLMWare 新手入门 - 快速入门教程系列
环境搭建 - 入门指南
SLIM 示例 - SLIM 模型

示例 详情
1. BLING 模型快速入门(代码 / 视频) 使用快速、精准的基于 CPU 的模型开始——问答、键值对提取及基础摘要。
2. 解析并嵌入 500 份 PDF 文档(代码 使用 Milvus 对联合国决议文档进行解析、嵌入与查询的端到端示例
3. 混合检索——语义+文本(代码 利用“双通道”检索结合语义搜索与文本搜索的优势
4. 多种嵌入模型与 PG Vector(代码 / 视频) 使用 Postgres / PG Vector 比较多种嵌入模型
5. DRAGON GGUF 模型(代码 / 视频) 当前最先进的 7B RAG GGUF 模型。
6. 使用 BLING 进行 RAG(代码 / 视频) 以合同分析为例,尝试使用 llmware 的 BLING ~1B 参数 GPT 模型在您的笔记本电脑上进行复杂文档分析和文本提取。
7. 使用 DRAGON 分析主服务协议(代码 / 视频) 利用 DRAGON YI 6B 模型分析 MSA 协议。
8. Streamlit 示例(代码 通过 UI 接口向发票提问并运行推理。
9. 集成 LM Studio(代码 / 视频) 将 LM Studio 模型与 LLMWare 集成
10. 带来源的提示词(代码 将广泛的知识来源直接附加到提示词中。
11. 事实核查(代码 在此示例脚本中探索完整的证据方法,用于分析一组合同。
12. 使用 7B GGUF 聊天模型(代码 在本地几分钟内使用 4 种最先进的 7B 聊天模型

查看:llmware 示例

步骤 3 - 教程视频 —— 请访问我们的 YouTube 频道,观看关于最新示例的 5–10 分钟高影响力教程。

🎬 快速上手,请观看以下视频:

✍️ 使用 llmware GitHub 仓库

您可以将 llmware 仓库克隆到本地,以访问所有示例,或直接使用 llmware 的最新代码版本。

git clone git@github.com:llmware-ai/llmware.git

我们在仓库根目录下提供了一个名为 welcome_to_llmware 的自动化脚本。克隆完成后:

  • 在 Windows 命令行中:.\welcome_to_llmware_windows.sh
  • 在 Mac / Linux 命令行中:sh ./welcome_to_llmware.sh

或者,如果您更倾向于不使用欢迎自动化脚本完成设置,则后续步骤包括:

  1. 安装 requirements.txt - 在 /llmware 路径内执行,例如:pip3 install -r llmware/requirements.txt

  2. 安装 requirements_extras.txt - 在 /llmware 路径内执行,例如:pip3 install -r llmware/requirements_extras.txt(根据您的使用场景,您可能不需要全部或部分安装,但其中一些将在示例中用到。)

  3. 运行示例 - 将一个或多个示例 .py 文件复制到项目根路径。(我们发现有些 IDE 会尝试从嵌套的 /example 路径中交互式运行,但无法访问 /llmware 模块——简单的解决方法是将您想运行的示例直接复制到根路径。)

  4. 安装向量数据库 - 无需安装服务器的向量数据库选项包括 Milvus Lite、ChromaDB、FAISS 和 LanceDB,这些数据库不需要单独安装服务器,但需要安装相应的 Python SDK 库,例如 pip3 install pymilvuspip3 install chromadb。如果您查看 examples/Embedding,可以看到各种向量数据库的入门示例;而在仓库根目录下,您会找到易于使用的 Docker Compose 脚本,用于安装 Milvus、Postgres/pgvector、Mongo、Qdrant、Neo4j 和 Redis。

数据存储选项

快速入门:使用 SQLite3 和 ChromaDB(基于文件)开箱即用——无需安装
from llmware.configs import LLMWareConfig 
LLMWareConfig().set_active_db("sqlite")   
LLMWareConfig().set_vector_db("chromadb")  
速度 + 扩展性:使用 MongoDB(文本集合)和 Milvus(向量数据库)——通过 Docker Compose 安装
curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose.yaml
docker compose up -d
from llmware.configs import LLMWareConfig
LLMWareConfig().set_active_db("mongo")
LLMWareConfig().set_vector_db("milvus")
Postgres:同时使用 Postgres 作为文本集合和向量数据库——通过 Docker Compose 安装
curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose-pgvector.yaml
docker compose up -d
from llmware.configs import LLMWareConfig
LLMWareConfig().set_active_db("postgres")
LLMWareConfig().set_vector_db("postgres")
混合搭配:LLMWare 支持 3 种文本集合数据库(Mongo、Postgres、SQLite)和 10 种向量数据库(Milvus、PGVector-Postgres、Neo4j、Redis、Mongo-Atlas、Qdrant、FAISS、LanceDB、ChromaDB 和 Pinecone)
# 部署其他选项的脚本
curl -o docker-compose.yaml https://raw.githubusercontent.com/llmware-ai/llmware/main/docker-compose-redis-stack.yaml

我们的模型介绍

  • SLIM 模型系列:小型、专用模型,针对函数调用及多步、多模型 Agent 工作流进行了微调。
  • DRAGON 模型系列:生产级 RAG 优化的 6-9B 参数模型——“在……之上实现 RAG”,基于领先的预训练基础模型。
  • BLING 模型系列:小型 CPU 型 RAG 优化、指令遵循的 1B-5B 参数模型。
  • 行业 BERT 模型:开箱即用的自定义训练句子转换器嵌入模型,专为保险、合同、资产管理、SEC 等行业进行微调。
  • GGUF 量化:我们提供了许多 SLIM、DRAGON 和 BLING 模型的 'gguf' 和 'tool' 版本,专为 CPU 部署优化。

有兴趣参与 llmware 的开发吗?有关参与方式的信息,请参阅我们的 贡献者指南。与该项目的各个方面一样,参与也受我们的 行为准则约束。

欢迎在我们的 GitHub 讨论区提出问题和参与讨论。

📣 发布说明和变更日志

如需完整的发布说明历史,请打开“变更日志”选项卡。

支持的操作系统:Windows(x86 和 Arm64)、MacOS(Metal - M1-M5)、Linux(x86、aarch64)

  • Linux —— 支持 Ubuntu 20+(glibc 2.31+)
  • 如果您需要其他 Linux 版本的支持,请提交问题——我们将优先测试并确保支持。

支持的向量数据库:Milvus、Postgres(PGVector)、Neo4j、Redis、LanceDB、ChromaDB、Qdrant、FAISS、Pinecone、Mongo Atlas 向量搜索

支持的文本索引数据库:MongoDB、Postgres、SQLite

可选
🚧 变更日志

周四,1月1日 - v0.4.3 - 进行中

  • 更新了 BaseModel 和 PromptCatalog 类
  • 更新了云端模型版本,并支持 OpenAI、Gemini 和 Anthropic 的最新模型
  • 移除了已弃用的模型类
  • 移除了已弃用的模块(Dataset Builder 和 Graph)
  • 其他模型类和卡片的更新仍在进行中
  • 代码库已更新至最新状态,但尚未发布到 pip 安装版本——计划于 2026 年 1 月第 2 周发布

周一,3月3日 - v0.4.0

  • 更新了 GGUF 实现、配置和库
  • 更新了 ONNXRuntime 实现及配置
  • ModelCatalog 中新增了 phi-4、Deepseek-Qwen-7B、Deepseek-Qwen-14B 等多款模型
  • 新增对 Windows ARM64 的支持
  • 将默认 active_db 更改为“sqlite”(生产环境中仍可使用 mongo 和 postgres)
  • 简化了核心 requirements.txt 文件中的依赖项,并优化了 pip 安装流程
  • “额外/可选”依赖项可在 requirements_extras.txt 文件中找到,也可通过 pip 安装时传递的配置来指定(具体选项参见 setup.py)

周五,11月8日 - v0.3.9

  • 优化了 Azure OpenAI 配置,包括流式生成功能
  • 移除了针对 Linux aarch64 和 Mac x86 的已弃用解析器二进制文件
  • 为 CustomTable 插入行操作新增了生成器选项,以便在构建大型表格时显示进度

周日,10月27日 - v0.3.8

  • 将 Model Depot 收藏的 100 多种 OpenVino 和 ONNX 模型集成到 LLMWare 默认模型目录中
  • 支持对模型类、模型目录和模型配置的调整

周日,10月6日 - v0.3.7

  • 新增了 OVGenerativeModel 模型类,用于支持以 OpenVino 格式封装的模型
  • 新增了 ONNXGenerativeModel 模型类,用于支持以 ONNX 格式封装的模型
  • 开始使用 OpenVino 示例
  • 开始使用 ONNX 示例

周二,10月1日 - v0.3.6

  • 新增了新的提示词和聊天模板
  • 改进了模型配置并进行了更新
  • 新增了用于在搜索结果中定位和高亮文本匹配的实用函数
  • 改进了哈希校验相关工具函数

周一,8月26日 - v0.3.5

  • 向 Model Catalog 中添加了 10 款 BLING+SLIM 模型,涵盖 Qwen2、Phi-3 和 Phi-3.5 系列
  • 推出了基于 Qwen-7B、Yi-9B、Mistral-v0.3 和 Llama-3.1 的 DRAGON 系列新模型
  • 新的 Qwen2 模型(包含 RAG 和函数调用微调版本)——使用 Qwen2 模型示例
  • 新的 Phi-3 函数调用模型——使用 Phi-3 函数调用示例
  • 新的用例示例——讲座工具
  • 优化了 GGUF 配置以扩展上下文窗口
  • 在模型配置中加入了模型基准性能数据
  • 增强了工具函数中的哈希功能

周一,7月29日 - v03.4

  • 加强了 LLMfx 代理在 text2sql 数据库读取操作中的安全防护
  • 新增示例——参见 示例
  • 更多 Notebook 示例——参见 Notebook 示例

周一,7月8日 - v03.3

  • 改进了模型配置选项、日志记录,并修复了一些小问题
  • 优化了 Azure OpenAI 配置——参见 示例

周六,6月29日 - v0.3.2

  • 更新了 PDF 和 Office 解析器,改进了日志记录和文本分块选项的配置

周六,6月22日 - v0.3.1

  • 为 Fast Start 示例系列新增了第 3 模块——关于代理与函数调用的示例 7-9
  • 新增了用于内存内语义相似度 RAG 的 Jina 重排序模型——参见 示例
  • 优化了模型加载过程中的参数化获取方式
  • 新增了 Pytorch 和 GGUF 版本的“tiny”精简提取和精简摘要工具——请查看“slim-extract-tiny-tool”和“slim-summary-tiny-tool”
  • [Biz Bot] 用例——参见 示例视频
  • 更新了 numpy 要求 <2,并将 yfinance 版本最低要求提升至 >=0.2.38

周二,6月4日 - v0.3.0

  • 新增了对 Milvus Lite 内嵌“无需安装”数据库的支持——参见 示例
  • 向目录和代理流程中添加了两款新的 SLIM 模型——'q-gen''qa-gen'
  • 更新了模型类实例化方式,以提高扩展性,便于在不同模块中添加新类
  • 新增了 welcome_to_llmware.sh 和 welcome_to_llmware_windows.sh 快速安装脚本
  • 在模型基类中新增了可配置的 post_init 和 register 方法
  • 创建了 InferenceHistory 来跟踪所有已完成推理的全局状态
  • 对模块级别的日志记录进行了多项改进和更新
  • 注意:从 v0.3.0 开始,pip 安装提供两种选项——基础最小安装 pip3 install llmware 可满足大多数用例需求,而完整安装 pip3 install 'llmware[full]' 则包含了其他常用库。

周三,5月22日 - v0.2.15

  • 改进了模型类对 Pytorch 和 Transformers 依赖项的处理方式(按需即时加载)
  • 扩展了 API 端点选项和推理服务器功能——参见新的 客户端访问选项服务器启动示例

周六,5月18日 - v0.2.14

  • 新的 OCR 图像解析方法——参见 示例
  • 开始实施日志改进的第一部分(进行中),涉及 Configs 和 Models 模块。
  • 向目录中新增了一款嵌入模型——industry-bert-loans。
  • 更新了模型导入方法和配置。

星期日,5月12日 - v0.2.13

  • 新增GGUF流式传输方法,附带基础示例phi3本地聊天机器人
  • 大幅清理了辅助导入和依赖项,以降低安装复杂度——请注意更新后的requirements.txt和setup.py文件。
  • 添加了防御性代码,在代码的特定部分(如OCR、网页解析器)中,若缺少依赖项会给出详细的警告信息。
  • 更新了测试、公告和文档。
  • 创建了OpenAIConfigs配置类,以支持Azure OpenAI服务。

星期日,5月5日 - v0.2.12更新

  • 在ModelCatalog中上线了"bling-phi-3""bling-phi-3-gguf"模型——这是最新且最精准的BLING/DRAGON系列模型。
  • 新增长文档摘要方法,使用slim-summary-tool工具,示例
  • 新增Office(PowerPoint、Word、Excel)样本文件,示例
  • 增加了对Python 3.12的支持。
  • 废弃了faiss库,并在快速入门示例中用“无需安装”的chromadb替代。
  • 重构了Datasets、Graph和Web Services类。
  • 将WhisperCPP语音解析功能整合进Library库中。

星期一,4月29日 - v0.2.11更新

  • 更新了Phi-3和Llama-3的gguf库。
  • 在ModelCatalog中新增了Phi-3示例和Llama-3示例,以及量化版本。
  • 集成了WhisperCPP模型类和预编译的共享库——入门示例
  • 新增用于测试的语音样本文件——示例
  • 改进了Windows系统上的CUDA检测功能,并增加了对旧版Mac OS的安全检查。

星期一,4月22日 - v0.2.10更新

  • 更新了Agent类,支持使用自然语言查询PostgreSQL中的自定义表——示例
  • 实现了新的Agent API端点,结合LLMWare推理服务器和全新的Agent功能——示例

星期二,4月16日 - v0.2.9更新

  • 新增CustomTable类,可与基于LLM的工作流结合,快速创建自定义数据库表。
  • 优化了将CSV和JSON/JSONL文件转换为数据库表的方法。
  • 参见新示例:创建自定义表示例

星期二,4月9日 - v0.2.8更新

  • Office解析器(Word Docx、PowerPoint PPTX和Excel XLSX)进行了多项改进——新增库和Python方法。
  • 包括:多处修复、改进的文本分块控制、页眉文本提取及配置选项。
  • 总体而言,新的Office解析器选项与新的PDF解析器选项保持一致。
  • 请参阅Office解析配置示例

星期三,4月3日 - v0.2.7更新

  • PDF解析器进行了多项改进——新增库和Python方法。
  • 包括:针对欧洲语言的UTF-8编码支持。
  • 包括:更完善的文本分块控制、页眉文本提取及配置选项。
  • 更多细节请参阅PDF解析配置示例
  • 注意:将逐步停止对aarch64-linux平台的支持(后续将使用v0.2.6版本的解析器)。今后将全面支持x86_64架构且配备CUDA的Linux Ubuntu 20及以上版本。

星期五,3月22日 - v0.2.6更新

  • 新增SLIM模型:summary、extract、xsum、boolean、tags-3b以及combo sentiment-ner。
  • 新增logit和采样分析功能。
  • 提供了展示如何使用这些新模型的新示例。

星期四,3月14日 - v0.2.5更新

  • 改进了CUDA环境下(Windows和Linux)对GGUF的支持,提供了新的预编译二进制文件和异常处理机制。
  • 增强了模型配置选项(采样、温度、top logit捕获等)。
  • 对Ubuntu 20及以上版本提供了完整的向后兼容支持,包括解析器和GGUF引擎。
  • 增加了对Anthropic Claude 3模型的支持。
  • 新增检索方法:document_lookup和aggregate_text。
  • 新增模型:bling-stablelm-3b-tool——一款快速、精准的3B量化问答模型,是我们近期的最爱之一。

星期三,2月28日 - v0.2.4更新

  • 对GGUF生成式模型类进行了重大升级——支持Stable-LM-3B、CUDA构建选项,并进一步优化了采样策略的控制。
  • 注意:从v0.2.4版本开始,将随构建打包新的GGUF llama.cpp预编译库。
  • 改进了对HF嵌入模型的GPU支持。

星期五,2月16日 - v0.2.3更新

  • 向ModelCatalog中添加了10余种嵌入模型——nomic、jina、bge、gte、ember和uae-large。
  • 更新了OpenAI支持至1.0及以上版本,并新增text-3嵌入模型。
  • SLIM模型的密钥和输出值现在可在ModelCatalog中访问。
  • 将编码方式更新为‘utf-8-sig’,以更好地处理带有BOM标记的txt/csv文件。

最新更新——2024年1月19日——llmware v0.2.0

  • 新增了数据库集成选项——Postgres和SQLite。
  • 改进了并行解析时的状态更新和解析事件日志记录功能。
  • 大幅增强了Embedding数据库与Text集合数据库之间的交互能力。
  • 改进了动态模块加载过程中的错误异常处理机制。

最新更新——2024年1月15日:llmware v0.1.15

  • 优化了双通道检索查询。
  • 扩展了配置对象和端点资源的选项。

最新更新——2023年12月30日:llmware v0.1.14

  • 增加了对Open Chat推理服务器的支持(兼容OpenAI API)。
  • 提升了多种嵌入模型和向量数据库配置的能力。
  • 新增了PGVector和Redis向量数据库的docker-compose安装脚本。
  • 将“bling-tiny-llama”加入模型目录。

最新更新——2023年12月22日:llmware v0.1.13

  • 新增了3个向量数据库——Postgres(PG Vector)、Redis和Qdrant。

  • 改进了将Sentence Transformers直接集成到模型目录中的支持。

  • 优化了模型目录的属性设置。

  • 在模型与嵌入、向量数据库等领域新增了多个示例,涵盖GGUF、向量数据库和模型目录等内容。

  • 2023年12月17日:llmware v0.1.12

    • dragon-deci-7b 被添加到目录中——基于 Deci 的高性能新 7B 模型基础进行 RAG 微调的模型
    • 新增 GGUFGenerativeModel 类,便于集成 GGUF 模型
    • 为 Mac M1、Mac x86、Linux x86 和 Windows 添加预构建的 llama_cpp / ctransformer 共享库
    • 3 个 DRAGON 模型被打包为 Q4_K_M GGUF 格式,适用于 CPU 笔记本电脑使用(dragon-mistral-7b、dragon-llama-7b、dragon-yi-6b)
    • 4 个领先的开源聊天模型以 Q4_K_M 格式被添加到默认目录中
  • 2023年12月8日:llmware v0.1.11

    • 新增针对大规模文档摄取和 Milvus 嵌入的快速入门示例。
    • 新增 LLMWare“弹出式”推理服务器模型类及示例脚本。
    • 新增用于 RAG 的发票处理示例。
    • 改进了 Windows 堆栈管理,以支持解析更大文档。
    • 增强了 PDF 和 Office 解析器的调试日志输出模式选项。
  • 2023年11月30日:llmware v0.1.10

    • Windows 被添加为受支持的操作系统。
    • 进一步优化了原生代码中的堆栈管理。
    • 修复了一些小缺陷。
  • 2023年11月24日:llmware v0.1.9

    • Markdown (.md) 文件现在会被解析并视为文本文件。
    • 对 PDF 和 Office 解析器堆栈进行了优化,应可避免设置 ulimit -s 的需求。
    • 新增 llmware_models_fast_start.py 示例,允许发现和选择所有 llmware HuggingFace 模型。
    • 现在仓库中包含了原生依赖项(共享库和依赖),以方便本地开发。
    • 更新了 Status 类,以支持 PDF 和 Office 文档解析状态更新。
    • 修复了一些小缺陷,包括库导出中的图像块处理问题。
  • 2023年11月17日:llmware v0.1.8

    • 通过允许每个模型指定尾随空格参数,提升了生成性能。
    • 改进了 llama2 和 mistral 的 eos_token_id 处理。
    • 加强了对 Hugging Face 动态加载的支持。
    • 新增了使用 llmware DRAGON 模型的示例。
  • 2023年11月14日:llmware v0.1.7

    • 切换到 Python Wheel 包格式,以便在 PyPi 上分发,从而在所有支持平台上无缝安装原生依赖项。
    • ModelCatalog 的增强:
      • OpenAI 更新,加入了新发布的“turbo”4 和 3.5 模型。
      • Cohere embedding v3 更新,加入了新的 Cohere 嵌入模型。
      • BLING 模型作为开箱即用的注册选项出现在目录中。它们可以像其他任何模型一样实例化,即使没有“hf=True”标志。
      • 可以使用 ModelCatalog 中的 register 方法,在现有模型类别中注册新的模型名称。
    • Prompt 的增强:
      • 在 prompt_main 输出字典中添加了“evidence_metadata”,使 prompt_main 的响应无需修改即可直接接入证据和事实核查步骤。
      • 现在可以在 prompt.load_model(model_name, api_key = “[my-api-key]”) 中直接传递 API 密钥。
    • LLMWareInference Server — 初始发布:
      • 新增 LLMWareModel 类,这是一个基于自定义 HF 风格 API 的模型封装类。
      • LLMWareInferenceServer 是一个新的类,可以在远程(GPU)服务器上实例化,创建一个可集成到任何 Prompt 工作流中的测试 API 服务器。
  • 2023年11月3日:llmware v0.1.6

    • 更新了打包方式,要求使用 mongo-c-driver 1.24.4,以暂时绕过 mongo-c-driver 1.25 的段错误问题。
    • 为未来支持 Windows 做好准备,对 Python 代码进行了相应更新。
  • 2023年10月27日:llmware v0.1.5

    • 四个新的示例脚本专注于小型微调指令模型的 RAG 工作流,这些模型可在笔记本电脑上运行(llmware BLING 模型)。
    • 扩展了在 prompt 类中设置温度的选项。
    • 改进了 Hugging Face 模型生成后的后处理。
    • 简化了将 Hugging Face 生成模型加载到 prompt 中的过程。
    • 初始发布了中央 status 类:提供一致接口供调用者读写嵌入状态。
    • 增强了内存中字典搜索对多键查询的支持。
    • 移除了人机交互包装中的尾随空格,以提升部分微调模型的生成质量。
    • 修复了一些小缺陷,更新了测试脚本,并升级了 Werkzeug 版本,以解决依赖性安全警报
  • 2023年10月20日:llmware v0.1.4

    • 支持 Hugging Face 模型的 GPU 加速。
    • 修复了一些缺陷,并增加了测试脚本。
  • 2023年10月13日:llmware v0.1.3

    • 支持 MongoDB Atlas 向量搜索。
    • 支持使用 MongoDB 连接字符串进行身份验证。
    • 提供文档摘要方法。
    • 改进了自动捕捉模型上下文窗口以及传递预期输出长度变化的功能。
    • 提供按名称查找的数据集卡片和描述。
    • 在模型推理使用字典中添加了处理时间。
    • 增加了测试脚本、示例和缺陷修复。
  • 2023年10月6日:llmware v0.1.1

    • 将测试脚本添加到 GitHub 仓库中,用于回归测试。
    • 修复了一些小缺陷,并更新了 Pillow 版本,以解决依赖性安全警报
  • 2023年10月2日:llmware v0.1.0 🔥 llmware 开源首发!!🔥

⬆️ 返回顶部

🤓 阅读我们的白皮书

英特尔联合解决方案

关于 Model HQ

版本历史

v0.4.52026/02/21
v0.4.42026/02/11

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架