Claude 3.5 +LlamaIndex+Milvus,六步教你搭建Agentic RAG

【LlamaIndex】LlamaIndex与Milvus实现知识库 本系统基于LlamaIndex和Milvus实现了一个高效的知识库解决方案,支持文本和文档两种知识库创建方式。核心组件包括:DashScopeEmbedding类(使用通义千问模型生成文本向量)和MilvusKnowledgeBase类(负责知识库的存储与检索)。系统流程包含初始化、知识库构建和检索三个阶段,支持语义相似度查询并返回格式化结果。技术栈采用Python3.x、LlamaIndex框架、Milvus向量数据库和通义千问嵌入模型,适用于智能问答等需要知识检索的场景。 阅读详情

过去三年中, OpenAI 的 ChatGPT为代表的基础模型的出现显著加速了 LLM 应用的发展,但是如果只使用 LLM 依赖其“自有”知识来回答问题,往往会出现大模型幻觉,或者知识更新不及时等问题。基于这一背景,使用多个 LLM,每个 LLM 针对不同类型的问题进行优化的解决思路应运而生。但这也会出现一定的局限,那就是让整体系统变得复杂且难以扩展

过去三年中, OpenAI 的 ChatGPT为代表的基础模型的出现显著加速了 LLM 应用的发展,但是如果只使用 LLM 依赖其“自有”知识来回答问题,往往会出现大模型幻觉,或者知识更新不及时等问题。基于这一背景,使用多个 LLM,每个 LLM 针对不同类型的问题进行优化的解决思路应运而生。

但过多的模型拼合,又会导致整体系统变得复杂且难以扩展。那么,要如何解决这个问题呢?

答案是复合人工智能系统(CAIS)。接下来,我们将重点解读CAIS的历史演变以及搭建流程。

01.

CAIS的历史演变,从RAG到Agent

这一概念最早是2024年初加州大学伯克利分校的AI研究实验室网站上的一篇题为《从模型到复合人工智能系统的转变》的博客中被提及,它强调通过集成多种AI技术和模块来实现更高效、更可靠、更可解释的智能系统。

比如,我们可以通过在 LLM pipeline 中添加额外组件,进而提升系统性能。一个常见的代表是 RAG,RAG 通过将“知识库”或“上下文”存储在向量数据库(如 Milvus 或 Zilliz Cloud)中,并将其作为上下文与LLM结合,可以生成更准确、相关性更高的回答。

通常来说,构建 RAG 系统的基本步骤如下:

  • Chunking:将文档拆分为较小的部分,以提高在向量数据库中用语义搜索内容的相关性,这是 Zilliz Cloud 和 Milvus 等向量数据库的核心特性。

  • Embedding:将分块向量化(创建向量数值表示)并存入向量数据库。

  • Prompt:向 LLM 提供指令,基于查询在向量数据库中检索以获取答案。

  • Query:向 LLM 提出的问题。

图 1:RAG 的基本步骤

不难发现,以上各个环节,主要基于向量相似性进来完成检索以及内容生成,可一旦分块不够精准,或者分块后的内容与答案相关性不高,就会导致最终生成的答案也会不尽如人意。

与此同时,RAG的另一大局限性在于,对特定模型的过分依赖。比如,我们做一个比较任务,但模型可能是为归纳任务训练的。

在此基础上,Agent应运而生。

LLM Agent 是复杂的系统,它们通过在 pipeline 中添加了“类人”步骤,如推理、工具使用或规划,可以完成各种复杂操作。

比如,在下图中,LLM Agent 包含多个组件,它们可以在迭代过程中互动,不仅可以做相似性检索,还能完成包括规划、推理、工具使用和记忆等多种功能。

图 2:LLM Agents

目前各种 Agent 架构和框架中,最流行的是 ReAct(推理/行动)。其概念最早出自论文《ReAct: Synergizing Reasoning and Acting in Language Models》。

在ReAct中,主要包括四个步骤:规划/推理(Plan/Think)、行动(act/tools)、评估(observe)和答案生成(answer)。

比较值得一提的是评估环节,在这一环节中,如果模型没有找到答案,它会返回推理步骤或要求用户给出更多额外提示来继续生成答案。

图 3:ReAct 框架

