自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hugo的博客

一个在技术海洋中争取不被淘汰的猫

  • 博客(214)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:3、HyDE(假设文档嵌入)在RAG中的应用

HyDE不是基于原始问题生成查询,而是专注于为给定的查询生成假设性文档。生成这种假设性文档的直觉是它们的嵌入向量可以用来在语料库嵌入空间中识别一个邻域,在这个邻域中,基于向量相似性检索类似的真实文档。在这种情况下,RAG将能够基于假设性文档检索更相关的文档,以准确回答用户查询。尽管这种技术可能有助于回答问题,但由于基于错误/虚构的假设性段落检索文档,答案有可能是错误的。首先,与之前的笔记本类似,我们首先创建我们的向量存储,并使用。使用生成的段落,我们使用我们的检索器检索相似的文档。回答我们原始的问题。

2024-07-17 17:28:56 832

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:2、查询转换

查询转换的核心思想是将用户查询以一种能让大型语言模型(LLM)正确回答问题的方式进行翻译或转换。例如,如果用户提出一个模糊的问题,我们的RAG检索器可能会根据与用户问题不太相关的嵌入(embeddings)检索出错误的(或模糊的)文档,导致LLM生成错误的答案。现在,让我们尝试使用LangChain实现上述技术!与上一篇类似,我们首先导入库,加载文档,分割它们,生成嵌入,将它们存储在向量存储中,并使用向量存储创建检索器。

2024-07-16 17:22:29 1364

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:1、使用Langchain与RAG构建问答系统

本节介绍了如何使用Langchain和OpenAI创建一个简单的问答系统。我们首先加载PDF文档,然后生成嵌入向量并存储在ChromaDB中。接着,我们初始化检索器来找到与问题最相关的文档,并创建一个问答链来生成答案。

2024-07-15 17:32:10 1299

原创 8、LangGraph

我们需要两个主要节点- `agent` 节点:负责决定采取什么(如果有)行动。- 调用工具的 `tools` 节点:如果代理决定采取行动,此节点将执行该行动。首先,我们需要设置图执行的入口点——agent节点。然后,我们定义一个普通边和一个条件边。条件边意味着目的地取决于图状态()的内容。在本例中,目的地在代理(LLM)决定之前是未知的。- 条件边:调用代理后,我们应该要么* a. 如果代理说要采取行动,则运行工具* b. 如果代理没有要求运行工具,则完成(回复用户)。

2025-04-29 01:00:00 529

原创 7、langChain和RAG实战:基于LangChain和RAG的常用案例实战

基于 LangChain 和 Streamlit 的 Web 应用,用于使用 LLM 和嵌入从 SQLite 数据库中搜索相关的offer。用户可以输入与品牌、类别或零售商相关的搜索查询,也支持通过SQL语句进行搜索,应用程序将从数据库中检索并显示相关的offer。一旦用户输入他们的 OpenAI 密钥,我们就会初始化 GPT 模型并要求他们输入搜索查询,该查询将用于抓取相关的 Wikipedia 页面。你就拥有了专属于您的友好机器人,它可以回答您关于维基百科文章的查询。用于访问文章的 URL 的模块。

2025-04-29 00:00:00 813

原创 6、LangChain进阶:自定义组件专题

LangChain具有一些内置的回调处理程序,但通常您会希望创建具有自定义逻辑的自定义处理程序。要创建自定义回调处理程序,我们需要确定我们希望处理的event(s),以及在触发事件时我们希望回调处理程序执行的操作。然后,我们只需将回调处理程序附加到对象上,例如通过构造函数或运行时。在下面的示例中,我们将使用自定义处理程序实现流式处理。在我们的自定义回调处理程序中,我们实现了处理程序,以打印我们刚收到的令牌。然后,我们将自定义处理程序作为构造函数回调附加到模型对象上。

2025-04-28 00:45:00 930

原创 5、Rag基础:RAG 专题

接受一个关键字参数,用于自定义传递给 Python 的的参数。有关支持的 csv 参数的更多信息,请参阅csv 模块文档。#示例:csv_custom.pycsv_args={},page_content='Name: 名称Species: 种类Age: 年龄Habitat: 栖息地' metadata={'source': '../../resource/doc_search.csv', 'row': 0}page_content='Name: 狮子。

2025-04-28 00:00:00 986

