让 Agent 说“机器能懂的话”——LlamaIndex 构建 Agent 的结构化输出策略

高级RAG(三):llamaIndex从小到大的检索 LlamaIndex是一个用于连接大语言模型(LLMs)和外部数据源的数据框架,它可以让LLMs访问和利用私有或领域特定的数据。数据连接:支持从本地文件、Notion、Google文档、Slack、Discord等多种数据源读取数据。数据索引:支持构建不同类型的索引结构,如列表索引、向量索引、树形索引、关键词表索引等,以便快速检索和过滤数据。查询接口:支持使用自定义的输入提示(prompt)与LLMs进行交互,以获取知识增强的响应。 阅读详情

在构建 Agent 时,单纯依赖自然语言输出非常脆弱 —— 下游系统、存储、可视化都难解析。LlamaIndex 支持把 Agent 的回答“收口”成结构化 JSON / Pydantic 模型。本文带你理解背后的原理、常见方案、实践示例与工程思考。

背景:为什么要结构化输出?

当你用 LLM/Agent 驱动系统做自动化操作(如合同分析、知识问答、文档处理、流程编排等),最终输出往往要被:

  • 存入数据库(表、JSON、NoSQL),

  • 被前端渲染(图表、卡片、报表),

  • 被下一个模块消费(路由、决策引擎、链路调用)……

如果让 Agent 直接输出自然语言(“这个合同里有三条风险:……;建议是……”),后面就要做 NLP 提取、正则匹配、人工检查,脆弱度飙高。结构化输出,就是让 Agent “说机器能懂的话”:固定字段、固定格式、强校验。

LlamaIndex 在 “询问 / Agent / 多步工作流” 的构建中,自身就对结构化输出提供支持 —— 你不必手写一堆正则或 JSON 验错逻辑。


关键能力

在 LlamaIndex 的文档里,“Structured Outputs”是一个专门模块,它讲了整个管线如何前插/后插检查、注入提示、做解析重试。

下面是几个你常会用到的机制/工具:

机制 / 名称作用适用场景
Pydantic Program把“输入 + 提示 → Pydantic 模型”抽象为一段可复用程序当你要把多个不同输入都变成结构化对象
Output Parser在 LLM 调用前后插入格式提示 / 解析逻辑用普通文本生成但希望“包一层 JSON”
LLM 的结构化模式 / 函数调用机制如果模型支持直接函数调用 / JSON 输出,就跳过手动解析最简洁、错误率最低的方法
Workflows / AgentWorkflow 中的事件机制多步流程中,各节点可以传递 Pydantic 事件对象中间节点输出结构化事件,后续节点直接读取字段

此外,在 LlamaIndex 的 Workflow 示例里,有一个 “Reflection Workflow for Structured Outputs” 的 notebook,是用来做「如果输出不合法就重试/反思」的常用套路。

常见方案

在 Agent 场景里,你通常会定义一个 Agent(FunctionAgent / ReActAgent / AgentWorkflow 等),然后让它做“接收用户 → 判断 / 检索 / 决策 → 输出”。在这个末尾输出环节,就要设计结构化输出。常见的几条路径如下。

方案一:output_cls(用 Pydantic 模型约束输出)

这是最直接、最推荐的方式:在 Agent 的构造里,给它一个 output_cls 参数(一个 Pydantic 模型)。Agent 会:

  1. 在 prompt 外加格式说明(expect JSON 字段),
  2. 接收 LLM 原始输出,交给内部输出解析器做 parse → output_cls;
  3. 如果 parse 失败、格式不符,可触发重试机制或报错。

优点是你在业务层拿到的就是一个类型化对象,不用再做额外解析。缺点是当输出逻辑复杂、跨工具融合、聚合多个子结果时,这个模型可能不够灵活。

方案二:structured_output_fn(聚合拼装式)

如果你的 Agent 做多步调用(比如 ReAct 多次检索+合成),你可能想让中间步骤随意,最后一步统一 “把这些碎片拼成一个结构化对象”。这时可以给 Agent 提供 structured_output_fn,它接收 Agent 的上下文 / 中间输出 / 工具返回值,自己写代码把它 “组装进你定义的结构体 / JSON” 返回。

这条路径给你最大的灵活性 — 它让你把「工具调用、证据融合、排序、打分」的逻辑完全掌控。

