llmware AWS AMI 实战指南:从 Marketplace 镜像到端到端 RAG 流水线

发布时间:2026/9/14 16:14:35
llmware AWS AMI 实战指南:从 Marketplace 镜像到端到端 RAG 流水线 llmware AWS AMI 实战指南从 Marketplace 镜像到端到端 RAG 流水线【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware本篇基于仓库中的 AWS 启动文档 展开讲解如何基于 AWS Marketplace 上的 llmware AMIAmazon Machine Image快速搭建企业级 RAGRetrieval Augmented Generation环境包括预装组件说明、llmware 包升级方式、API Key 配置、NVIDIA GPU 实例的驱动与 CUDA 初始化以及 MongoDB 与 Milvus 默认数据服务的启停管理最后给出一个可复制运行的端到端 RAG 示例。读完本文你可以在一台 EC2 实例上从镜像启动、服务管理到跑通“文档入库—向量检索—LLM 问答—CSV 报告”的完整链路。1. AMI 里有什么预装组件一览llmware AMI 是一个“开箱即用”的 RAG 运行环境根据 AWS 启动文档 的说明镜像中已包含以下内容组件说明llmware Python 包已预安装在镜像中无需额外安装即可导入使用示例代码位于实例本地的~/llmware/examples目录任意示例可用python3 filename.py直接运行MongoDB默认随实例启动作为 llmware 的文档/块block存储后端Milvus默认随实例启动作为向量数据库后端MongoDB Milvus 作为默认组合并非随意选择——llmware 的全局配置默认值就指向 Milvus。从 llmware/configs.py 的源码结构看LLMWareConfig的配置模板中vector_db默认值即为milvus且受支持的向量库列表包含 chromadb、neo4j、milvus、pg_vector、qdrant、pinecone 等十种实现。因此 AMI 上预置的 Milvus 服务与 llmware 的默认行为天然对齐用户在 AMI 上运行检索相关代码时不需要额外切换向量库。MongoDB 侧的对接实现可参考 llmware/retrieval.py 与 llmware/library.py它们分别承载查询执行与文档入库逻辑。2. 升级 llmware 版本文档特别强调llmware 包更新频繁AMM 中预装的版本可能滞后建议在正式使用前先升级。文档提供了两条升级路径分别覆盖“只要最新稳定包”和“要跟随主干最新示例”两种需求方式一从 PyPI 安装最新 llmware 包pip install llmware --upgrade方式二拉取 llmware 仓库主干代码获取最新示例cd ~/llmware git pull两条路径可以叠加使用git pull更新~/llmware下的示例与本地代码副本pip install --upgrade更新实际导入的包。需要提醒的是实例上运行的 Python 环境以 pip 安装的包为准本地克隆的代码主要用于参考最新示例写法。3. 配置 LLM API Key部分示例依赖云端 LLM 的 API Key例如 OpenAI。文档给出两种配置方式直接在示例代码中修改 API Key 变量或更新实例上的~/set-env.sh脚本然后在 shell 中加载source ~/set-env.sh加载后环境变量即可被代码通过os.environ[OPENAI_API_KEY]这类方式读取——本文第 6 节的端到端示例正是这种取法。set-env.sh的写法可参考仓库测试目录中的 tests/set-env.sh其机制是设置环境变量后再执行脚本。4. NVIDIA GPU 实例驱动与 CUDA 初始化如果将 AMI 部署在 NVIDIA GPU 实例类型上文档推荐g5.x2large或g5.4xlarge认为二者是“性能与成本兼顾”的选项这一推荐同样出现在 scripts/aws/launch-llmware-ami.sh 脚本的注释中。GPU 实例需要额外执行一次驱动与 CUDA 更新脚本。该脚本在本仓库中对应 scripts/aws/update-ami-nvidia-gpu.sh从源码看它完成了四件事下载并安装 NVIDIA CUDA 官方 keyringcuda-keyring_1.1-1_all.deb使后续一次apt update即可看到 CUDA 软件源安装ubuntu-drivers-common与nvidia-driver-535驱动通过 apt 安装cuda软件包将/usr/local/cuda/bin追加进PATH、将/usr/local/cuda-12.2/lib64追加进LD_LIBRARY_PATH写入~/.bashrc并立即source生效。也就是说该脚本把 Ubuntu 22.04 实例一次性配置成“NVIDIA 535 驱动 CUDA 12.2”的环境llmware 依赖的 GGUF/Whisper 等本地推理栈即可利用 GPU 加速。首次启动延迟注意文档特别指出在此类实例上第一次运行 llmware 时会有一次性 60–90 秒的延迟原因是 EBS 存储卷按需从 AMI 存储快照加载cold start属于正常现象后续运行不会复现。5. 管理 MongoDB 与 Milvus 服务AMI 上 MongoDB 与 Milvus 均以 systemd 服务形式运行文档给出的标准管理命令如下。停止/启动服务sudo systemctl [stop|start] [mongodb|milvus]即按需替换两个占位符例如sudo systemctl stop milvus sudo systemctl start mongodb禁用/重新启用开机自启sudo systemctl [disable|enable] [mongodb|milvus]例如只想保留 MongoDB 而让 Milvus 不随实例重启自启可执行sudo systemctl disable milvus。这对需要把向量检索切换为外部托管服务或将资源全部留给 GPU 推理的场景很实用。6. 端到端 RAG 快速上手文档的核心是一个“自包含”的 RAG 示例原文位于 repo_docs/README_AWS.md它演示了 llmware 从建库、嵌入、检索到生成回答与 CSV 报告的完整流水线可整体复制到 AMI 上运行前提是已完成第 3 节的 API Key 配置# 本示例演示使用 llmware 包构建检索增强生成RAG import os from llmware.library import Library from llmware.retrieval import Query from llmware.prompts import Prompt from llmware.setup import Setup # 将此处更新为你自己的 API Key设置环境变量或直接在此修改 openai_api_key os.environ[OPENAI_API_KEY] # 一个自包含的端到端 RAG 示例 def end_to_end_rag(): # 创建名为 Agreements 的库并载入 llmware 样例文件 print (f\n Creating library Agreements...) library Library().create_new_library(Agreements) sample_files_path Setup().load_sample_files() library.add_files(os.path.join(sample_files_path, Agreements)) # 使用 industry-bert-contracts 嵌入模型生成向量并存入 Milvus print (f\n Generating vector embeddings using embedding model: industry-bert-contracts...) library.install_new_embedding(embedding_model_nameindustry-bert-contracts, vector_dbmilvus) # 对库执行语义检索收集作为 LLM 提示词证据的素材 print (f\n Performing a semantic query...) os.environ[TOKENIZERS_PARALLELISM] false # 规避 HuggingFace tokenizer 警告 query_results Query(library).semantic_query(Termination, result_count20) # 使用 GPT-4 创建新的 prompter并挂接上一步的检索结果 prompt_text Summarize the termination provisions print (f\n Prompting LLM with {prompt_text}) prompter Prompt().load_model(gpt-4, api_keyopenai_api_key) sources prompter.add_source_query_results(query_results) # 带着来源与问题提示 LLM responses prompter.prompt_with_source(prompt_text, prompt_namesummarize_with_bullets) for response in responses: print (\n LLM response\n response[llm_response]) # 最后生成可分享的 CSV 报告 print (f\n Generating CSV report...) report_data prompter.send_to_human_for_review() print (File: report_data[report_fp] \n) end_to_end_rag()示例输出文档中记录的真实运行效果 python examples/rag_with_openai.py Creating library Agreements... Generating vector embeddings using embedding model: industry-bert-contracts... Performing a semantic query... Prompting LLM with Summarize the termination provisions LLM response - Employment period ends on the first occurrence of either the 6th anniversary of the effective date or a company sale. - Early termination possible as outlined in sections 3.1 through 3.4. - Employer can terminate executives employment under section 3.1 anytime without cause, with at least 30 days prior written notice. - If notice is given, the executive is allowed to seek other employment during the notice period. Generating CSV report... File: /Users/llmware/llmware_data/prompt_history/interaction_report_Fri Sep 29 12:07:42 2023.csv各步骤对应的源码实现便于进一步阅读Setup().load_sample_files()定义在 llmware/setup.py实现从公开 S3 桶下载样例文档其中Agreements域约含 15 份雇佣协议样例Library().create_new_library()与library.add_files()定义在 llmware/library.py。从源码签名看add_files默认chunk_size400、max_chunk_size600默认解析图像与表格并按扩展名路由到对应解析器install_new_embedding(..., vector_dbmilvus)同样位于 llmware/library.py默认batch_size500、use_gpuTrue这与 AMI 上 GPU 实例配置形成呼应Query(library).semantic_query(Termination, result_count20)实现于 llmware/retrieval.py其核心方法semantic_query仅 query 为必填参数其余如result_count、embedding_distance_threshold均可选add_source_query_results/prompt_with_source/send_to_human_for_review实现于 llmware/prompts.py其中send_to_human_for_review会把当前一次人机交互导出为 CSV供人工复核与分发。该示例中vector_dbmilvus的写法正是第 5 节中 Milvus 服务用途的直接体现如果执行嵌入或检索时报连不上 Milvus先回到sudo systemctl status milvus检查服务状态。7. 用 CLI 程序化启动 llmware 实例除了从 AWS 控制台选择 AMI仓库还提供了一个用awsCLI 拉起实例的参考脚本 scripts/aws/launch-llmware-ami.sh。脚本头部注释明确了五个需要按需修改的决策点变量说明INSTANCE_TYPE默认t2.2xlarge非 GPUNVIDIA GPU 场景推荐g5.2xlarge或g5.4xlargeKEY_NAME替换为你的 EC2 密钥对名称SUBNET_ID替换为目标子网 IDSTORAGE_SIZE默认 100GB文档认为对中等负载足够若计划试验大量模型建议调大INSTANCE_NAME实例名标签默认llmware-001脚本最终执行的是aws ec2 run-instances其中--image-id指向 llmware 对应的 AMI 镜像 ID该 ID 与区域绑定实际部署时以 AWS Marketplace 页面显示的当前区域镜像 ID 为准--block-device-mappings指定根卷大小--tag-specifications写入实例名标签。8. 小结与延伸阅读AMI 的核心价值在于“环境一致性”llmware 包、样例代码、MongoDB、Milvus 全部预置且默认配置与 llmware 的默认向量库Milvus对齐使用顺序建议启动实例 →pip install llmware --upgrade与git pull更新 → 配置~/set-env.sh中的 API Key → GPU 实例执行 NVIDIA 驱动/CUDA 初始化脚本 → 按第 6 节示例跑通 RAG更多可运行的用法示例集中在 solutions/ 目录下的 embeddings、gguf、models、rag 等子目录每个子目录均配有可直接python3执行的脚本行为验证可参考 tests/README.md其中按 library、models、retrieval、embeddings 等维度组织了测试用例。【免费下载链接】llmwareUnified framework for building enterprise RAG pipelines with small, specialized models项目地址: https://gitcode.com/GitHub_Trending/ll/llmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询