那么,我们如何在 RAG pipeline 中使用这些 Agent 呢?以下是在 RAG pipeline 中五种常见的智能体构建方式:

  • Routing(路由):将用户查询重定向到与查询相关的特定知识库。

  • 示例:如果用户询问特定类型书籍的推荐,查询可以被路由到包含这些类型书籍信息的知识库。

  • Query Planning(查询规划):将查询拆分为子查询,每个子查询定向到相关的 RAG pipeline。

  • 示例:如果您想知道一家公司过去三年的财务结果,Agent 会为每一年创建子查询,并将每个子查询定向到适当的知识库。

  • Tool Use(工具使用):LLM 与外部 API 或工具交互,确定交互所需的参数。

  • 示例:如果用户请求天气预报,LLM 调用天气 API,确定位置和日期等参数,并处理 API 的响应以提供答案。

  • ReAct:一个迭代过程,结合推理和行动,包括规划、工具使用和观察步骤。

  • 示例:为了生成详细的旅行行程,系统推理用户需求,使用 API 收集景点、餐饮和住宿信息,观察结果的准确性和相关性,然后提供全面的旅行计划。

  • Dynamic Query Planning(动态查询规划):Agent 并行执行多个任务或子查询,而不是顺序执行,并聚合结果。

  • 示例:如果您想比较两家公司的财务结果并计算特定指标的差异,Agent 会并行处理两家公司的数据,然后合并结果以提供比较。LLMCompiler 是一个示例框架,支持高效且有效地编排并行函数调用。

图 4:LLM 编译器

现在,让我们搭建一个使用 Milvus 向量数据库的简单 Agentic pipeline。

02.

使用 Claude 3.5 Sonnet、LlamaIndex 和 Milvus 构建 Agentic RAG

以下内容是一个使用 LlamaIndex 作为 Agent 框架、Milvus 作为向量数据库、Claude 3.5 Sonnet 作为 LLM 的 Agentic RAG peipeline示例,我们将用其构建一个 Agentic RAG。

步骤 1:数据加载

我们使用 Milvus documentation 2.4.x 的 FAQ 页面作为 RAG 的私有知识库。

!pip install -qq llama-index pymilvus llama-index-vector-stores-milvus llama-index-llms-anthropic  
!wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip   
!unzip -q /content/milvus_docs_2.4.x_en.zip -d /content/milvus_docs  

from llama_index.core import SimpleDirectoryReader  
  
# load documents  
documents = SimpleDirectoryReader(  
    input_files=["/content/milvus_docs/en/faq/operational_faq.md"]  
).load_data()  
  
print("Document ID:", documents[0].doc_id)  

步骤 2:环境变量

我们需要导入两个 API 密钥:Anthropic 和 OpenAI。

import os  
from google.colab import userdata  
os.environ["ANTHROPIC_API_KEY"] = userdata.get('ANTHROPIC_API_KEY')  
os.environ["OPENAI_API_KEY"] = userdata.get('OPENAI_API_KEY')  

步骤 3:数据索引

使用 Milvus 向量数据库创建文档索引,作为我们的知识库。由于 OpenAI 是 LlamaIndex 中的默认 embedding 模型(可以更改),我们需要在 MilvusVectorStore 中定义相同的维度(dim = 1536)。运行以下代码后,将创建一个本地数据库,其中包含我们的知识库。



from llama\_index.core import VectorStoreIndex, StorageContext  
from llama\_index.vector\_stores.milvus import MilvusVectorStore  
vector\_store = MilvusVectorStore(dim=1536)  
storage\_context = StorageContext.from\_defaults(vector\_store=vector\_store)  
index = VectorStoreIndex.from\_documents(documents, storage\_context=storage\_context)  



步骤 4:简单查询引擎

首先测试没有 Agent 的查询引擎。它由 Claude 3.5 Sonnet 提供支持,并在我们的索引中搜索相关内容。

llm = Anthropic(model="claude-3-5-sonnet-20240620")  
query_engine = index.as_query_engine(similarity_top_k=5, llm=llm)  
res = query_engine.query("What is the maximum vector dimension supported in Milvus?")  
print(res)  

"""  
Output:  
Milvus supports vectors with up to 32,768 dimensions by default. However, if you need to work with vectors of even higher dimensionality, you have the option to increase the value of the 'Proxy.maxDimension' parameter. This allows Milvus to accommodate vectors with dimensions exceeding the default limit.  
"""  

