尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Milvus Bootcamp上手指南:从向量数据库部署到语义搜索与RAG

Milvus Bootcamp上手指南:从向量数据库部署到语义搜索与RAG Milvus 官方 Bootcamp 仓库到底提供了什么这是很多刚接触向量数据库的程序员第一个想问的问题。它的定位不是 SDK 源码也不是简单的 Hello World 集合而是一整套面向真实业务的“示例项目 落地教程”。如果你打算做 RAG 知识库、以图搜图、商品推荐、多模态检索或者只是想搞清楚 Milvus 到底能跑通哪些场景这个仓库值得花时间过一遍。借助这个仓库你可以快速建立对 Milvus 技术栈的直观认识并在本地搭建出一套可运行的向量检索环境从 Docker Compose 启动 Milvus到用 PyMilvus 写入向量数据再到跑通一个语义搜索示例最后还能通过 Attu 或 RESTful API 验证结果。下面的内容会把 Bootcamp 涉及的模块、环境准备、部署流程、示例代码与性能观察串起来帮助你在自己机器上完整跑一遍。1. Milvus Bootcamp 核心能力速览Bootcamp 位于 milvus-io/bootcamp是 Milvus 官方维护的教程和示例集中地。它面向不同水平的开发者既包含入门的向量数据库操作演示也包含面向生产场景的推荐系统、问答系统、图像检索等端到端项目。能力项说明项目定位Milvus 官方示例项目与场景教程仓库核心内容向量数据库快速上手、多场景 Demo、与 AI 模型结合的检索示例典型场景语义搜索、以图搜图、问答系统、推荐系统、多模态检索涉及组件Milvus、Attu、PyMilvus/Milvus Client、模型推理服务部署方式Docker Compose 为主支持本地非 Docker 安装交互方式Python SDK、RESTful API、Attu 可视化界面适合读者想用向量数据库做 RAG/搜索/推荐的后端工程师、AI 应用开发者需要说明的是Bootcamp 不是一个开箱即用的“软件”它更像一个学习路径和可复用代码库。你可以把自己的数据套进示例脚本中也可以参考其中的架构设计来搭建业务系统。2. Milvus 是什么以及为什么需要 BootcampMilvus 是一款开源向量数据库专门用来存储、索引和检索海量高维向量数据。它建立在多种 ANN近似最近邻索引库之上对外提供统一的向量插入、删除、查询接口并且支持标量字段过滤与向量检索混合执行。正因为这些特性Milvus 经常被用来承载大模型应用中的“外部记忆”也就是把文本、图片、音视频经过 Embedding 模型转成向量后再做相似度检索。Bootcamp 的价值在于它把这些“大词”拆成了能跑的代码。向量数据库本身并不难理解难的是把它和真实业务串起来文本怎么切片Embedding 用什么模型向量字段和标量字段如何设计检索时如何让结果更准确Bootcamp 对这些问题给出了可参考的工程范本。如果你在 Github 上搜索“milvus bootcamp”会看到它包含多个目录通常会覆盖以下几种类型基础操作连接 Milvus、创建 Collection、插入向量、构建索引、执行搜索。场景示例问答机器人、语义搜索、以图搜图、推荐系统等。集成案例与 OpenAI、HuggingFace Embedding 模型、图像识别模型等外部服务配合使用。因此这篇教程后续的实操环节会以“部署 Milvus 运行 Bootcamp 示例”为主线展开。你可以先把环境跑起来再深入看代码逻辑。3. 本地部署环境准备3.1 硬件与系统要求Milvus 本身是分布式架构但本地开发和测试通常用单机模式启动对硬件要求并不苛刻。操作系统Linux 最省事macOS 和 Windows 也可以跑但 Windows 强烈推荐 WSL 2 或 Docker Desktop。CPUx86/ARM 均可单机测试 4 核以上足够。内存Milvus 依赖 etcd、MinIO 等组件本地分配 8 GB 以上内存更稳妥。磁盘MinIO 会存储日志和向量数据文件预留 20 GB 以上剩余空间。GPUMilvus 本身不强制需要 GPU但如果你在本机跑 Embedding 模型或图像模型做示例则需要考虑显卡显存。如果你使用的是 Windows 且不想装 Docker后面会单独给出非 Docker 启动的注意事项。更稳妥的生产路径仍是 Linux Docker Compose。3.2 软件依赖清单Bootcamp 中的 Python 示例大多依赖 milvus 客户端库、OpenAI/HuggingFace 的 SDK、pymilvus 等。启动前至少要保证下面几项就绪Docker 与 Docker ComposePython 3.8 以上版本推荐 3.10 或 3.11pip 包管理工具Git用于拉取 Bootcamp 代码curl 或其他 HTTP 调试工具用于 RESTful API 验证安装 Docker 后可以用下面的命令确认版本docker --version docker compose version如果 Docker 未安装请先到 Docker 官网下载对应系统的 Docker Desktop并启动 Docker 服务。3.3 Python 环境准备建议为 Bootcamp 单独创建虚拟环境避免污染系统 Pythonpython -m venv milvus_env source milvus_env/bin/activate # Linux/macOS milvus_env\Scripts\activate # Windows CMD激活后升级 pip 并安装基础依赖pip install --upgrade pip pip install pymilvus openai sentence-transformers requests如果是在中国大陆网络环境可以临时使用国内 PyPI 镜像加速pip install pymilvus openai sentence-transformers requests -i https://pypi.tuna.tsinghua.edu.cn/simple这里安装的 openai 不一定用于真实 OpenAI 接口部分 Bootcamp 示例允许自定义 embedding endpoint你可以后续按需配置。4. Milvus 服务端启动方式4.1 使用 Docker Compose 启动 Milvus 单机版Milvus 官方仓库中提供了单机版 docker-compose 配置。从 Bootcamp 或 Milvus 官网获取稳定版配置即可。推荐的操作方式是先建立一个独立目录并拉取配置mkdir milvus-docker cd milvus-docker wget https://github.com/milvus-io/milvus/releases/download/v2.4.x/milvus-standalone-docker-compose.yml -O docker-compose.yml或者直接使用 Bootcamp 仓库中的脚本。如果你不想手动找 URL也可以直接克隆 Bootcamp 后在其scripts目录下查找启动脚本。启动命令docker compose up -d执行后 Docker 会拉取镜像并使用默认配置启动三个核心服务etcd存储元数据MinIO存储数据文件Milvus Standalone提供查询与写入服务启动完成后用以下命令观察状态docker compose ps当所有服务的状态显示为 healthy 或 Up 时Milvus 即可访问。默认 gRPC 端口为 19530管理端口为 9091。4.2 Milvus 的 Windows 非 Docker 安装思路很多用户在 Windows 上不希望安装 Docker或者 Docker Desktop 申请企业授权不方便。对于这种情况Milvus 的 Windows 非 Docker 安装虽然不如 Docker 方式主流但也是可行的核心思路是手动运行 Milvus 依赖的 etcd 和 MinIO再单独启动 Milvus 服务。非 Docker 方式对依赖版本有严格要求不同 Milvus 版本对应的 etcd、MinIO 版本也要仔细匹配。通常不建议在 Windows 上手动编译部署 Milvus。更推荐的替代路径有两种安装 WSL 2在 Ubuntu 子系统内按 Linux 方式安装 Milvus。使用云厂商提供的向量数据库服务或在远程 Linux 服务器上部署 MilvusWindows 本机只安装客户端 SDK。如果一定要在 Windows 原生环境试验可以下载 etcd 的 Windows 版本和 MinIO 的 Windows 版本分别启动服务后再把 milvus.yaml 中的对应地址指到本地服务端口。这个方案排查成本较高只适合研究学习。4.3 启动 Bootcamp 自带脚本Bootcamp 仓库通常包含一个scripts目录里面有启动 Milvus 和示例项目的脚本。假设你已经克隆了仓库git clone https://github.com/milvus-io/bootcamp.git cd bootcamp然后根据 README 指引执行脚本。例如部分场景会提供cd bootcamp/quickstart python run_milvus.py这个脚本会调用本机命令行工具启动 Docker Compose或引导你指定 Milvus 服务地址。实际脚本名称以仓库 README 为准。如果你不想被仓库结构困惑可以先用最直接的方式验证 Milvus 是否通from pymilvus import connections connections.connect(host127.0.0.1, port19530) print(Milvus 连接成功)如果输出正常说明服务端已经可用。5. 验证 Milvus 与 Attu 可视化工具5.1 基础连接验证Milvus 启动以后第一步是通过 SDK 创建 Collection。这是一个非常重要的“冒烟测试”能一次性验证网络、服务端状态和权限。创建一个名为test_demo的 Collection并插入少量向量from pymilvus import ( connections, CollectionSchema, FieldSchema, DataType, Collection ) connections.connect(host127.0.0.1, port19530) fields [ FieldSchema(nameid, dtypeDataType.INT64, is_primaryTrue), FieldSchema(nameembedding, dtypeDataType.FLOAT_VECTOR, dim8), ] schema CollectionSchema(fieldsfields) collection Collection(nametest_demo, schemaschema) data [ [i for i in range(10)], [[0.1 i * 0.05] * 8 for i in range(10)], ] collection.insert(data) collection.flush() print(插入完成实体数量, collection.num_entities)运行这段代码后如果打印出数字 10说明 Milvus 插入链路正常。接下来可以搜索import random collection.load() search_vectors [[random.random() for _ in range(8)]] results collection.search( datasearch_vectors, anns_fieldembedding, param{metric_type: IP, params: {}}, limit3, output_fields[id], ) for hits in results: for hit in hits: print(hit.id, hit.score)搜索能返回数据就说明索引和查询链路没有问题。5.2 启动 Attu 查看 Milvus 数据Attu 是 Milvus 的可视化管理工具可以用网页方式查看 Collection、实体数据和查询结果。Attu 支持独立 Docker 启动docker run -p 8000:3000 -e MILVUS_URL127.0.0.1:19530 zilliz/attu:latest启动后浏览器访问http://127.0.0.1:8000在连接界面填入 Milvus 地址127.0.0.1:19530点击连接即可。进入界面后可以看到刚才创建的test_demoCollection 以及向量维度和实体数量。需要注意不同版本 Attu 对 Milvus 版本的支持范围不同。比如旧版 Attu 可能无法连接 Milvus 2.4而新版对 Milvus 2.3 支持也需要确认。稳妥做法是使用 Docker 镜像最新版本并按 README 说明对照适用的 Milvus 版本。5.3 通过 RESTful API 验证Milvus 在 2.x 版本也提供了 RESTful API。如果你不想安装任何 SDK可以直接用 curl 做接口验证curl -X POST http://127.0.0.1:19530/v2/vectordb/collections/list \ -H Content-Type: application/json \ -d {}正常情况会返回包含test_demo的列表结果。有了 RESTful 接口后面编写跨语言业务系统时就方便很多。6. 运行 Bootcamp 典型场景示例6.1 语义搜索示例Bootcamp 中最常被参考的是语义搜索。它的流程是读取文本 - 切分成块 - 用 Embedding 模型转成向量 - 存入 Milvus - 用户输入 query - 转成向量 - 搜索并返回相似文本。在 Bootcamp 仓库中通常会有类似semantic_search的目录。运行前需要确认在代码中使用的 Embedding 模型来源。常见方式有两种调用远程 embedding API。使用本地sentence-transformers模型。为了减少网络依赖可以先使用本地模型跑通流程。下面是一个简化版参考from sentence_transformers import SentenceTransformer from pymilvus import connections, CollectionSchema, FieldSchema, DataType, Collection model SentenceTransformer(paraphrase-multilingual-MiniLM-L12-v2) docs [ Milvus 是一个开源的向量数据库。, Bootcamp 是 Milvus 的官方示例仓库。, 向量检索可以用于推荐系统。, ] doc_embeddings model.encode(docs).tolist() connections.connect(host127.0.0.1, port19530) fields [ FieldSchema(nameid, dtypeDataType.INT64, is_primaryTrue), FieldSchema(namedoc, dtypeDataType.VARCHAR, max_length500), FieldSchema(nameembedding, dtypeDataType.FLOAT_VECTOR, dimdoc_embeddings[0].__len__()), ] schema CollectionSchema(fieldsfields) collection Collection(namesemantic_demo, schemaschema) collection.insert([[i for i in range(len(docs))], docs, doc_embeddings]) collection.flush() collection.load() query 向量数据库能做什么 query_embedding model.encode([query]).tolist() results collection.search( dataquery_embedding, anns_fieldembedding, param{metric_type: IP, params: {}}, limit2, output_fields[doc], ) for hits in results: for hit in hits: print(f相似度: {hit.score:.4f}文本: {hit.entity.get(doc)})执行时如果本机第一次加载 HuggingFace 模型会先下载权重需要几分钟时间。网络较慢时可以提前通过环境变量HF_ENDPOINT设置国内镜像export HF_ENDPOINThttps://hf-mirror.com运行结果会打印两条最相似的文本作为参考。如果返回的文本明显不相关可以检查向量模型语言适配性或增大limit值再观察。6.2 以图搜图示例以图搜图也是 Bootcamp 中很有辨识度的案例。流程上与文本检索类似只是 Embedding 模型换成了图像特征提取模型比如 ResNet、CLIP 或其他视觉模型。这里需要注意两个问题图像特征提取通常需要 GPU显存占用取决于模型大小和 batch_size。图像要向量的维度一般比文本向量更高Collection 设计时要预留 dim 值。Bootcamp 中常见代码结构如下image_embedding.py负责把本地图片转成向量。load_data.py把图片向量写入 Milvus。search.py提供查询图片并返回相似图片的示例。运行这类示例时建议先用 10 张以内的测试图片跑通全流程再扩大到更多图片避免首次运行时因为网络、模型下载或路径问题浪费时间。6.3 问答系统与知识库 RAG 示例Bootcamp 中问答系统示例更贴近当前大模型应用。它通常会演示如何结合 Milvus 与 LLM先把文档切片并向量化写入 Milvus用户提问时先在 Milvus 中检索相关片段再把片段拼进 Prompt 中交给 OpenAI 或其他大模型接口生成回答。这种设计的价值在于大模型不再依赖内部记忆回答而是基于业务知识库中的真实内容进行回答可以有效降低幻觉比例。RAG 类系统的成败往往不在大模型本身而在于检索质量。片段的切分粒度、Embedding 模型的语义能力、Milvus 检索时使用的 metric type、TopK 数量都会直接影响最终答案质量。在本地运行这类示例时OpenAI 接口需要配置密钥。也可以把 OpenAI SDK 的 base_url 替换成本地部署的模型服务例如使用 Ollama 提供兼容接口。Bootcamp 部分示例支持配置环境变量来覆盖 endpoint具体以仓库 README 为准。7. 接口 API 与批量任务设计7.1 RESTful API 对业务集成的意义Milvus 提供的 RESTful API 意味着不一定要写 Python 才能调用向量检索能力。在 Bootcamp 的架构参考中Milvus 通常被部署为独立的检索服务上层业务通过 SDK 或 HTTP 接口访问。如果你所在团队以 Java、Go 为主查看 Bootcamp 中的 Python 示例更多是为了理解数据流和参数设置落地时可以用对应语言的 Milvus SDK 改写。RESTful 接口的基础请求格式如下# 列出所有 Collection curl -X POST http://127.0.0.1:19530/v2/vectordb/collections/list \ -H Content-Type: application/json \ -d {} # 查询向量 curl -X POST http://127.0.0.1:19530/v2/vectordb/entities/search \ -H Content-Type: application/json \ -d { collectionName: semantic_demo, vector: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8], limit: 3, outputFields: [doc] }这里的vector维度需要与 Collection 中定义的 dim 一致。如果返回字段为空检查outputFields是否包含预定义字段名。7.2 批量写入向量数据Bootcamp 中很多示例需要一次写入大量向量比如给数千张图片构建索引。直接逐条插入效率很低正确做法是使用批量插入将数据组织成多个列表一次写入。batch_size 1000 for i in range(0, len(all_ids), batch_size): batch_ids all_ids[i:ibatch_size] batch_texts all_texts[i:ibatch_size] batch_vectors all_vectors[i:ibatch_size] collection.insert([batch_ids, batch_texts, batch_vectors]) print(f已插入 {i len(batch_ids)} 条) collection.flush()Milvus 的flush会把内存中的数据落盘确保后续检索能查到。插入大数量级数据后还需要执行create_index否则查询性能会显著下降。下面给出一个索引创建示例from pymilvus import Index index Index( collectioncollection, field_nameembedding, index_params{ index_type: HNSW, metric_type: IP, params: {M: 16, efConstruction: 200} } )常见索引类型包括 HNSW、IVF_FLAT、DISKANN 等。其中 HNSW 查询速度快适合中等数据量的本地示例IVF 系列内存占用相对可控DISKANN 适用于超大数据集。7.3 批量查询与任务队列构建批量查询时需要重点关注查询的 batch 大小和服务端并发能力。一次性发送大量并发请求可能会让 Milvus 或嵌入模型服务崩溃在批量查询中建议使用线程池或队列限制并发数from concurrent.futures import ThreadPoolExecutor queries [Milvus 索引怎么建, 向量数据库应用, RAG 架构] futures [] with ThreadPoolExecutor(max_workers2) as executor: future executor.submit(search_func, queries) futures.append(future) for future in futures: result future.result() print(result)7.4 批量任务失败重试建议批量任务一旦跑起来最头疼的问题就是“中间失败后从哪里继续”。建议在任务启动时先确认三件事数据源是否可重复读取写入库中是否有幂等主键失败记录是否写入日志或单独的 CSV 文件。合理的做法是给每批数据标记 offset 或唯一 ID写入失败时从断点继续。Bootcamp 里很多 Python 脚本不具备这个机制它们更适合做演示。实际生产开发时需要对这部分做工程化扩展。8. 资源占用与性能观察8.1 内存与磁盘占用Milvus 运行后主要占用来自 etcd、MinIO 和 Milvus 主进程。对于几千到几万条向量的本地测试场景内存占用一般在 2 GB 到 6 GB 之间实际取决于是否有其他容器占用。观察资源占用可以使用docker stats该命令会动态展示每个容器的 CPU、内存、网络和磁盘 I/O。如果你的本机同时运行了多个 Embedding 模型的 Web UI 或其他服务需要先将长期占用的容器或进程停掉避免影响 Milvus 稳定性。8.2 向量查询性能关键因素向量查询性能受几个因素影响数据量数据越多索引构建时间越长查询耗时也会增加。索引类型HNSW 查询快但内存占用高IVF_FLAT 在数据量小时不一定有明显优势。查询的 limit 和 filter返回更多结果会增加耗时如果使用了标量过滤过滤字段若没有索引扫描成本会明显增加。向量维度Embedding 模型输出 768 维、1024 维很常见高维度查询对 CPU 和内存压力更大。metric type通常 IP 和 COSINE 在向量归一化后差别不大但不同项目的计算耗时略有差异。Bootcamp 中的示例数据量一般不大用户往往察觉不到性能瓶颈。如果把同样的代码逻辑搬到几十万维数据和千万级数据上就必须要关注索引参数和服务器配置。8.3 Embedding 模型推理的显存占用Bootcamp 的部分示例需要本地跑 Embedding 模型。如果用的是 HuggingFace 的 Transformer 模型显存占用会随着模型体积和 batch_size 变化。以常见的中等模型为例4GB 到 8GB 显存可以覆盖大多数开源 Embedding 模型的小批量推理。如果显存不足可以考虑降低 batch_size或者使用 CPU 推理。CPU 推理速度会慢很多但测试场景完全够用。这里的核心原则是不要一次性把上千条文本塞给模型去编码分批处理更安全。8.4 降低资源占用的小技巧本地测试时为了减少等待和崩溃风险可以采用这些做法先用少量样本跑通代码再扩展数据量。删除不再使用的 Collection避免磁盘膨胀和数据文件堆积。定期清理 Docker 构建缓存和无用镜像。如果 Milvus 长期不用用docker compose down停止服务需要保留数据时不要加-v参数。在使用 Attu 时只打开必要的 Collection 页面避免工具自动加载大量元数据导致浏览器卡顿。9. 常见问题与排查方法问题现象可能原因排查方式解决方案启动 Docker Compose 后服务一直重启端口被占用或镜像下载不完整查看docker compose logs更换端口或删除镜像重新拉取pymilvus 连接超时Milvus 容器未就绪或防火墙拦截在宿主机执行telnet 127.0.0.1 19530等待容器 healthy 后重试插入数据后查询不到未调用 flush 或未 load Collection检查 collection.num_entities调用collection.flush()和collection.load()创建 Collection 报字段错误向量维度与模型输出维度不一致打印 embedding 的 shape统一 dim 值Attu 连接失败Attu 可用版本与 Milvus 版本不匹配查看 Attu 版本说明升级或降级 Attu 后重试批量任务执行到中途中断网络波动或数据编码错误在循环中加入 try/except 和日志记录失败 ID从断点继续RESTful API 返回字段缺失outputFields 名称拼写错误先查询 Collection schema根据字段名重新构造请求Docker Desktop 占用资源过高容器多且长期运行使用docker stats查看停掉不需要的容器10. 最佳实践与使用建议10.1 数据模型设计要早于代码编写Bootcamp 示例的 Collection schema 通常很简单只有主键、文本和向量字段。但真实业务里你可能需要支持多租户隔离、时间范围过滤、文档类型过滤、权限标签过滤。这些都需要提前设计为标量字段并补充对应索引。设计 schema 时要注意主键尽量使用能对应业务 ID 的整数或字符串不要用无意义的自增 ID。过滤频繁的标量字段应选择合适的数据类型并在高基数字段上考虑是否创建索引。文本字段的 max_length 要留足余地尤其是使用长文本切片时不要超过字段上限。如果需要区分多个知识库或数据集可以让 Collection 支持 partition 分区或增加业务字段。10.2 向量数据要关注来源与质量向量数据不是凭空产生的它来自文档、图片、音频或行为序列。数据质量直接决定检索效果。在实践中文档需要先做清洗去掉页眉页脚、无意义符号和重复段落图片需要确保清晰避免倒置或不相关背景音频需要确认授权范围。对于文本切片建议按语义完整度切分而不是死板地按字符数切分。Bootcamp 示例中通常不会展开讲切分细节但真实系统中切片策略必须单独设计并多次测试。10.3 检索效果要反复验证向量检索与关键词检索不同它没有“精确匹配”的概念。判断一个检索系统是否正常不能只看是否返回结果还要看返回结果是否相关。建议建立一个小型测试集每组查询包含预期命中的文档 ID每次修改参数后重新评估命中率。Milvus 搜索结果的 score 在不同 metric type 下含义不同IP分数越高表示向量内积越大一般认为更相似。L2分数越低表示欧氏距离越小更相似。COSINE分数越高表示余弦夹角越小更相似。Batch 搜索时往往需要把 query 和文档向量做同模型编码。如果 query 和文档分别使用不同模型相似度对比会失去意义。10.4 安全与合规要求如果你在 Bootcamp 基础上扩展业务应用需要特别注意以下几点人脸图片、私人文档、声音样本等敏感数据未经授权不得采集、存储、检索或用于模型训练。涉及用户隐私数据时Milvus 应部署在内网Access 控制遵循最小权限原则。使用外部大模型接口做 RAG 时不要把未脱敏的个人信息直接拼接进 Prompt。对版权图片、专利文档、商业资料进行向量化前确认是否有复制、存储和检索的合法权限。发布商用应用前要对输出内容做人工抽查与合规审查不传播侵权、违法或不良内容。10.5 工程化建议Bootcamp 代码适合学习但生产使用需要做不少工程化改造。下面这些建议能帮你少走弯路将 Milvus 地址、模型名称、Collection 名称写入环境变量或配置文件避免硬编码。向量化任务采用队列或异步任务例如 Celery 或自定义消息队列。为每个批处理任务添加日志记录开始时间、处理数据量、失败原因、耗时。定期评估 Collection 数据量和索引状态必要时清理过期数据或重建索引。将 Bootcamp 示例代码按“数据接入、向量化、写入、检索”分层拆成独立模块避免一个脚本包揽所有逻辑。上线前使用压测工具模拟并发查询观察 Milvus 查询延迟和服务稳定性。11. 总结与下一步Milvus Bootcamp 最值得尝试的点在于它用可运行代码把向量数据库的应用场景讲清楚了。你不需要从零研究 Milvus API拉下仓库跑一遍语义搜索就能快速建立起“数据怎么存、检索怎么做、结果怎么用”的完整链路。如果你刚开始接触建议按下面的顺序来验证先部署 Milvus 单机版再用 pymilvus 完成建表、插入、查询的最基础操作然后启动 Attu可视化确认数据接着把 Bootcamp 的 semantic search 示例跑通替换成自己的几条文本试一下最后再扩展图片或问答场景。比较容易踩的坑出现在模型下载和版本匹配上。文本和图像模型首次运行往往需要下载权重这一步建议先做好网络准备Attu 与 Milvus 的版本匹配也务必提前确认旧版 Attu 连新版 Milvus 时会出现兼容问题。后续可以继续探索的方向包括把 Bootcamp 的检索链路接到大模型接口形成完整 RAG 服务引入不同 Embedding 模型做效果对比使用 Attu 定位 indexing 状态和查询性能研究 Milvus 的分区、标量过滤和多租户能力为真实的在线业务做准备。跑通 Bootcamp 只是开始怎样让检索更准、更快、更适合自己的业务场景才是更值得投入精力的部分。
返回列表