方案三:AgentWorkflow / 工作流中,事件(Event)传结构化数据

如果你的 Agent 驱动在一个更大的 Workflow / AgentWorkflow 框架里,那么中间各步可以通过 事件(Event)对象 来交换结构化数据(这些事件通常是基于 Pydantic 的模型)。这样,Agent 的各个子节点、工具调用、决策节点之间,就可以用强类型、字段可读的方式传递数据,而不是丢一个字符串给下一个节点去 parse。

这种方式语义清晰、易于调试、可观测性好,适合复杂流程编排场景。

实战演示(代码 + 说明)

示例1:使用 output_cls

下面给一个简化的代码示例,演示 Agent 用 Pydantic 进行结构化输出。

# ================== 初始化 大模型 ==================
from common.muxue_model_loader import model_loaders
# ================== 初始化大模型 end ==================
import asyncio
from llama_index.core.agent.workflow import FunctionAgent, AgentWorkflow
from llama_index.llms.openai import OpenAI
from pydantic import BaseModel, Field
## define structured output format  and tools
class MathResult(BaseModel):
operation: str = Field(description="执行的操作")
result: int = Field(description="操作的结果")
def multiply(x: int, y: int):
"""将两个数字相乘"""
return x * y
## define agent
agent = FunctionAgent(
tools=[multiply],
name="calculator",
system_prompt="你是一个计算器代理,你可以使用`multiply`工具来相乘两个数字。",
output_cls=MathResult,
# llm=llm,
)
async def test():
response = await agent.run("将3415和43144相乘")
print("-" * 20)
print(response)
print("----结构化输出--" )
print(response.structured_response)
print("----结构化输出2--" )
print(response.get_pydantic_model(MathResult))
asyncio.run(test())

结果:

--------------------
3415和43144的乘积是147336760。
----结构化输出--
{'operation': 'multiply', 'result': 147336760}
----结构化输出2--
operation='multiply' result=147336760

示例2:多智能体工作流程

## define structured output format  and tools
class Weather(BaseModel):
location: str = Field(description="The location")
weather: str = Field(description="The weather")
def get_weather(location: str):
"""Get the weather for a given location"""
return f"The weather in {location} is sunny"
## define single agents
agent = FunctionAgent(
llm=llm,
tools=[get_weather],
system_prompt="You are a weather agent that can get the weather for a given location",
name="WeatherAgent",
description="The weather forecaster agent.",
)
main_agent = FunctionAgent(
name="MainAgent",
tools=[],
description="The main agent",
system_prompt="You are the main agent, your task is to dispatch tasks to secondary agents, specifically to WeatherAgent",
can_handoff_to=["WeatherAgent"],
llm=llm,
)
## define multi-agent workflow
workflow = AgentWorkflow(
agents=[main_agent, agent],
root_agent=main_agent.name,
output_cls=Weather,
)
response = await workflow.run("What is the weather in Tokyo?")
print(response.structured_response)
print(response.get_pydantic_model(Weather))

注意这种方式的Agentworkflow的多个节点,只能在最后一个Agent中实现结构化,其中间Agent节点想要做结构化,则只能是Workflow 的事件里传递对象。

示例3:使用 structured_output_fn

自定义函数应将智能体工作流生成的 ChatMessage 对象序列作为输入,并返回一个字典(可以转换为 BaseModel 子类):

import json
from llama_index.core.llms import ChatMessage
from typing import List, Dict, Any
class Flavor(BaseModel):
flavor: str
with_sugar: bool
async def structured_output_parsing(
messages: List[ChatMessage],
) -> Dict[str, Any]:
sllm = llm.as_structured_llm(Flavor)
messages.append(
ChatMessage(
role="user",
content="Given the previous message history, structure the output based on the provided format.",
)
)
response = await sllm.achat(messages)
return json.loads(response.message.content)
def get_flavor(ice_cream_shop: str):
return "Strawberry with no extra sugar"
agent = FunctionAgent(
tools=[get_flavor],
name="ice_cream_shopper",
system_prompt="You are an agent that knows the ice cream flavors in various shops.",
structured_output_fn=structured_output_parsing,
llm=llm,
)
response = await agent.run(
"What strawberry flavor is available at Gelato Italia?"
)
print(response.structured_response)
print(response.get_pydantic_model(Flavor))