步骤 5:Agent 查询引擎

现在,我们添加 QueryEngineTool,它将作为查询引擎的包装工具,供 Agent 使用。

from llama_index.core import VectorStoreIndex  
from llama_index.core.tools import QueryEngineTool, ToolMetadata  
from llama_index.llms.anthropic import Anthropic  
llm = Anthropic(model="claude-3-5-sonnet-20240620")  
query_engine = index.as_query_engine(similarity_top_k=5, llm=llm)  
query_engine_tool = QueryEngineTool(  
    query_engine=query_engine,  
    metadata=ToolMetadata(  
        name="knowledge_base",  
        description=("Provides information about Milvus FAQ.""Use a detailed plain text question as input to the tool."  
        ),  
    ),  
)  

步骤 6:AI Agent 创建

本例中使用的 Agent 是 LlamaIndex 的 FunctionCallingAgentWorker,它在查询回复上部署 critic reflection,利用查询引擎工具生成改进的答案。

from llama_index.core.agent import FunctionCallingAgentWorker  
agent_worker = FunctionCallingAgentWorker.from_tools(  
    [query_engine_tool], llm=llm, verbose=True  
)  
agent = agent_worker.as_agent()  
response = agent.chat("What is the maximum vector dimension supported in Milvus?")  
  
print(str(response))  

"""  
Output:  
  
Added user message to memory: What is the maximum vector dimension supported in Milvus?  
  
=== LLM Response ===  
To answer your question about the maximum vector dimension supported in Milvus, I'll need to consult the Milvus FAQ knowledge base. Let me do that for you.  
  
=== Calling Function ===  
Calling function: knowledge_base with args: {"input": "What is the maximum vector dimension supported in Milvus?"}  
  
=== Function Output ===  
Milvus supports vectors with up to 32,768 dimensions by default. However, if you need to work with vectors of even higher dimensionality, you have the option to increase the value of the 'Proxy.maxDimension' parameter. This allows Milvus to accommodate vectors with dimensions exceeding the default limit.  
  
=== LLM Response ===  
Based on the information from the Milvus FAQ knowledge base, I can provide you with the following answer:  
  
The maximum vector dimension supported in Milvus is 32,768 by default. This means that out of the box, Milvus can handle vectors with up to 32,768 dimensions, which is suitable for most applications.  
  
However, it's important to note that Milvus offers flexibility for cases where you might need to work with even higher-dimensional vectors. If your use case requires vectors with dimensions exceeding 32,768, you have the option to increase this limit. This can be done by adjusting the 'Proxy.maxDimension' parameter in Milvus configuration.  
  
So, to summarize:  
1. Default maximum dimension: 32,768  
2. Can be increased: Yes, by modifying the 'Proxy.maxDimension' parameter  
  
This flexibility allows Milvus to accommodate a wide range of use cases, from typical machine learning and AI applications to more specialized scenarios that might require extremely high-dimensional vectors.  
Based on the information from the Milvus FAQ knowledge base, I can provide you with the following answer:  
  
The maximum vector dimension supported in Milvus is 32,768 by default. This means that out of the box, Milvus can handle vectors with up to 32,768 dimensions, which is suitable for most applications.  
  
However, it's important to note that Milvus offers flexibility for cases where you might need to work with even higher-dimensional vectors. If your use case requires vectors with dimensions exceeding 32,768, you have the option to increase this limit. This can be done by adjusting the 'Proxy.maxDimension' parameter in Milvus configuration.  
  
So, to summarize:  
1. Default maximum dimension: 32,768  
2. Can be increased: Yes, by modifying the 'Proxy.maxDimension' parameter  
  
This flexibility allows Milvus to accommodate a wide range of use cases, from typical machine learning and AI applications to more specialized scenarios that might require extremely high-dimensional vectors.  
  
"""  

Agent 的输出提供了更详细的答案,包括信息来源、答案背后的推理过程以及一些与话题相关的额外建议。这帮助我们更好地理解 LLM 模型给出的答案。

03.

Agentic RAG 架构

我们刚刚构建的 Agentic RAG 的完整架构如下所示。