原创 4、Embedding基础:Embedding 与向量数据库

Qdrant(读作:quadrant /'kwɑdrənt/ n. 象限;象限仪;四分之一圆)是一个向量相似度搜索引擎。它提供了一个生产就绪的服务,具有方便的 API 来存储、搜索和管理点 - 带有附加载荷的向量。专门支持扩展过滤功能,使其对各种神经网络或基于语义的匹配、分面搜索和其他应用非常有用。以下展示了如何使用与向量数据库相关的功能。有各种运行的模式,取决于所选择的模式,会有一些细微的差异。选项包括:本地模式,无需服务器Qdrant 云请参阅安装说明。

2025-04-27 00:30:00 1355

原创 3、LangChain基础:LangChain Tools & Agent

自定义 Tools在构建代理时,您需要为其提供一个列表,以便代理可以使用这些工具。除了实际调用的函数之外,由几个组件组成:属性类型描述namestr在提供给LLM或代理的工具集中必须是唯一的。str描述工具的功能。LLM或代理将使用此描述作为上下文。可选但建议,可用于提供更多信息(例如,few-shot示例)或验证预期参数。boolean仅对代理相关。当为True时,在调用给定工具后,代理将停止并将结果直接返回给用户。LangChain 提供了三种创建工具的方式:使用。

2025-04-27 00:15:00 1197

原创 3、LangChain基础:LangChain Chat Model

Few shot(少量示例)创建少量示例的格式化程序创建一个简单的提示模板,用于在生成时向模型提供示例输入和输出。向LLM提供少量这样的示例被称为少量示例,这是一种简单但强大的指导生成的方式,在某些情况下可以显著提高模型性能。少量示例提示模板可以由一组示例或一个负责从定义的集合中选择一部分示例的示例选择器类构建。配置一个格式化程序,将少量示例格式化为字符串。这个格式化程序应该是一个对象。创建示例集合接下来,我们将创建一个少量示例的列表。

2025-04-26 00:30:00 1749

原创 3、LangChain基础:LangChain 基础

即,逐个处理输入块,并产生相应的输出块。这种处理的复杂性可以有所不同,从简单的任务,如发出 LLM 生成的令牌,到更具挑战性的任务,如在整个 JSON 完成之前流式传输 JSON 结果的部分。如果这与您构建的内容无关,您也可以依赖于标准的命令式编程方法,通过在每个组件上调用invoke、batch或stream,将结果分配给变量,然后根据需要在下游使用它们。对于某些链,这意味着我们直接从 LLM 流式传输标记到流式输出解析器,您将以与 LLM 提供程序输出原始标记的速率相同的速度获得解析的增量输出块。

2025-04-26 00:15:00 539

原创 2、Prompt基础:Prompt Engineering 提示词工程

定义:Prompt Engineering 是设计和优化输入提示(prompt)以获得预期输出的过程。在与大型语言模型(如 GPT-4)交互时,如何构造提示会显著影响模型的回答质量。例子简单提示"告诉我关于猫的事情。优化提示"请详细描述猫的生物学特征、行为习惯以及它们在不同文化中的象征意义。通过优化提示,用户可以引导模型生成更详细和有用的回答。Prompt Engineering 是设计和优化输入提示以获得预期输出的过程。应用场景:定义特定功能的函数。示例提示。

2025-04-25 01:00:00 547

原创 1、AI及LLM基础:Python语法入门教程

​ 这是一份全面的Python语法入门教程,涵盖了注释、变量类型与操作符、逻辑运算、list和字符串、变量与集合、控制流和迭代、模块、类、继承、进阶等内容,通过详细的代码示例和解释,帮助大家快速熟悉Python语法。Python中用#表示单行注释,#之后的同行的内容都会被注释掉。使用三个连续的双引号表示多行注释,两个多行注释标识之间内容会被视作是注释。二、基础变量类型与操作符Python当中的数字定义和其他语言一样:我们分别使用+, -, *, /表示加减乘除四则运算符。这里要注意的是,在Pyth

2025-04-25 00:15:00 1029

原创 1.3、AI及LLM基础:Streamlit的基础开发

streamlit.exe 是一个二进制文件,导致字符集解析出错。在这里把 linux 环境下的 streamlit 复制过来。Help | Find Action | Registry | python.debug.asyncio.repl 去掉勾。复制到 D:/software/python/python-3.12.4/.venv/Scripts/配置Pycharm调试Streamlit应用。再次点击 debug 就可以正常调试了。再次启动 debug 按钮,报错如下。点击调试按钮会报错。

2025-04-24 00:15:00 297

原创 1.2、AI及LLM基础:OpenAI 开发

US$5.00/1M input tokens”在GPT-4o中表示按百万个输入token来计费,每百万个输入token的计算费用为5美元。这种计费方式让用户能够更透明地了解和管理使用这些高级自然语言处理模型的成本。通过理解token的分割方式和具体的使用范例,用户可以更有效地计划和控制使用成本。GPT-4 可能提供两种不同的定价模式,分别为标准定价和批量API(Batch API)定价。让我们详细解释这些定价模式及其区别,以及为什么价格不同。两个不同的定价方案主要区别在于使用模式和规模的不同。

2025-04-24 00:00:00 900

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:6、索引

本节介绍了两种索引技术:多表示索引和RAPTOR。多表示索引通过生成文档摘要并使用向量存储和文档存储来优化检索过程。RAPTOR则通过构建一个树状结构,递归地嵌入、聚类和摘要文本块,以更有效地处理大型文档和多文档检索场景。这些技术展示了如何使用Langchain库来实现复杂的文档检索和处理流程。

2025-04-23 14:41:51 1019

原创 1.1、AI及LLM基础:AI 领域基础概念

欠拟合 (Under-fitting):模型太简单,不能很好地捕捉数据中的模式。简单例子:用直线拟合“U”形数据。实际例子:房价预测中只用面积一个特征。最佳拟合 (Optimal-fitting):模型恰到好处,既能很好地拟合训练数据,也能对新数据有良好表现。简单例子:用合适的二次曲线拟合“U”形数据。实际例子:房价预测中使用了多个重要特征。过拟合 (Over-fitting):模型太复杂,过度记住了训练数据,无法泛化到新数据。简单例子。

2025-04-23 14:40:51 618

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:5、将自然语言问题转换为结构化查询

本文介绍了如何使用Langchain将用户用自然语言提出的问题转换为结构化查询,以便从特定数据源检索信息。通过定义Pydantic模型和构建链,我们可以将用户问题转化为数据库查询,从而优化检索最相关结果的过程。

2024-08-12 17:19:51 383

原创 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:4、逻辑路由与语义路由的实现

本文介绍了在RAG中实现路由的方法,包括逻辑路由和语义路由两种技术。逻辑路由通过预定义选项让LLM决定路由,而语义路由则基于查询和提示之间的语义相似性来选择路由。通过这两种方法,可以有效地将用户查询路由到最合适的数据源,以提供更准确的答案。

2024-08-12 16:57:50 776

翻译 LangChain-v0.2文档翻译:3.13、如何配置运行时链内部结构

本文介绍了如何在LangChain框架中配置运行时链的内部步骤。LangChain是一个用于构建和部署机器学习模型的Python库,特别适用于构建和配置复杂的处理链。通过。

2024-07-17 17:23:40 226

原创 构建LangChain应用程序的示例代码:68、如何使用百度千帆平台和百度ElasticSearch实现检索增强生成(RAG)

本文档展示了如何使用百度千帆平台和百度ElasticSearch实现检索增强生成(RAG)。它涵盖了从BOS加载文档、文本分割、嵌入向量生成、向量存储、检索器创建到最终的问答系统实现的完整流程。该实现利用了百度云的多个服务,包括千帆大模型平台、ElasticSearch和对象存储(BOS),展示了如何集成这些服务来创建一个强大的RAG系统。

2024-07-17 17:15:13 1001

原创 构建LangChain应用程序的示例代码:67、如何使用OpenAI函数实现文本引用提取

本文档展示了如何使用OpenAI的函数能力从文本中提取引用。它使用LangChain库创建了一个模糊匹配链,该链可以从给定的上下文中提取与问题相关的事实和证据。文档包括了完整的代码示例,演示了如何设置环境、创建链、运行查询以及格式化输出结果。

2024-07-17 17:11:14 332

翻译 LangChain-v0.2文档翻译:3.12、如何将输入参数从一个链步骤传递到下一个链

本文介绍了LangChain框架中的类,它允许将数据从一个步骤原封不动地传递到另一个步骤。通过示例代码,我们学习了如何使用与结合使用,以及如何在实际应用中格式化输入到提示。

2024-07-16 17:09:45 125

原创 构建LangChain应用程序的示例代码:66、如何使用LangChain实现程序辅助语言模型(PAL)

本文介绍了如何使用LangChain实现程序辅助语言模型(PAL)。PAL是一种结合了语言模型和程序执行的方法,可以处理复杂的数学问题和对象操作问题。文章展示了如何设置PAL链,并通过两个具体示例(数学问题和彩色对象问题)演示了其使用方法。最后,还介绍了如何获取PAL链的中间步骤。

2024-07-16 17:04:13 653

原创 构建LangChain应用程序的示例代码:65、如何使用Kay.ai获取和处理新闻稿数据

本文介绍了如何使用Kay.ai提供的新闻稿数据服务。首先解释了新闻稿的重要性和Kay.ai的数据来源,然后详细说明了如何设置和使用Kay.ai的API来检索新闻稿信息。文章还提供了一个使用LangChain和OpenAI结合Kay.ai数据的具体示例。

2024-07-16 17:00:43 877

翻译 LangChain-v0.2文档翻译:3.11、使用LangChain中的自定义函数

本文详细介绍了如何在LangChain框架中使用自定义函数作为Runnables,包括使用构造器、装饰器、自动转换和流式处理。通过示例代码,我们学习了如何显式创建可运行的自定义函数,如何将自定义函数转换为Runnables,以及如何在自定义函数中使用运行元数据和流式处理。

2024-07-15 16:49:48 220

原创 构建LangChain应用程序的示例代码:64、计划与执行式智能体的概念、实现方法和应用示例

本文档介绍了计划与执行式智能体的概念、实现方法和应用示例。计划与执行式智能体的基本原理所需库的导入工具的定义和设置规划器、执行器和智能体的创建运行示例,展示智能体如何解决复杂问题。

2024-07-15 16:23:32 646

原创 构建LangChain应用程序的示例代码:63、如何使用Petting Zoo库定义和运行多智能体模拟环境

这个文件展示了如何使用Petting Zoo库定义和运行多智能体模拟环境。定义了一个基础的GymnasiumAgent类扩展出PettingZooAgent类以适应多智能体环境进一步定义了ActionMaskAgent类来处理带动作掩码的环境展示了在石头剪刀布、井字棋和德州扑克无限注环境中使用这些智能体的例子。

2024-07-15 16:21:07 1330

翻译 LangChain-v0.2文档翻译:3.10、如何为Runnable添加默认调用参数

本文介绍了如何在Python中使用Runnable和RunnableSequence进行参数绑定,包括如何使用Runnable.bind()方法设置常量参数,以及如何进行工具调用。通过示例代码,我们学习了如何构建一个简单的提示+模型链,并展示了如何通过绑定参数来控制模型的输出。此外,还提供了关于如何使用工具调用和如何使用.bind_tools()方法的示例

2024-07-10 17:47:37 367

原创 构建LangChain应用程序的示例代码:62、如何使用Oracle AI向量搜索和Langchain构建端到端的RAG(检索增强生成)pipeline

本指南突出了Oracle AI向量搜索的强大功能,包括与关系型数据的结合、广泛的文档格式支持、灵活的嵌入和摘要生成选项,以及优化的搜索性能。

2024-07-10 17:36:26 1386 1

原创 构建LangChain应用程序的示例代码:61、如何使用 LangChain 和 LangSmith 优化链

本文档介绍了如何使用 LangChain 和 LangSmith 来优化问答链。设置环境和加载数据创建初始检索链运行示例并进行标注创建数据集使用少量示例进行优化。

2024-07-10 17:21:32 787

翻译 LangChain-v0.2文档翻译:3.9、如何在LangChain中并行调用可运行组件

本文介绍了如何在LangChain中使用RunnableParallel原语来并行执行多个可运行组件,并通过字典形式返回它们的输出结果。通过实际的代码示例,展示了如何使用RunnableParallel进行操作的并行化,以及如何使用itemgetter来简化从映射中提取数据的过程。此外,还讨论了RunnableParallel在执行独立进程时的效率优势。

2024-07-09 17:24:02 408

原创 构建LangChain应用程序的示例代码:60、探索 OpenAI V1 新功能及其在 LangChain 中的应用

这个文档详细介绍了 OpenAI 在 2023 年 11 月 6 日发布的新功能,以及如何在 LangChain 框架中使用这些功能

2024-07-09 17:17:01 1806

原创 构建LangChain应用程序的示例代码:59、如何使用OpenAI函数来结构化问答系统的输出

本文介绍了如何使用OpenAI函数来结构化问答系统的输出。使用OpenAI函数创建基本的问答链使用Pydantic模型定义输出结构在对话检索链中应用结构化输出自定义输出模式以包含额外信息。

2024-07-09 17:12:07 395

翻译 LangChain-v0.2文档翻译:3.8、如何在LangChain中进行流式传输

本文详细介绍了如何在LangChain中使用流式传输,包括同步和异步方法,以及如何通过流式传输事件来监控和处理应用程序的中间步骤。通过实际的代码示例,展示了如何使用。

2024-07-08 18:03:10 483

原创 构建LangChain应用程序的示例代码:58、如何使用 Nomic 的新嵌入模型构建和部署一个检索增强生成(RAG)应用

本文档介绍了如何使用 Nomic 的新嵌入模型构建和部署一个检索增强生成(RAG)应用。Nomic 嵌入模型的介绍设置和登录 Nomic API加载和分割文档使用 Nomic 嵌入创建向量索引构建 RAG 链,包括检索器和语言模型使用 LangServe 部署 RAG 应用文档还讨论了长上下文检索的考虑因素,以及使用不同的语言模型选项(如 Mistral 和 GPT-4)。

2024-07-08 17:46:52 1291

原创 构建LangChain应用程序的示例代码:57、如何使用 MyScale 向量数据库和 LangChain 库来创建一个向量 SQL 检索器

这个文件介绍了如何使用 MyScale 向量数据库和 LangChain 库来创建一个向量 SQL 检索器。设置 MyScale 数据库连接创建向量 SQL 数据库链使用向量 SQL 数据库链进行查询将 SQL 数据库用作检索器创建和使用检索 QA 链文件中的代码示例展示了如何配置和使用这些组件来执行语义搜索和问答任务。

2024-07-08 17:43:31 724 1

翻译 LangChain-v0.2文档翻译:3.7、如何在LangChain中串联可运行组件

本文介绍了LangChain中如何通过管道操作符。

2024-07-05 17:57:56 147

原创 构建LangChain应用程序的示例代码:56、如何实现一个多智能体模拟,其中没有固定的发言顺序。智能体自行决定谁来发言,通过竞价机制实现

定义参与辩论的人物和辩论主题# character_names: 参与者姓名列表# topic: 辩论主题# word_limit: 回答字数限制最后,我们将定义一个发言人选择函数,它接受每个智能体的出价并选择出价最高的智能体(同分随机打破平局)。我们将定义一个函数,使用我们之前定义的bid_parser来解析智能体的出价。我们将使用tenacity来装饰,在智能体的出价无法正确解析时多次重试,并在达到最大尝试次数后生成默认出价0。

2024-07-05 17:33:50 1248

原创 构建LangChain应用程序的示例代码:55、如何实现多代理模拟,其中特权代理决定谁发言。这遵循与多代理分散发言者选择相反的选择方案

定义讨论话题、主持人名称、参与者信息和字数限制最后我们将定义一个说话者选择函数,它接受每个代理的出价并选择出价最高的代理(随机打破平局)。我们将定义一个函数,它使用我们之前定义的bid_parser来解析代理的出价。我们将使用tenacity来装饰,以便在代理的出价无法正确解析时多次重试,并在最大尝试次数后产生默认出价0。) -> int:"""如果步骤是偶数,则选择导演否则,由导演选择下一个说话者。"""# 导演在奇数步骤说话idx = 0else:# 这里导演选择下一个说话者。

2024-07-05 17:26:54 987

LangChain入门:7.打造企业内部员工知识库问答系统的资料文件

LangChain入门:7.打造企业内部员工知识库问答系统的资料文件

2024-03-29

kubernetes重要概念思维导图.xmind

这里面收集了kubernetes中的一些重要概念,非常适合初学者来认真阅读的,大家有兴趣的可以下载下来看看

2020-05-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除