示例4:流式传输结构化输出

您可以使用 AgentStreamStructuredOutput 事件在工作流运行时获取结构化输出:

from llama_index.core.agent.workflow import (
AgentInput,
AgentOutput,
ToolCall,
ToolCallResult,
AgentStreamStructuredOutput,
)
handler = agent.run("What strawberry flavor is available at Gelato Italia?")
async for event in handler.stream_events():
if isinstance(event, AgentInput):
print(event)
elif isinstance(event, AgentStreamStructuredOutput):
print(event.output)
print(event.get_pydantic_model(Weather))
elif isinstance(event, ToolCallResult):
print(event)
elif isinstance(event, ToolCall):
print(event)
elif isinstance(event, AgentOutput):
print(event)
else:
pass
response = await handler

工程视角:结构化输出要注意的坑与技巧

为了让你的 Agent 在真实环境中稳定输出结构化数据,下列经验值得牢记。

  1. schema 先设计,后填充:先在业务/前端层定义好字段、必需项、类型约束,再在 Agent 那边把这个模型作为 output_cls 或拼装模板。
  2. Prompt + Format 指令要严谨:让 LLM 在 prompt 里明确“必须严格返回纯 JSON”或“不得多写说明文字”。
  3. 输出解析要有重试:即使模型支持结构化输出,也可能出错。引入 1–2 次重试、反思机制是常见做法(见 “Reflection Workflow” 示例)
  4. 中间节点输出也要结构化:不要在中间节点乱返回字符串,在 Workflow / AgentWorkflow 中用事件 /中转模型,让每一步都有明确输入/输出。
  5. 监控 & 日志:记录原始文本输出 + 解析失败原因 + 最终模型对象,这样方便排错。
  6. 模型能力与约束结合:如果使用 LLM 本身支持 JSON 模式 / 函数调用模式,那就优先用它;对于不可靠模型,额外加入强提示 / 验证层。
  7. 版本演化兼容:未来可能要扩字段或调整输出,给 schema 保留可扩展性(可选字段 / 版本号)。
  8. 测试覆盖:对典型输入、极端输入都写单测,验证模型在多种情形下能否成功 parse。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!

👇👇扫码免费领取全部内容👇👇

​

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

​

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

LangChain+LlamaIndex+AutoGen+LangGraph框架对比 大模型框架对比 阅读详情

相关推荐

LlamaIndex 简介:LLM 应用程序的数据框架

无论您是希望改进客户服务聊天机器人的企业、需要快速访问特定信息的研究人员,还是热衷于突破 AI 界限的开发人员,LlamaIndex ChatGPT 都提供了一条充满希望的前进道路。无论您是希望改进客户服务聊天机器人的企业、需要快速访问特定信息的研究人员,还是热衷于突破 AI 界限的开发人员,LlamaIndex ChatGPT 都提供了一条充满希望的前进道路。通过对医学数据库和教科书的适当培训,该模型可以提供有关各种医学状况、治疗和最新研究的有价值的信息。

q_776355102的博客 6098

llamaindex是什么?有什么用?

LlamaIndex的设计目标是通过在指定的数据上操作,利用OpenAI的大型语言模型能力,以便在回答问题或执行其他任务时获取所需的信息。数据连接负责将数据读取进来,索引构建用于构建可以查询的索引,而查询接口则提供与不同的大模型进行对话和自定义Prompt的功能。按照我的理解来说其主要中的作用就是用来连接外部数据(就自己文件夹中的数据)并将这些外部数据进行切片,创建索引方便在后面根据提的问题找到相关性最强的索引,将这个索引的上下文以及提的问题一起传给大数据模型(如gpt3.5等)进行处理,然后生成回答。

weixin_63931282的博客 1799

LlamaIndex+Haystack+n8n构建生产级RAG Agent实战

RAG(检索增强生成)是当前企业落地大模型应用的核心范式,其本质是将外部知识库与语言模型能力协同,解决幻觉与时效性问题。技术实现上需兼顾语义检索精度、推理流程可编排性及业务系统集成能力。LlamaIndex专注非结构化数据的智能分块与向量索引构建,显著提升PDF、文档等场景的检索准确率;Haystack提供模块化Pipeline,支持检索-重排-生成全链路解耦,便于业务规则注入;n8n作为低代码自动化引擎,实现RAG能力与CRM、飞书、企业微信等IT系统的零代码对接。三者组合构成‘知识中枢+推理引擎+调度神

