自定义博客皮肤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的博客

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

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

原创 LangChain入门:16.用RouterChain确定提问意图,精准分类问题

这三个测试,分别被路由到了三个不同的目标链,其中两个是我们预设的“专家类型”目标链,而第三个问题:如何考入哈佛大学?在这里,我们会用 LLMRouterChain 和 MultiPromptChain(也是一种路由链)组合实现路由功能,该 MultiPromptChain 会调用 LLMRouterChain 选择与给定问题最相关的提示,然后使用该提示回答问题。构建多提示链:使用 MultiPromptChain 将 LLM 路由链、目标链和默认链组合在一起,形成一个完整的决策系统。

2024-04-09 14:49:35 896

原创 LangChain入门:20.探索使用 Self-Ask with Search 代理

Self-Ask with Search代理利用了一种创新的“追问”和“中间答案”策略,以辅助大型语言模型(如GPT-3.5)解决那些需要多步推理或多次查询的问题。这种代理特别适合处理多跳问题,即那些不能通过单一查询直接得到答案的问题。Self-Ask with Search代理展示了LangChain在对话代理领域的创新能力。通过结合搜索工具和逐步逼近的策略,它能够有效地解决多跳问题,为用户提供准确、及时的答案。

2024-04-16 15:47:14 309

原创 LangChain入门:19.探索结构化工具对话

通过本文的介绍,我们了解到结构化工具对话代理的强大功能和灵活性。它不仅可以帮助我们自动化日常任务,还可以在数据处理和分析中发挥重要作用。随着技术的不断进步,我们期待看到更多创新的应用出现。

2024-04-16 15:24:55 159

原创 LangChain入门:18.使用ReAct 框架进行生成推理痕迹和任务特定行动来实现更大的协同作用

ReAct对话模型是LangChain框架中的一种重要模型,它可以用于构建智能对话系统。ReAct对话模型的核心思想是使用反应堆(Reactor)来处理对话中的各种情况,从而实现了对复杂对话场景的解构。在ReAct对话模型中,反应堆是一个可配置的组件,它可以对输入的文本进行自定义处理。通过在不同的反应堆之间传递输入文本,我们可以实现不同任务的解构和组合。

2024-04-11 15:54:35 348

原创 LangChain入门:17.使用 ConversationChain实现对话记忆功能

不难看出,在第二回合,记忆机制完整地记录了第一回合的对话,但是在第三回合,它察觉出前两轮的对话已经超出了 300 个字节,就把早期的对话加以总结,以节省 Token 资源。有了记忆机制,LLM 能够了解之前的对话内容,这样简单直接地存储所有内容为 LLM 提供了最大量的信息,但是新输入中也包含了更多的 Token(所有的聊天历史记录),这意味着响应时间变慢和更高的成本。在给定的例子中,设置 k=1,这意味着窗口只会记住与 AI 之间的最新的互动,即只保留上一次的人类回应和 AI 的回应。

2024-04-10 15:07:02 568

原创 LangChain入门:15.Sequential Chain:顺序链的使用

是LangChain库中的一个强大工具,它允许我们将多个按照特定的顺序连接起来,形成一个处理流程。这种链式结构使得我们可以将一个大任务分解为几个小任务,并依次执行,每个任务的输出成为下一个任务的输入。在这个示例中,我们将构建一个顺序链,目标是:导入所需的库和模块:创建第一个LLMChain:生成鲜花的知识性说明。创建第二个LLMChain:根据鲜花的知识性说明生成评论。创建第三个LLMChain:根据鲜花的介绍和评论撰写社交媒体文案。创建SequentialChain:将前面

2024-04-08 15:00:31 206

原创 LangChain入门:14.LLMChain:最简单的链的使用

本文将介绍LangChain库中LLMChain工具的使用方法。LLMChain将提示模板、语言模型(LLM)和输出解析器整合在一起,形成一个连贯的处理链,简化了与语言模型的交互过程。我们将探讨LLMChain的技术特点、应用场景以及它解决的问题,并提供详细的代码示例。LLMChain是LangChain库中的一项功能强大的工具,它提供了一个便捷的方式来与语言模型进行交互。通过LLMChain,用户可以轻松地构建提示模板、调用语言模型进行推理,并解析输出结果,而无需手动处理繁琐的过程。

