ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

llmware 笔记本实战指南:Jupyter 与 Google Colab 环境解析及 RAG 快速上手

llmware 笔记本实战指南:Jupyter 与 Google Colab 环境解析及 RAG 快速上手 llmware 笔记本实战指南Jupyter 与 Google Colab 环境解析及 RAG 快速上手【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware本篇基于仓库中的 Notebooks 示例文档 展开讲清 Jupyter Notebook 与 Google Colab 的异同、为何运行 llmware 模型需要启用 Colab 的 T4 GPU16GB 内存门槛并结合 tutorials/notebooks 目录中的真实 notebook给出在 Colab 中安装 llmware 的完整步骤含 grpcio 版本坑与本地合同分析 RAG 示例读完即可选择合适的笔记本环境跑通 llmware 的 RAG 流程。一、什么是 Jupyter NotebookJupyter Notebook 是一个开源的 Web 应用允许你创建和分享包含可运行代码、数学公式、可视化图表与叙述性文本的交互式文档。文档指出它广泛应用于数据清洗与转换、数值模拟、统计建模、数据可视化、机器学习等场景。对 llmware 而言Jupyter 的价值在于解析、嵌入、检索、模型推理各步骤都是独立可运行的代码块非常适合逐步验证 RAG 流水线中的中间结果。仓库中大量的示例 notebook见 tutorials/notebooks 目录正是以此为前提编写的。二、什么是 Google ColabGoogle ColabColaboratory是一个免费的云端 Jupyter notebook 环境无需本地配置即可在浏览器中编写并执行 Python 代码。与本地 Jupyter 最大的区别在于Colab 免费提供计算资源包括 GPU 和 TPU这使它成为机器学习和数据分析项目的热门选择。llmware 官方提供了一个可直接在 Colab 中运行的快速入门 notebookquickstart_rag_colab.ipynb其中演示了使用本地运行的 RAG 优化小模型完成合同分析。三、两个平台的关键相似点原始文档从三个维度总结了 Jupyter 与 Colab 的共性界面两者都使用 Jupyter Notebook 界面支持在单个文档中混排可执行代码、公式、可视化与叙述文本语言支持两者主要用于执行 Python 代码但 Jupyter Notebook 还支持 R、Julia 等其他语言用例两者都广泛用于数据分析、机器学习与教学便于分享结果与方法论。值得注意的是仓库中 tutorials/notebooks/README.md 在这份对比基础上进一步引入了第三方开源 notebook 框架 marimo内置交互组件、可作为 Web 应用部署、也可作为脚本执行并说明仓库同样提供了 marimo 版本快速示例见 fast_start_marimo_examples 目录。四、关键差异执行环境与资源获取维度Jupyter NotebookGoogle Colab执行环境可运行在本机或自有服务器托管在云端无需本地配置资源访问GPU/TPU 需用户自行在服务器上配置免费访问 GPU 和 TPU 硬件加速器协作能力需自行搭建共享方案类似 Google Docs支持多人同时编辑同一 notebook文档的结论是两者基于同一理念、功能高度相似主要区别集中在执行环境和计算资源的获取方式上。理解这些差异能帮助你为 llmware 的模型加载与推理任务做出合理的环境选择。五、启用 Colab 的 T4 GPU16GB 内存门槛这是原文档中最关键的实操要点。llmware 的模型设计上要求至少 16GB 内存Colab 默认提供约 13GB 内存会显著拖慢计算速度。因此文档强烈建议在 Colab 中启用 T4 GPU——它能为 notebook 提供 16GB 内存使模型运行顺畅高效。启用步骤原文档完整保留在 Colab notebook 中点击Runtime标签页选择Change runtime type在Hardware Accelerator下选择T4 GPU。注意免费使用 T4 存在每周用量上限。这一建议在仓库的 notebook 中被逐字落实。例如 example_1_create_first_library_version_1.ipynb 与 example_3_prompts_and_models_version_1.ipynb 的开头 markdown 单元格都写明If you are using Colab for free, we highly recommend you activate the T4 GPU hardware accelerator. Our models are designed to run with at least 16GB of RAM, activating T4 will grant the notebook 16GB of GDDR6 RAM as opposed to the 13GB Colab gives automatically.内存要求的官方依据也见 安装文档平台支持 Mac M1/M2/M3、Windows、Linux推荐 Ubuntu 20/22RAM 最低 16GBPython 3.9/3.10/3.11该文档发布时不支持 3.12。Colab 自带 Python 3.10quickstart_rag_colab.ipynb 中!python -V的输出即为Python 3.10.12正好落在支持范围内。六、在 Colab 中安装 llmwaregrpcio 版本坑从 quickstart_rag_colab.ipynb 的源码单元格可以确认Colab 环境中安装 llmware 有一个必须处理的依赖冲突Colab 内置的 Python 3.10 环境自带较新版本的 grpcio1.60与 llmware 的某个依赖不兼容需要先降级、然后重启会话。该 notebook 的完整安装流程为!python -V # 确认 Python 版本Colab 默认 3.10.12 %pip install grpcio1.60.0,1.49.1 --no-cache-dir # 先降级 grpcio !pip install -q llmware随后 notebook 中明确标注在 Colab 中点击 Runtime Restart session and run all重启会话并运行全部再重新执行!pip install -q llmware。这个先固定 grpcio 版本、再重启的步骤是该 notebook 与本地安装pip3 install llmware见 安装文档的核心差异在 Colab 上手时容易遗漏重启提示正是 notebook 中专门加粗的 单元格。七、Colab 快速示例本地小模型合同分析quickstart_rag_colab.ipynb 的核心是一个contract_analysis_on_laptop函数展示如何用本地运行的 RAG 优化 LLM 做合同分析。从 notebook 源码可确认其关键调用链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): # 下载 llmware 样例文件 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 executives base salary?, governing law: What is the governing law?} prompter Prompt().load_model(model_name) for i, contract in enumerate(os.listdir(...)): # 遍历合同文件逐份解析并提问 ...涉及的关键模块均在当前仓库中存在可在 notebook 运行之余对照源码理解llmware/setup.py ——Setup().load_sample_files()负责下载样例合同等文件llmware/prompts.py ——Prompt将解析结果、检索与模型推理整合为一次问答流程HumanInTheLoop用于人在回路的确认环节llmware/configs.py ——LLMWareConfig管理活动数据库与运行配置llmware/library.py 与 llmware/retrieval.py —— 建库与查询对应Query检索接口。八、仓库 notebook 集合导览文档开篇即声明We introduce llmware through self-contained examples用自包含示例介绍 llmware。当前仓库的 notebook 资产集中在 tutorials/notebooks 下按主题组织Fast Start 系列fast_start_examples 目录example_1建库解析 →example_2构建嵌入 →example_3提示词与模型 →example_4~9文本/语义/多步检索、函数调用与 Web 服务等覆盖 RAG 全生命周期每个示例均提供 version_1/version_2 两种版本对应的纯 Python 脚本在 solutions/rag 目录例如 example-1-create_first_library.pyAgents 系列Agents_01.ipynb、Agents_02.ipynb、Agents_03.ipynb演示 SLIM 多步 Agent 流程专题示例NoteBook_Examples 目录文档摘要、MSA 处理、NER 检索、情感分析、text2sql、whisper.cpp 语音转录等 12 个自包含 notebookWeb 服务web_services_slim_fx_nb.ipynb 演示把 SLIM 模型暴露为 Web 服务。以 example_1_create_first_library_version_1.ipynb 为例其标准起手式是先装包、再显式指定活动数据库!pip install llmwareimport os from llmware.library import Library from llmware.retrieval import Query from llmware.setup import Setup from llmware.configs import LLMWareConfig LLMWareConfig().set_active_db(sqlite) LLMWareConfig().set_config(debug_mode, 2)其中set_active_db(sqlite)表示在未部署独立数据库如 Mongo、PostgreSQL时使用内置 SQLite 起步——这一点在 marimo 版本的 llmware_fast_start_example1.py 中以注释形式写得更直白by default, it is mongo……if you are just getting started, and have not installed a separate db, select sqlite。九、marimo可复用的脚本式 notebook 补充除了 Jupyter 与 Colabtutorials/notebooks/README.md 还介绍了开源 notebook 框架 marimo与 Jupyter 不同marimo 内建交互式 UI 组件且 notebook 是可复用制品——既可以部署为交互式 Web 应用也能作为 Python 脚本直接执行。仓库给出了 6 个 marimo 版快速示例fast_start_marimo_examples 目录。从 llmware_fast_start_example1.py 源码看marimo notebook 本质是普通 Python 文件以marimo.App()组织单元格例如import marimo app marimo.App() app.cell def __(LLMWareConfig): # 可选——设置活动数据库默认是 mongo # 如果你刚开始上手且没有安装独立 db选择 sqlite LLMWareConfig().set_active_db(sqlite) library_name example1_library这意味着同一套 llmware 流程代码可以在 marimo 中运行并直接作为脚本交付降低了 notebook 向生产代码迁移的成本。十、维护提示修复 notebook 的 ipywidgets 元数据损坏仓库附带一个实用工具脚本 fix_widgets_jupyter.py用于批量修复 notebook 中损坏的 ipywidgets 元数据application/vnd.jupyter.widget-statejson缺少state键的问题。其核心逻辑是用nbformat读取每个.ipynb若发现该 widget 元数据中缺失state字段则补一个空字典再写回import os import nbformat def fix_notebook_metadata(file_path): with open(file_path, r, encodingutf-8) as f: nb nbformat.read(f, as_versionnbformat.NO_CONVERT) if widgets in nb.metadata: if application/vnd.jupyter.widget-statejson in nb.metadata[widgets]: widget_meta nb.metadata[widgets][application/vnd.jupyter.widget-statejson] if state not in widget_meta: print(f[FIXING] {file_path}) widget_meta[state] {} with open(file_path, w, encodingutf-8) as f: nbformat.write(nb, f)当你从仓库克隆后使用含交互式组件的 notebook 遇到 widget 状态报错时可以参考该脚本对目标 notebook 做同样处理注意脚本中遍历的目录路径../examples/Notebooks是仓库历史目录结构使用时需按当前 tutorials/notebooks 的实际路径调整。十一、小结为 llmware 选择笔记本环境的决策路径有本地 GPU 且内存 ≥16GB直接pip3 install llmware在本地 Jupyter 中运行 solutions 与 tutorials/notebooks 中的示例环境最干净、无依赖冲突无本地算力想零配置体验使用 Colab 打开 quickstart_rag_colab.ipynb按文档建议先启用 T4 GPU 拿到 16GB 内存并记住先降级 grpcio1.60.0,1.49.1再重启会话的安装顺序需要交互式数据探索或把 notebook 当脚本交付使用 marimo 版本的 fast_start_marimo_examples 示例同一套 llmware 调用代码可复用为 Web 应用与脚本两种形态。三个环境下的 llmware 核心 APILibrary、Query、Prompt、ModelCatalog、LLMWareConfig完全一致环境差异只体现在安装步骤与资源配置上因此示例代码可以在 Jupyter、Colab 与 marimo 之间直接搬运。【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表