weixin_30251829的博客 325

【LlamaIndex 教程】一文看懂LlamaIndex用法,为LLMs学习私有知识

默认情况,llamaIndex 使用,也可以用别的构建 Index基于使用的Index,llamaIndex 会使用默认的 prompt 模板进行构建 Index(插入 or 创建), 也可以自定义link。对于自定义 embedding 的模型,也可以自定义 embeddinglink。

qq_40491305的博客 3万+

法律AI推理Agent:用Qdrant+LlamaIndex构建可溯源的法律要件分析系统

法律人工智能不是简单问答或语义搜索,而是需深度理解文书结构、法律要件与逻辑链条的专业推理系统。其核心原理在于将判决书等法律文本按‘当事人信息’‘本院认为’‘判决主文’等法定段落进行结构化解析,并为每个语义单元生成具备法律领域特性的向量表示;通过Qdrant支持元数据过滤与分层索引,实现精准召回,再由LlamaIndex编排多步推理链,完成要件拆解、法规匹配与逻辑验证。该技术显著提升类案检索、法规冲突识别与证据链审查等关键场景的准确率与可审计性,已应用于律所知识管理、尽调提效与法律AI产品开发。本文聚焦法律推

weixin_30628077的博客 411

LlamaIndex核心原理与RAG/Agent工程实践指南

LlamaIndex是一种面向大语言模型(LLM)应用的数据编排基础设施,核心解决私有数据接入、语义检索与可控响应生成问题。其本质是定义了从数据加载(Ingestion)、索引构建(Indexing)、查询检索(Retrieval)到响应合成(Response Synthesis)的标准化数据流契约,支撑RAG和Agentic系统两大主流范式。相比通用框架,它深度聚焦向量检索鲁棒性、Node级语义切分、元数据增强及可插拔索引设计,显著提升技术文档、企业知识库等专业场景的问答准确率与工程可维护性。本文结合真实

banglvfei0870的博客 515

LlamaIndex结构化输出:Pydantic驱动的LLM确定性生成

结构化输出是大语言模型工程落地的核心能力,指将LLM自由文本生成转化为符合预定义Schema的JSON等标准格式。其原理在于通过声明式数据模型(如Pydantic)对生成过程施加类型、约束与校验,实现从提示词引导、流式解析到自动重试的全链路控制。该技术显著提升字段抽取准确率、降低下游系统集成成本,并支撑RAG、Agent状态固化、金融/医疗等强合规场景的生产级部署。LlamaIndex原生结构化输出能力,正是以Pydantic为契约、以`as_structured_llm()`为入口,将非结构化推理转化为可

weixin_30552811的博客 425

LangChain vs LlamaIndex:构建 AI Agent Harness Engineering 该选哪一个?

AI Agent这个概念其实在计算机科学领域已经存在了几十年(最早可以追溯到20世纪50年代的图灵测试和McCarthy的AI定义),但LLMs的兴起给它赋予了全新的、可落地的含义。根据OpenAI在2023年发布的《GPT-4 Technical Report》和DeepMind在《AGI Safety Literature Review》中的定义,一个现代的、通用的LLM驱动的AI Agent,应该具备以下四个核心能力感知能力(Perception)

2501_92132293的博客 106

LlamaIndex 文档 2

一、构建 LLM 应用 构建LLM 应用的关键步骤 二、使用LLM 可用的LLM 使用本地LLM Prompts 三、加载数据(提取) Loaders 1、使用 SimpleDirectoryReader 加载 2、使用 LlamaHub 的 Readers 3、直接创建文档 转换 Transformations 1、高级转换 API 2、较低级别的转换 API 将文档拆分为节点 3、添加元数据 4、添加嵌入 5、直接创建并传递节点 四、LlamaHub 使用模式 内置连接器:SimpleDirector

AI工程化、开源分享、文档翻译、代码笔记 2054

LangChain 和 LlamaIndex 有什么区别?各自适合什么场景?

LangChain 和 LlamaIndex 有什么区别?各自适合什么场景?

我哎GIS博客 3440

VS2022离线环境下的NuGet包管理:从本地源到依赖项全解析