2024-04-08 14:31:44 256

原创 LangChain入门:13.RetryWithErrorOutputParser解析器实战

解决的问题有:不完整的数据:原始的 bad_response 只提供了 action 字段而没有 action_input 字段。如果出错的不只是格式,比如,输出根本不完整,有缺失内容,那么仅仅根据输出和格式本身,是无法修复它的。这个解析器没有让我们失望,成功地还原了格式,甚至也根据传入的原始提示,还原了 action_input 字段的内容。由于 bad_response 只提供了 action 字段,而没有提供 action_input 字段,这与 Action 数据格式的预期不符,所以解析会失败。

2024-04-07 15:55:48 596

原创 LangChain入门:12.OutputFixingParser解析器实战

我们可以有效地解决数据解析过程中的格式错误问题,提高数据处理的自动化程度和准确性。通过本文提供的实战指南,读者可以轻松地应用这一强大工具,提升数据处理的效率和质量,从而更好地应对自动化数据解析的挑战。如果解析失败,它会将错误输出和格式化指令传递给大型语言模型(LLM),请求LLM进行修复。通过这种方式,我们可以自动修复格式错误,使数据解析过程更加顺畅。是一个强大的工具,它可以自动检测并修复常见的格式错误,使得数据解析过程更加顺畅。,我们可以提高数据处理的自动化程度和准确性,从而节省时间和精力。

2024-04-04 08:30:00 500

原创 技术应用:使用exp4j库解析数学表达式

exp4j 的核心原理是将数学表达式解析为逆波兰表达式(RPN),然后利用栈结构对逆波兰表达式进行求值。通过将表达式转换为逆波兰表达式,exp4j 实现了高效的数学表达式计算。它提供了简单易用的 API,可以快速地对复杂的数学表达式进行求值,同时具有良好的性能和稳定性。通过深入理解 exp4j,您将能够更高效地处理数学表达式,并加速您的应用程序开发过程。通过深入学习 exp4j 的基本原理和常用功能,您将能够更加高效地处理数学表达式,并将其应用于各种实际项目中。

2024-04-03 14:07:17 406

原创 LangChain入门:11.Pydantic(JSON)解析器实战

使用Pydantic库定义我们期望的数据格式。这有助于确保模型的输出符合预期的结构。price: int。

2024-04-03 13:52:35 368

原创 LangChain入门:10.基于Chain of Thought构建店铺运营助手

在本次实战中,我们开发了一个 AI 运营助手,它能根据用户的需求进行推理和生成答案。能够按部就班地思考,理解用户的需求,并给出最合适的花卉推荐。

2024-04-02 15:05:53 405

原创 LangChain入门:9.使用FewShotPromptTemplate实现智能提示工程

在构建智能提示工程时,LangChain 提供了强大的 FewShotPromptTemplate 模型,它可以帮助我们更好地利用示例来指导大模型生成更加优质的提示。在这篇博文中,我们将使用 LangChain 的 FewShotPromptTemplate 模型来设计一个智能提示工程,以及如何有效地选择示例样本,从而实现高效且准确的提示生成。

2024-04-01 18:03:37 799

原创 LangChain入门:8.打造自动生成广告文案的应用程序

利用LangChain框架的模板管理、变量提取和检查、模型切换以及输出解析等优势,我们可以轻松地构建出一个自动生成广告文案的应用程序。这不仅提高了文案生成的效率和准确性,还为用户提供了更好的体验,带来了更多的商业价值。

2024-04-01 10:00:00 767

原创 LangChain入门:7.打造企业内部员工知识库问答系统

在这篇博文中,我们将深入探讨如何利用LangChain打造一个企业内部员工知识库问答系统的开发框架以及核心实现机制。作为一个旨在企业内部提供员工所需信息的知识库问答系统,其重要性在于提高员工的工作效率,确保他们能够及时准确地获取所需信息。

2024-03-29 14:23:20 1195

原创 LangChain入门:6.HuggingFace API初体验