图 5:使用 Milvus、LlamaIndex 和 Claude 3.5 Sonnet 构建的 Agentic RAG 架构

04.

结论

Compund AI 的概念将复杂的人工智能系统分解为多个独立的模块,进而带来了更多的灵活性、可扩展性、可复用性,并降低了系统耦合度,极大提升了 pipeline 的整体效率。沿着这一理念, LLM 系统的演变,经历了从独立模型到结合 RAG 和 Agent 的更复杂架构的转变。

而在此过程中,Milvus为代表的向量数据库技术通过提供强大的数据管理、检索和融合能力,显著提升了系统的效率、准确性和可靠性。它不仅优化了 RAG 和 Agent 等模块的性能,还为多模态数据处理和实时决策提供了支持,并极大提升了系统的灵活性和可扩展性。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

《这里数据库指南》——如何用 LlamaIndex和Milvus Cloud 搭建聊天机器人的总结? 现有的 Collection 并没有使用 embedding 向量维度的默认值,也没有使用用于存储文本的元数据字段的默认值。本次,我们使用了 LlamaIndex 和现有的 Milvus Collection 来改进上一篇文章中搭建的聊天机器人。创建向量存储对象后,使用 Hugging Face embedding 将其转化为索引,然后将该索引转化为查询引擎。LlamaIndex 是领先的开源数据检索框架,能够在各种应用中发挥优势,其中一个典型的应用就是在企业内部搭建聊天机器人。 阅读详情

相关推荐

《向量数据库指南》——LlamaIndex 和 Milvus Cloud对于 Chat Towards Data Science 的作用

此外,本次使用了一个不同的字段来存储文本,我们使用 “paragraph”,而 LlamaIndex 默认使用“_node_content”。这一步我们传递 5 个参数:我们的 Collection 的 URI、访问我们的 Collection 的 token、使用的 Collection 名称(默认是“Llamalection”)、使用的相似度类型,以及对应于哪个元数据字段存储文本的 key。有了一个初始化的向量存储索引对象后,只需要调用as_query_engine()函数将其转化为查询引擎。

实战AI智能体 1007

传统分块已死?Agentic Chunking拯救语义断裂,实测RAG准确率飙升40%,LLM开发者必看!

Agentic Chunking是一种非常强大的文本分块技术,它能够将文档中相隔较远但主题相关的句子归入同一组,从而提升RAG模型的效果,但是这种方法在成本和延迟上相对较高。同事尝试了Agentic chunking之后,据他说准确率提升了40%,但成本也增加了3倍。那么我们时候应该使用Agentic chunking呢?根据我的项目经验,以下场景特别适合:非结构化文本(如客服对话记录)主题反复横跳的内容(技术沙龙实录)需要跨段落关联的QA系统。

m0_59164304的博客 1704

7-2+Milvus+Towhee:向量数据库及embedding流水线.pdf

7-2+Milvus+Towhee:向量数据库及embedding流水线

一文搞定企业级 RAG 系统

如果你在今年年面试 AI 相关岗位,RAG(Retrieval-Augmented Generation)几乎是必考题。从"什么是 RAG"到"如何设计一个生产级 RAG 系统",从"分块策略怎么选"到"如何评估 RAG 效果"——这篇文章把企业级 RAG 的八股文从头到尾给你捋一遍,力求每句话都有出处,每个方案都有实战经验支撑。

weixin_72753562的博客 714

51单片机自学笔记(六)数码管动态扫描与消影实战

本文详细解析了51单片机数码管动态扫描原理与视觉暂留效应,通过硬件电路分析和C语言代码实战,重点介绍了三种数码管消影技术(段选清零法、位选屏蔽法、硬件消影法),解决了显示重影问题,并提供了常见问题调试技巧与定时器中断优化方案,帮助开发者掌握稳定的多位数码管显示技术。

y9z0a1b的博客 1105

前端埋点的实践

1、前言 开始正文前先介绍一下埋点的概念~,(熟悉的朋友可以略过) 前端埋点: 是一种手段,它的目的是上报相关行为数据,相关人员以数据为依据来分析产品在用户端的使用情况,根据分析出来的结果辅助产品优化、迭代。 BI:商业智能,公司内部做数据分析相关的部门。 2、背景 在流量红利逐渐消失的现在,数据的采集、分析和精细化的运营显得更加重要,所以埋点的需求在互联网产品中是很常见的,目的上面也提到了。我们的追求就是又快又好的做好埋点工作,但是现实却不那么美好;目前我们团队在前端埋点方面存在一些痛点: 在构造埋点字段