本文详细解析了在VS2022离线环境下如何高效管理NuGet包,包括搭建本地NuGet源的两种方案(本地文件夹源和私有NuGet服务器)、获取离线包的三大渠道以及依赖项处理的实战技巧。通过自动化脚本和依赖树分析工具,帮助开发者解决离线环境中的依赖项黑洞问题,提升开发效率。

5f4d3s2a1q的博客 1061

【实战指南】LangChain与LlamaIndex:构建高效AI Agent的黄金组合

本文深入探讨了如何将LangChain与LlamaIndex结合,构建高效、可靠的AI Agent。LangChain作为任务编排与工具调度的核心,负责智能体的逻辑与行动;而LlamaIndex则专注于将私有数据转化为高效的知识库,为决策提供精准依据。两者结合,能打造出既博学又能干的智能体,有效应用于金融客服、企业知识库等场景,并规避大模型的“幻觉”风险。

e4f5g6h的博客 776

STM32F103C8T6+I2C+DMA读取陀螺仪模块JY901S(硬件I2C

说明:1.本实验代码适用移植一切stm32f1系列;2.本实验使用的是外设资源硬件I2C2;3.本实验运用的是DMA单次模式,如果需要DMA的循环模式,请移步我的另一篇文章;4.本文章不提供陀螺仪校准教学,并是在没有校准陀螺仪情况下读取数据;5.本文章是作者的学习记录及心得,如有不足,欢迎指正。 总结:亲测stm32f103c8t6最小系统板通过片上外设资源I2C配合DMA读去陀螺仪模块jy901s偏航角有效。

anquanyuanqqadsy的博客 6172

AI Agent工程化实战:提示链、响应净化与结构化输出构建可靠应用

在人工智能应用开发领域,构建稳定可靠的生产级系统是核心挑战。大语言模型(LLM)作为概率生成模型,其输出的不确定性是工程化的主要障碍。通过引入软件工程中的模块化与管道化思想,可以系统性地提升AI应用的确定性与可靠性。**提示链**技术将复杂任务分解为有序子步骤,降低了单次推理的认知负荷,并创造了可观测的中间检查点。**响应净化**则构建了多层次的质量与安全过滤网,通过规则引擎、模型自审与外部知识验证,确保输出内容的准确性、安全性与合规性。这两项技术共同服务于一个关键目标:生成稳定、可被下游系统精确解析的**

weixin_30414305的博客 350

HTB_Bike靶机之模板注入

船到桥头自然直 文章目录信息收集模板引擎SSIT 模板注入后放答案 信息收集 日常 A 扫描,两个端口 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 48:ad:d5:b8:3a:9f:bc:be:f7:e8:20:1e:f6:bf:de:ae (RSA) | 256 b7:89:6c:0b:20:ed:49:b2:c1:86:7c:.

网络安全学习 798

基于Vivado2025的UltraScale+时序收敛优化实战案例

深入解析在Vivado2025环境中针对UltraScale+架构的时序收敛挑战,结合实际设计案例,分享关键优化策略与操作技巧,显著提升设计性能与收敛效率。vivado2025的更新特性为时序优化带来新机遇。

weixin_33660045的博客 346

LlamaIndex索引构建实战:从向量检索到混合搜索的AI Agent核心基建

在构建AI应用时,索引技术是实现高效信息检索的核心基础。其原理是通过对非结构化或半结构化数据建立结构化的查找目录,使系统能快速定位相关内容。这项技术的核心价值在于大幅提升大模型处理私有知识库的效率和准确性,同时降低计算成本。典型应用场景包括智能问答系统、知识库聊天机器人、文档语义搜索等。在实际工程中,向量检索通过嵌入模型将文本转换为高维向量进行相似度匹配,擅长处理语义查询;而关键词索引则基于精确术语匹配,两者结合形成的混合检索能显著提升复杂查询效果。本文以LlamaIndex为例,深入解析VectorSto

weixin_30617797的博客 365

华为OD机试 - 服务中心选址(Python)

一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。先输入区域数组positions的长度n(1 ≤ n ≤ 10^5)接下来 n 行每行输入成对的left和right值,以空格隔开。输出为location。

m0_46181452的博客 282

Hugging Face Agents Course 之 LlamaIndex 实战:从 LlamaHub 组件到 Agent 与 Workflow 的完整构建指南

在 Hugging Face Agents Course 的第二单元中,[LlamaIndex 模块目录](https://link.gitcode.com/i/4478235407583f0875553c8d7a6665d3) 系统性地讲解了如何利用 LlamaIndex 这一"面向索引与工作流"的完整工具包,在自有数据之上构建由 LLM 驱动的 Agent。本篇指南将沿着该模块的学习路线,带你

gitblog_00740的博客 242

Android UI 组件系列(二):Button 进阶用法

在这篇博客中,我们深入探讨了 Button 的进阶用法,重点介绍了如何通过 事件处理 来响应用户的操作,如何使用 自定义样式 来提升按钮的外观,并利用 StateListDrawable 来管理按钮在不同状态下的表现。这些技巧能够帮助你打造更具交互性、视觉吸引力和动态响应的按钮,提升用户体验。

weixin_39339407的博客 1625

基于YOLOv5/v8/v10的答题卡填涂识别与评分系统(附数据集+UI界面+完整代码)

在教育信息化的大背景下,传统的手工阅卷方式正在被智能化技术所取代。答题卡识别作为标准化考试的核心环节,其准确率和效率至关重要。本文将详细介绍如何利用YOLO系列目标检测算法(YOLOv5、YOLOv8、YOLOv10)构建一个答题卡填涂识别与评分系统。文章从数据集的制作与标注开始,逐步深入到模型的训练、评估与对比,最后基于PyQt5设计了一个用户友好的桌面端UI界面,实现了从图像输入到得分输出的全流程自动化。

YOLO 638

LlamaIndex实战:从RAG问答到多智能体协作,构建手机客服Agent

检索增强生成(RAG)是解决大模型知识幻觉、实现私有数据问答的主流技术方案,其核心原理是将文档切分、向量化并建立索引,在用户提问时召回相关片段,再交由大模型生成有据可依的回答。然而在真实业务中,仅靠单轮问答并不够:以手机客服场景为例,用户既要查询具体参数,也可能要求品牌隔离、跨品牌推荐,甚至完成下单操作。此时需要在RAG基础上叠加意图路由与工具调用能力,将“能问答”升级为“能办事”。以LlamaIndex这一主流RAG开发框架为技术栈,一份手机机型数据集可以贯穿单机器人问答、品牌专家路由、多智能体协作下单三

weixin_29061997的博客 323

Python反爬实战|动态渲染+高可用IP代理集群,稳定爬取京东/淘宝10万+商品数据

做Python电商爬虫的同学,应该都对京东、淘宝的反爬机制深有体会——这两个平台的反爬体系,堪称国内网站的天花板,远比普通资讯、政务网站的反爬严格十倍不止。用requests库请求商品列表,返回的永远是只有骨架的空HTML,商品标题、价格、销量全是前端JS异步加载,抓包分析接口发现参数全是加密的signtoken,解密成本无限高;用selenium开无头浏览器爬取,刚爬3-5页就触发风控,页面直接返回403,IP被封禁,甚至连Cookie都直接失效;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1585

LlamaIndex+GPT实战:用非结构化数据构建智能体知识库的3种方法

本文详细介绍了利用LlamaIndex将非结构化数据(如PDF、网页、日志)转化为智能体(AI Agent)知识库的三种实战方法。从基础的文档加载与向量索引快速入门,到进阶的定制化管道与多源数据集成,再到面向智能体的多索引与图结构高阶架构,为构建高效、可查询的企业级知识库提供了清晰的路径和代码示例。

weixin_29057065的博客 310

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

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

2025年最火AI Agent框架大PK:LangChain、LlamaIndex、AutoGen,小白也能快速上手!

本文对比分析了三大主流AI Agent开发框架LangChain、LlamaIndex和AutoGen的技术特点与适用场景。LangChain适合通用LLM应用开发,组件丰富但学习曲线陡峭;LlamaIndex专注于RAG和数据管理,是构建知识库应用的首选;AutoGen擅长多智能体协作,适合复杂任务分解。文章通过RAG实战案例,为不同需求的开发者提供了选型指南,并预测了框架融合与多智能体协作的未来趋势。

m0_59164520的博客 2435

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 探秘 Hugging Face:何为 Hugging Face 及其核心组件全览
下一篇: 大模型微调工具 XTuner 指令微调实战复杂吗?这里有门道……
AI_小站
博客等级 码龄3年 6255粉丝 1153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值