通过本文的介绍,我们了解了如何使用HuggingFace API来快速构建自然语言处理应用。从创建API密钥到实际的模型推理,HuggingFace API提供了一个简单而强大的平台,帮助开发者轻松地集成各种NLP模型和功能到他们的应用程序中。

2024-03-29 13:54:36 344

原创 LangChain入门:5.使用图像字幕生成工具为图片增添主题描述

接下来,我们定义一个图像字幕生成工具类,用于处理图片并生成描述。这个工具类将在LangChain代理中被调用。# 定义图像字幕生成工具类description = "为图片添加主题内容."# 下载图像并转换为PIL对象# 使用预处理器处理图像# 使用模型生成图像字幕# 解码生成的字幕。

2024-03-28 16:46:12 273

原创 LangChain入门:4.调用OpenAI的聊天机器人-提示模板

本次目的是编写一个简单的聊天机器人,该聊天机器人可以使用OpenAI的聊天机器人模型进行交互。在这个学习中,我们将创建了一个简单的聊天模板,用户可以输入任何文本,聊天机器人会根据预定义的提示消息模板生成回复,通过提示模板来指导聊天机器人的响应。提示模板用于将原始用户输入转换为更好的 LLM 输入。

2024-03-28 10:00:00 379

原创 LangChain入门:3.调用OpenAI的聊天机器人-入门

在开始之前,确保您的开发环境已经安装了Python,并且您具备基本的Python编程知识。如果您对API还不够熟悉,可以先简要了解一下API是如何工作的,这将有助于您更好地理解本文所涉及的概念和操作。本文将深入介绍如何利用LangChain库快速集成OpenAI的聊天机器人功能,以实现智能化的应用和服务,为用户带来更加便捷、个性化的交互体验。根据需要,您可以进一步处理这些回复,例如,将其保存到数据库中或在用户界面上展示出来。例如,我们可以请求AI来帮助我们给书店取一个别致的名字,这是一个很常见的应用场景。

2024-03-27 16:53:43 592

原创 LangChain入门:2.OpenAPI调用ChatGPT模型

通过本文的指导,您已经学会了如何使用OpenAPI调用ChatGPT模型,实现了一个能够与用户进行智能对话的系统。这不仅可以作为您学习LangChain的起点,也可以作为构建更复杂对话系统的基石。随着技术的不断进步,您可以尝试探索更多的模型和功能,以提供更加丰富和个性化的用户体验。通过LangChain库的实践,您将学习构建一个能够与用户进行自然语言对话的系统的关键步骤。在动手编码之前,请确保您已掌握Python编程的基础知识,并了解API调用的基本原理。为了与OpenAI的API进行交互,您需要安装。

2024-03-27 16:09:51 699

原创 LangChain入门:1.安装Python

Python 是一种流行的编程语言,在 Windows 平台上安装 Python 是非常简单的。本文将向您展示如何在 Windows 系统上安装 Python。

2024-03-27 15:50:39 284

原创 技术应用:利用Lua脚本提升Redis操作效率与功能

Lua是一种轻量级、高效、可嵌入的脚本语言,广泛用于游戏开发、服务器端应用程序以及各种嵌入式系统中。它具有简洁的语法、动态类型、自动内存管理等特点,同时还支持面向过程、面向对象和函数式编程范式。Lua的另一个重要特点是可嵌入性,即可以轻松嵌入到其他程序中使用,这使得Lua成为了Redis等软件的扩展语言。通过Lua脚本,我们可以在Redis中实现复杂的逻辑和操作,提高了操作效率和功能性。在开发Redis应用时,我们应该充分利用Lua脚本来实现各种功能,以提升系统的性能和可靠性。

2024-03-19 13:43:14 726

原创 技术应用:使用HandlerMethodArgumentResolver实现用户登录信息校验

在Spring MVC中,是一个接口,用于解析控制器方法的参数。它允许我们在调用控制器方法之前对参数进行定制化处理。Spring框架提供了一些默认的,例如@RequestParam、@PathVariable等注解对应的解析器。但是,有时候我们需要自定义参数解析逻辑,这就需要使用自定义的。通过,我们可以实现用户登录信息校验等自定义注解来定制控制器方法参数的解析逻辑。这为我们提供了更大的灵活性和可扩展性,使得我们能够更好地处理各种复杂的业务场景。在实际项目中,可以根据具体需求,结合。