Arui_0的博客 1773

AI时代技术品牌曝光指南:六步SOP让ChatGPT主动引用你的内容

在信息检索领域,大语言模型(LLM)和检索增强生成(RAG)技术正重塑知识获取方式。其核心原理是通过向量化检索,从结构化知识库中精准匹配信息片段,以生成更准确、可溯源的回答。这项技术的工程价值在于,它打破了传统搜索引擎的链接排序模式,转向对内容语义本身的理解与匹配。因此,技术品牌若希望在海量信息中被AI识别并引用,关键在于将自身内容转化为AI友好的高质量知识源。本文聚焦于**RAG**架构与**向量数据库**的应用,提供一套标准操作程序,指导开发者如何系统化地整理技术文档、构建自动化处理流水线,并设计验证流

weixin_30825199的博客 412

别再傻傻分不清!用R语言5分钟搞定RR、AR、OR的计算与解读(附代码)

本文通过R语言实战演示,详细讲解了RR(相对风险)、AR(绝对风险)和OR(比值比)的计算方法与科学解读。提供完整的代码示例和可视化技巧,帮助医学研究者快速掌握这些核心流行病学指标的应用与常见陷阱规避。

weixin_42526015的博客 266

使用LlamaIndex和中转API实现简单的Milvus数据读取器**

*在现代AI应用中,数据处理和管理是一个重要的环节。LlamaIndex提供了多种数据读取器,用于从不同的数据源中提取和处理数据。在本文中,我们将介绍如何使用LlamaIndex与Milvus读取器进行简单的数据处理,并且所有的API调用将通过中转API地址进行。

ppoojjj的博客 481

PPO(Proximal Policy Optimization)算法原理及实现,详解近端策略优化

接着上面的讲,PG方法一个很大的缺点就是参数更新慢,因为我们每更新一次参数都需要进行重新的采样,这其实是中on-policy的策略,即我们想要训练的agent和与环境进行交互的agent是同一个agent;与之对应的就是off-policy的策略,即想要训练的agent和与环境进行交互的agent不是同一个agent,简单来说,就是拿别人的经验来训练自己。举个下棋的例子,如果你是通过自己下棋来不断提升自己的棋艺,那么就是on-policy的,如果是通过看别人下棋来提升自己,那么就是off-policy的。

weixin_41106546的博客 9万+

[PayPal报错]为遵守国际法规,这笔交易已被拒绝。

PayPal报错解决:为遵守国际法规,这笔交易已被拒绝。

qq_39906413的博客 1万+

使用 LlamaIndex 和 Milvus 进行全文搜索

全文搜索使用精确的关键词匹配,通常利用 BM25 等算法按相关性对文档进行排序。在检索增强生成(RAG)系统中,这种方法检索相关文本,以增强人工智能生成的响应。 同时,语义搜索可以解释上下文的含义,从而提供更广泛的结果。将这两种方法结合起来,就能创建一种混合搜索,从而改进信息检索,尤其是在单一方法无法满足要求的情况下。

Made In SQL 1120

让 RAP 弹窗参数真正变成必填:Excel Upload Action 的两种实现路径

摘要 在RAP应用中,action弹窗参数经常缺乏必填校验,导致用户体验差。本文提出两种解决方案:1)在action实现中手动校验,简单但交互不流畅;2)通过root abstract entity和abstract BDEF建模,利用field(mandatory)实现框架级校验,推荐此长期方案。后者将约束集中到模型层,使UI与执行期校验一致,特别适合ABAP Cloud环境。以Excel导入为例,强制填写备注和明确选择试运行,可避免审计问题,提升系统可靠性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 200

Milvus 与 LangChain、LlamaIndex 的结合

在 RAG 应用中,**Milvus(开源向量数据库)** 结合 **LangChain 和 LlamaIndex(数据索引框架)**,可以实现高效的 **语义搜索、知识库问答、AI 语义推荐系统**。本篇文章将介绍 **如何结合 Milvus、LangChain 和 LlamaIndex 构建智能搜索与问答系统**,并提供 **实战代码示例**,帮助开发者快速上手。