2024-03-19 10:26:56 475

原创 技术应用:使用 FastJSON 作为 RedisTemplate 序列化器:禁用循环引用检测和类名序列化

FastJSON 是由阿里巴巴开发的一款高性能的 JSON 处理库,具有快速、稳定、功能丰富等特点。它提供了一套简单易用的 API 和配置选项,可以满足各种 JSON 数据处理的需求。

2024-03-01 14:42:23 581

原创 技术应用:Java中eq、ne、ge、gt、le、lt的含义及实际应用

在Java编程中,我们经常会遇到需要进行比较操作的场景。为了满足不同的需求,Java提供了一系列比较运算符,如eq、ne、ge、gt、le、lt等。本文将介绍这些运算符的含义,并结合使用MyBatis Plus框架的示例代码,说明它们的实际应用。通过本文的介绍,我们了解了Java中eq、ne、ge、gt、le、lt等比较运算符的含义及其实际应用。结合MyBatis Plus框架的示例代码,我们可以更加清晰地理解这些运算符在实际开发中的使用方法。

2024-02-28 15:02:32 927

原创 技术应用:基于MyBatis Plus自动生成数据库主键

MyBatis Plus作为一款优秀的持久层框架,提供了便捷的方式来实现自动生成主键的功能。本文将详细介绍如何在MyBatis Plus中使用自动生成主键的功能,并结合示例进行说明。在实体类中,通过注解的方式配置主键的生成策略。在进行数据插入操作时,无需手动设置主键的值,MyBatis Plus会根据配置自动为主键字段赋值,并将其插入到数据库中。通过本文的介绍,相信大家已经了解了如何在MyBatis Plus中实现自动生成主键的功能,并了解了多种生成策略的示例。

2024-02-28 14:58:03 609

原创 技术应用:使用Spring Boot、MyBatis Plus和Dynamic DataSource实现多数据源

通过本文的学习,我们了解了如何使用Spring Boot、MyBatis Plus和Dynamic DataSource实现多数据源。我们学习了如何配置和管理多个数据源,并在应用程序中使用它们执行数据库操作。多数据源可以帮助我们更灵活地处理不同的数据库连接需求,使我们的应用程序更具可扩展性和可靠性。我们将学习如何配置和管理多个数据源,并在应用程序中使用它们执行数据库操作。在这种情况下,使用多数据源是一种常见的解决方案,它允许我们在一个应用程序中管理多个数据库连接。注解标记Mapper接口。

2024-02-26 17:36:39 655

原创 技术应用:探究MySQL中foreach动态语句的用法与优势

在这个众多功能中,foreach动态语句是一项极具实用性的功能之一,它允许我们在SQL语句中使用循环来处理数据,为数据操作提供了更加灵活和高效的解决方案。此时,foreach动态语句的应用场景就非常明显,它可以帮助我们简化数据处理的过程,提高操作效率。通过本文的详细介绍,大家应该对MySQL中foreach动态语句的用法和优势有了更深入的了解。性能优化: 在某些情况下,foreach语句能够优化SQL查询的性能,减少数据库的负载压力,提升系统的整体性能。

2024-02-23 14:30:45 435

原创 日常问题:Correct the classpath of your application so that it contains a single, compatible version of

Correct the classpath of your application so that it contains a single, compatible version of xxx” 错误通常是由于这种版本冲突引起的。解决 “Correct the classpath of your application so that it contains a single, compatible version of xxx” 错误需要仔细分析依赖关系,并采取适当的措施来确保所有依赖项都是兼容的。

2024-02-23 14:23:51 2998

原创 技术应用:C# System.Data.DataTable().Compute 基本用法

在 C# 编程中,处理和计算数据是一个常见而重要的任务。而 System.Data.DataTable().Compute 方法作为 DataTable 类中的一项强大功能,能够帮助我们在 DataTable 对象中执行各种数据计算操作。本文将深入介绍 DataTable().Compute 方法的基础和进阶用法,帮助技术人员更好地理解和应用这一功能。

2024-02-20 15:51:39 666

原创 技术应用:@AllArgsConstructor注解作用

在 Java 开发中,构造方法是定义类的重要组成部分,然而编写构造方法通常是一项繁琐的任务。为了简化这一过程,Lombok 提供了许多方便的注解,其中之一就是 @AllArgsConstructor。

2024-02-20 15:42:59 543

原创 日常问题:解决远程服务调用后采用fastjson进行类型字段转换大小写匹配问题

在使用 JSON 序列化工具时。或者是通过远程服务调用的过程中接收到其他服务的响应体时,我们常常遇到一个问题:默认情况下,字段的首字母会被转换成小写。但在某些场景下,我们需要返回的 JSON 格式的参数字段首字母保持大写。本文将介绍两种简单而有效的方法来帮大家解决这一问题。

2024-02-20 15:18:46 793

原创 日常问题:解决java.util.LinkedHashMap cannot be cast to xxx 自定义类型异常

但是大家在调用服务的时候,由于第三方服务提供者返回的是一个List集合,所以在进行接收响应体的时候,restTemplate.getForObject()期待返回的类型直接写成了List.class。虽然服务提供者返回的是LIst集合,但是标记了@RequestBody,所以返回的时候会把List集合转变成json的形式(内部是jackjson技术支持的)在进行远程服务调用的时候,我们经常使用到RestTemplate。使用阿里巴巴的fastjson将json字符串转变成list集合。

2023-03-16 09:00:00 1155

原创 日常问题:解决nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found问题

这个关键字,想到可能是和自定义类型中定义了有参构造。当从数据库拿到某行数据时,由于缺少无参构造,导致异常出现。在这里能够理解成使用Mybatis查询一个实例时,这个抽象实体类必须有一个无参构造方法。这时候疑惑了一下,自定义类中的字段和类型和数据结构一模一样啊,然后发现异常提示中出现。添加一个无参构造函数(能够不添加三个参数的构造函数)。

2023-03-13 16:37:44 1498

原创 第06章_多表查询

多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。

2023-03-13 16:31:14 273

原创 第05章_排序与分页

第一个“位置偏移量”参数指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);MySQL 8.0中可以使用“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT 4,3;这样的好处就是 SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。得到与上述方法一致的结果。

2023-03-13 16:29:34 161

原创 第04章_运算符

1的二进制数为0001,10的二进制数为1010,所以1 | 10的结果为1011,对应的十进制数为11。1的二进制数为0001,10的二进制数为1010,所以1 ^ 10的结果为1011,对应的十进制数为11。1的二进制数为0001,10的二进制数为1010,所以1 & 10的结果为0000,对应的十进制数为0。由于按位取反(~)运算符的优先级高于按位与(&)运算符的优先级,所以10 & ~1,首先,对数字1进行按位取反操作,结果除了最低位为0,其他位都为1,然后与10进行按位与操作,结果为10。

2023-03-13 16:29:02 148

原创 第03章_基本的SELECT语句

1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几幕兴衰。但在这片浩荡的波动里,有一门技术从未消失,甚至“老当益壮”,那就是 SQL。45 年前,也就是 1974 年,IBM 研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》,直到今天这门结构化的查询语言并没有太大的变化,相比于其他语言,SQL 的半衰期可以说是非常长了。

2023-03-12 09:00:00 72

原创 第02章_MySQL环境搭建(不需要在Windows系统下安装的可以忽略)

按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停止”选项停止MySQL8.0的服务。这里你不要选择用默认的“Microsoft Windows”,而是要通过下拉栏,找到“Source Code”,在下面的操作系统版本里面, 选择 Windows(Architecture Independent),然后点击下载。采用通用的方法,可以添加其他你需要安装的产品。

2023-03-11 09:00:00 655

原创 第01章_数据库概述

Oracle1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气越来越大,公司也改名叫 Oracle 公司。2007年,总计85亿美金收购BEA Systems。2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。2013年,甲骨文超越IBM,成为继Microsoft后全球第二大软件公司。

2023-03-09 17:49:02 476

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

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

2024-03-29

kubernetes重要概念思维导图.xmind

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

2020-05-12

空空如也

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

TA关注的人

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