2083

【图像超分】论文精读:Residual Dense Network for Image Super-Resolution(RDN)

一个非常深的卷积神经网络 (CNN) 最近在图像分类 (SR) 方面取得了巨大成功,并提供了分层特征。然而,大多数基于深度 CNN 的 SR 模型没有充分利用原始低分辨率 (LR) 图像中的层次特征,从而实现相对较低的性能。在本文中,我们提出了一种新的残差密集网络(RDN)来解决图像SR中的这个问题。我们充分利用所有卷积层的分层特征。具体来说,我们提出了残差密集块(RDB)通过密集连接的卷积层提取丰富的局部特征。RDB 进一步允许将前一个 RDB 的状态与当前 RDB 的所有层直接连接,从而产生连续的内存

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 7259

从0开始图形学(光栅化)

从0开始图形学

A112459的专栏 2396

LlamaIndex 联合创始人下场揭秘:如何使用私有数据提升 LLM 的能力?

LlamaIndex 向量索引先接收一组源文档数据,将文档切分成文本片段,并将这些片段存入内置的向量存储库里,每个片段都有相应的向量与之对应。不过,结合检索和内容生成,检索上下文、管理海量源数据方面都会让整个过程显得困难重重,LlamaIndex 系列工具正好可以解决这些问题。如果使用 LlamaIndex 中由 Milvus 提供的向量索引,我们会根据现有数据,重新定义数据结构。对于在 LLM 应用中引入相似性检索有刚需的用户而言,向量存储系统的索引是最好的选择。LlamaIndex 可以解决这一问题。

ZILLIZ 1215

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

使用 Milvus Lite、Llama3 和 LlamaIndex 搭建 RAG 应用

大语言模型(LLM)已经展示出与人类交互并生成文本响应的卓越能力。这些模型可以执行各种自然语言任务,如翻译、概括、代码生成和信息检索等。为完成这些任务,LLM 需要基于海量数据进行预训练。在这个过程中,LLM 基于给定的词,预测句子中的下一个词来学习自然语言。这种方法被称为标记预测,帮助 LLM 生成连贯且富含上下文的响应。然而,由于模型更专注于预测最可能的下一个词而非验证事实,因此其输出有时可能...

ZILLIZ 1919

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Agentic Chunking:RAG 准确率飙升 40% 的秘密武器

最近,AI 圈又有大动作!一种名为 Agentic Chunking 的分块技术横空出世,号称能让 RAG 准确率飙升 40%,这可把 LLM 开发者们的好奇心拉满了。今天,咱们就来深度扒一扒,它到底有啥神奇之处!

m0_59164304的博客 1522

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

使用 Milvus 进行向量存储和检索

Milvus Vector Store 是一个用于存储文本的嵌入向量及其元数据的 Milvus 集合。它允许使用现有的集合,也支持在集合不存在时创建新集合。

ppoojjj的博客 1462

使用 LlamaIndex 和 Milvus 进行元数据过滤

如何在 LlamaIndex 中使用 Milvus 向量存储,重点是元数据过滤功能。您将学习如何为带有元数据的文档编制索引,如何使用 LlamaIndex 的内置元数据过滤器执行向量搜索,以及如何将 Milvus 的本地过滤表达式应用到向量存储中。

Made In SQL 1249

一文解析Agentic Chunking!Agentic Chunking 如何彻底改变 RAG?

这种方法利用 LLM 读取大段文本,然后指令其提取其中的关键概念、实体或生成精炼的摘要。每个摘要或概念簇可以成为一个“智能块”。「示例场景:」处理一份冗长的研究论文。传统分块可能切断关键发现。通过 LLM 提取,我们可以得到包含核心洞察的浓缩块。# 初始化你的 LLM 模型# 实际应用中请替换为你的 OpenAI API Key 或其他 LLM 提供商# 定义你希望从文本中提取的结构化信息模式。# 这相当于定义你的“智能块”应该包含哪些语义元素。

老皮的博客 1280

LlamaIndex-milvus-RAG

基于llamindex、milvus向量库的RAG

Brilliant_orange的博客 1309
上一篇: 一文带你全面了解 RAG 核心组件
下一篇: 34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值