自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JackWu1024

stay hungry stay foolish

  • 博客(31)
  • 收藏
  • 关注

原创 无限可能LangChain——概念指南之架构

本节包含对 LangChain 关键部分的介绍。

2024-06-16 16:39:05 1134

原创 无限可能LangChain——构建代理

我们首先需要创建我们想要使用的工具。我们将使用两个工具:Tavily(在线搜索),然后是我们将创建的本地索引上的检索器。Tavily我们在LangChain中有一个内置工具,可以轻松地使用Tavily搜索引擎作为工具。请注意,这需要一个API密钥。但是如果你没有或者不想创建一个,你可以忽略这一步。。创建API密钥后,您需要将其导出为:result = search.invoke("今天重庆的天气预报")

2024-06-09 10:14:38 783

原创 无限可能Langchain——向量存储和检索

本教程将使您熟悉LangChain的向量存储和检索器抽象。这些抽象旨在支持从(向量)数据库和其他来源检索数据,以便与LLM工作流集成。它们对于获取数据作为模型推理的一部分进行推理的应用程序很重要,例如检索增强生成或RAG(请参阅我们的RAG教程。

2024-06-04 10:40:25 1002

原创 无限可能LangChain——构建聊天机器人

首先,让我们定义一个函数来修改传入的消息。这个session_id用于区分不同的对话,并应该作为调用新链条时的配置的一部分传递进去(我们将展示如何做到这一点)。我们可以使用一个消息历史类来封装我们的模型,使其具有状态。请注意,这稍微改变了输入类型-我们不再传递一个消息列表,而是传递一个字典,其中包含一个名为messages的键,其值是一个消息列表。之后,我们可以导入相关的类并设置我们的链,它将包装模型并添加这个消息历史记录。如果我们创建一个超过10条消息的消息列表,我们可以看到它不再记得早期消息中的信息。

2024-06-03 08:51:45 1061

原创 无限可能LangChain——构建一个简单的LLM应用程序

在本快速入门中,我们将向您展示如何构建一个简单的LLM应用程序。该应用程序将文本从英语翻译成另一种语言。这是一个相对简单的LLM应用程序——它只是一个LLM调用加上一些提示。尽管如此,这仍然是开始使用LangChain的好方法——只需一些提示和一个LLM调用,就可以构建许多功能!

2024-06-02 10:36:21 831

原创 无限可能LangChain——开启大模型世界

大语言模型是一种人工智能模型,通常使用深度学习技术(如神经网络)来理解和生成人类语言。这些模型拥有非常多的参数,可以达到数十亿甚至更多,使得它们能够处理高度复杂的语言模式。我们可以将大语言模型视为一个巨大的预测机器,其训练过程基于“猜词”任务:给定一段文本的开头,模型需要预测下一个词是什么。通过大量的训练数据(如互联网上的文本),模型试图理解词语和词组的用法和含义,以及它们如何组合形成意义。通过不断学习和调整参数,模型的预测能力变得越来越准确。

2024-06-01 15:21:17 1024

原创 AI未来——从萌芽到智能新纪元

总的来说,人工智能经历了从符号逻辑到机器学习,再到深度学习的发展进程,目前正处于深度学习快速发展的阶段,同时也正在为实现通用人工智能的宏伟目标而努力探索。每个阶段都有自己的代表性理论和技术突破,推动了AI不断向前发展。

2024-04-27 18:03:46 774

原创 乐趣Python——学习书籍及网站推荐

这本书是一本集基础知识和实践为一体的Python学习教材,通过实际的游戏项目和Web应用构建,使读者在学习Python基础知识的同时,深入理解和掌握Python的应用。CSDN是中国最大的IT社区和服务平台,有大量的Python学习资料和博客文章,并且拥有活跃的Python社区,使你可以很方便的解决学习中遇到的问题。这是Python的官方中文社区,提供Python的官方文档和最新的Python资讯,保障你学到的知识都是最新的。总的来说,第一阶段注重了Python基础知识的学习和实践,为你建立了坚实的基础。

2024-04-14 08:58:21 654

原创 乐趣Python——数据可视化:绘制数据的彩虹桥

Matplotlib是一个功能强大的绘图库,提供了广泛的绘图功能和灵活的绘图控制。多种绘图类型:Matplotlib支持绘制多种类型的图表,包括折线图、散点图、柱状图、饼图等,可以满足多样化的数据可视化需求。可定制性:Matplotlib提供了丰富的参数和选项,可以自定义图表的外观,包括线条样式、颜色、标签、标题等,使得用户可以根据具体需求定制图表的样式和布局。二维绘图和三维绘图:Matplotlib支持绘制二维和三维的图表,可以展示复杂的数据关系和模式。支持多种输出格式。

2024-04-13 09:37:24 954

原创 乐趣Python——动态网页与测试:浏览器的操纵者

当然!让我们来驾驭浏览器的魔法,一起探索 Selenium 的奇妙世界吧!首先,Selenium 是一个令人兴奋且强大的工具,它可以用于自动化网页测试和操作。犹如你手中的魔杖,Selenium 可以模拟用户在浏览器中的各种操作,从点击按钮、填写表单,甚至到处理复杂的下拉框和弹出窗口,简直是一把能够驾驭浏览器的魔法杖!Selenium 具有诸多优点,让我们来一一解译!首先,它可以完美地模拟用户操作。

2024-04-12 10:54:01 714

原创 乐趣Python——Web自动化:成为网络的主宰者

那么,我们是怎样阅读这些故事书的呢?这就要用到一种叫做HTTP(超文本传输协议)的魔法。当你在浏览器里输入一个网址,比如“”,你其实是在使用HTTP协议,向互联网的那个图书馆发送一个请求:“嘿,我想看这本书!”然后,图书馆就会把这本书送到你的电脑上,让你可以阅读它。网页是用一种叫做HTML(超文本标记语言)的特殊语言写成的。你可以把HTML想象成书写故事书的笔。它可以告诉电脑这里应该有一段文字,那里应该有一张图片,还可以决定文字和图片应该排列在什么位置。

2024-04-11 08:58:25 1877

原创 乐趣Python——自动化邮件:告别手动发送的日子

使用POP3,邮件会被下载到本地机器,并在服务器上删除(尽管有些邮件客户端有保留服务器副本的选项),这意味着只有在使用POP3接收邮件的同一设备上,才能看到之前的邮件记录。当你想给朋友发信,你会递给邮递员,也就是 SMTP,它负责将你的信从你的电脑(也就是你的邮件客户端)通过网络将信送到你的朋友的信箱(也就是服务器)。好的,朋友们,让我们继续我们的魔法之旅,深入探索自动化邮件的另一个神奇角落——邮件里的小秘密:附件和内容处理。"想象一下,你的邮件就像是自动寻找收件人的小精灵,不再需要你手动一封封发送。

2024-04-10 09:03:17 844

原创 乐趣Python——办公魔法:PPT文件自动化

在这篇文章中,我们将关注 Python-pptx,这是一个可以让我们对 PPT 文件进行操作的库。然后,它在幻灯片上添加了一个2x2的表格,并使用嵌套的循环遍历表格的每个单元格。然后,它在页面中添加了一个形状元素,并设置了元素的文本为 "你好,世界!接下来,它在文本框中添加了一个段落,然后在段落中添加了一个运行对象。来指定幻灯片的布局。在这个例子中,使用的是索引为5的布局,具体的布局样式可以根据你的需要进行调整。接下来,它在形状元素的文本框中添加了一个段落,并给段落的文本运行添加了一个入场动画效果。

2024-04-09 11:50:37 2040

原创 乐趣Python——办公魔法:PDF自动化处理

太棒了!我们刚刚掌握了 Python PDF 自动化处理的七项魔法!PDF 解析和文本提取、PDF 合并和拆分、PDF 表单处理、PDF 文档转换、PDF 水印和签章、PDF 报表生成以及 OCR(光学字符识别)。相信你已经成为了一个真正的办公室大魔法师!不管是处理文件、生成报表还是提取文本,Python 都可以助你一臂之力。希望这些有趣的知识点加上幽默的讲解让你爱上了 Python PDF 自动化魔法世界。如果你有任何问题,或者想要获取更多关于这些魔法的中文代码示例,请随时向我提问!

2024-04-08 07:41:19 734

原创 乐趣Python——办公魔法:Word文件自动化

接着,我们需要选择和安装适用于Word文件处理的Python库。其中一个经典的选择就是"python-docx",它给我们提供了强大的功能。Python-docx是一个Python库,提供了对Microsoft Word(.docx文件)的读写和修改功能。它允许我们使用Python脚本打开、读取和编辑Word文档,以及创建新的Word文档。Python-docx库提供了简单易用的API,使得处理Word文档变得简单而高效。

2024-04-07 08:25:11 1052

原创 乐趣Python——办公魔法:Excel与CSV自动化处理

在办公场景中,Excel和CSV文件是常见的数据处理和分析工具。本文介绍了一些Excel和CSV自动化处理的魔法,帮助提高工作效率和准确性。使用Python的pandas库进行数据处理:pandas是一个功能强大的数据处理库,可以读取、写入和编辑Excel和CSV文件。它提供了丰富的功能,如数据筛选、排序、合并等。可以使用pandas来自动化处理文件中的数据,提取所需信息并进行分析。使用openpyxl库实现Excel自动化:openpyxl是一个用于处理Excel文件的Python库。

2024-04-04 22:58:20 730

原创 乐趣Python——文件与数据:挥别乱糟糟的桌面

想象一下,你的电脑是一个巨大的图书馆,而文件就是图书馆里的书籍。我们可以阅读书籍(读取文件),可以把新买的书放进图书馆(创建和写入文件),还可以把不喜欢的书扔掉(删除文件),甚至可以给书换一个位置(移动和重命名文件)。Python在这个图书馆里就像是一个无所不能的图书管理员,可以帮你做所有这些事情。文件是存储在计算机上的一组相关数据的集合。文件操作是对这些文件进行管理和处理的一系列操作。在Python中,我们可以使用内置的文件操作函数来进行文件操作。

2024-04-02 23:26:38 607

原创 乐趣Python——数据结构大战:列表、字典

在Python的世界里,字典是一种存储数据的方式,其中每个元素都由一个键(key)和一个值(value)组成。你可以通过键来快速找到对应的值,就像在地图上通过坐标找到宝藏一样。字典是一种无序的、可变的、以键值对形式存储数据的集合。每个键值对都是由一个键和对应的值组成。字典中的键必须是唯一的,而值可以重复。

2024-04-01 09:21:57 908

原创 乐趣Python——函数与模块:代码界的乐高积木

在Python中,函数是用来封装一段可执行的代码块,这样你就可以在程序的多个地方调用它,而不必重复写相同的代码。# 示例3:使用 dir() 获取自定义对象的属性和方法# 获取自定义对象的属性和方法列表上述示例中,我们通过dir()函数来获取不同对象的属性和方法列表。在示例3中,我们定义了一个自定义的Person类,并创建了一个person对象。然后使用来获取该自定义对象的属性和方法列表。注意,dir()函数返回的列表中包含了对象的所有属性和方法,包括内置的属性和方法。

2024-03-31 09:38:11 835

原创 乐趣Python——Python 基础:万丈高楼平地起

隐式类型转换是指Python在运行过程中自动将一种数据类型转换为另一种数据类型的过程,以满足运算的需要。

2024-03-30 22:35:50 832 1

原创 乐趣Python——遇见Python你的新朋友

想象一下,1989年的圣诞节,大雪纷飞,人们围坐在壁炉旁,而我们的主角Guido van Rossum却在思考如何打发时间。于是,他动手写了点东西,不是写信给圣诞老人,而是创造了Python。后来,他透露命名Python是因为他当时正在观看《蒙提·派森的飞行马戏团》,显然,这也说明了Python从诞生之初就注定充满乐趣和不拘一格。

2024-03-30 22:22:59 1546

原创 深入理解 Go 语言的 string 类型

在 Go 语言中,string 类型被定义为只读的字节序列。也就是说,string 类型的值是不可变的。这与许多其他语言(如 Python 或 Java)中的字符串行为是一致的。str[0] = 'h' // 这将产生编译错误在上述代码中,我们尝试修改 string 的第一个字符,但 Go 编译器会报错,因为 string 是不可变的。Go 语言中的 string 是一个复杂但强大的工具。理解 string 的内部工作原理可以帮助我们更好地使用它,并编写出更高效、更安全的代码。

2023-10-25 21:44:37 304

原创 深入理解 Go 语言的 map 结构

在 Go 语言中,map 是一种内建的数据类型,它可以存储无序的键值对,每一个键都是唯一的,每个键都对应一个值。map 的键和值都可以是任何类型的数据,包括基本类型(如:int,string)和复杂类型(如:结构,切片)等。Go 语言的 map 结构是一种非常强大且灵活的数据结构,它在我们的编程实践中起着极其重要的作用。

2023-10-25 21:41:57 119

原创 深入理解 Go 语言——动态数组Slice

Slice 又称动态数组,依托底层数组实现。在 Go 语言中,Slice 是一个引用类型,它比数组更加灵活,更适合处理序列数据。它不仅可以动态地改变自己的大小,还可以进行方便的切片操作。Slice 的定义非常简洁,只有三个字段:指针、长度和容量。a

2023-10-25 21:39:15 446

原创 深入理解 Go 语言——管道

在 Go 语言中,管道是一种特殊的类型,可以用来在不同的 Goroutine 之间传递数据。你可以把它想象成一条传送带或者一个管道,数据可以从一头进入,然后从另一头出来。注意:每一个管道只能存储一种类型的数据。var ch chan int // 声明管道ch := make(chan int) // 创建一个整数类型的管道管道是 Go 语言并发模型的核心组成部分,理解其实现原理对于深入理解 Go 语言是非常有帮助的。

2023-10-25 21:36:38 705

原创 GO千练——简单web

Martini 是 Go 生态中的一个 Web 框架,诞生于 2013 年比较早,Gin 是诞生于 2015 年的“后辈”Beego 用于在 Go 中快速开发企业应用程序,包括 RESTful API、Web 应用程序和后端服务。然后引出目前常见的 Go Web 框架,下面简单介绍 Gin、Echo、Beego 框架。它提供类似 Martini 的API ,但性能更佳,速度提升高达 40 倍。根据上面的代码,即可了解Go语言是如何实现 web 开发的。Gin 是一个使用 Go 语言开发的 Web 框架。

2023-10-25 21:34:03 32

原创 GO千练——并发

这使得 Go 程可以在没有显式的锁或竞态变量的情况下进行同步。接收者可以通过为接收表达式分配第二个参数来判断信道是否被关闭:若没有值可以接收且信道已被关闭,那么再执行完。select 会阻塞到某个分支可以继续执行为止,这时就会执行该分支。信道在使用前必须创建,然后我们可以通过它用信道操作符

2023-10-22 21:20:34 29

原创 GO千练——方法和接口

Go 语言提供了另外一种数据类型,即接口接口类型 是由一组方法签名定义的集合,它把所有的具有共性的方法定义在一起,任何其它类型只要实现了这些方法就是实现了这个接口。类型选择与一般的 switch 语句相似,不过类型选择中的 case 为类型(而非值), 它们针对给定接口值所存储的值的类型进行比较。但是我们只能为在同一包内定义的类型的接收者声明方法,而不能为其它包内定义的类型(包括 int 之类的内建类型)的接收者声明方法。如果参数为指针类型的话,则带指针参数的函数必须接受一个指针,无法接受一个值。

2023-10-22 21:18:35 51

原创 GO千练——指针、struct、数组、slice 和映射

Go 拥有指针,一个指针变量指向了一个值的内存地址。比如:类型 *T 是指向 T 类型值的指针。其零值为 nil。var p *int结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。简单来说,一个结构体(struct)就是一组字段(field)。比如保存图书馆的书籍记录,每本书有以下属性:Title :标题Author : 作者Subject:学科类型 []T 表示一个元素类型为 T 的切片。

2023-10-22 21:17:10 70

原创 GO千练——流程控制语句:for、if、else、switch 和 defer

条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。初始化语句:在第一次迭代前执行。初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的作用域中可见。同 for 一样, if 语句可以在条件表达式前执行一个简单的语句。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。它的特点是:推迟调用的函数其参数会立即求值,但直到外层函数返回前该函数都不会被调用。

2023-10-22 20:57:11 77

原创 GO千练——包、变量和函数

一切的开始,命运的齿轮开始转动。每个 Go 程序都是由包构成的,程序从 main 包开始运行。

2023-10-22 20:50:34 38

空空如也

空空如也

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

TA关注的人

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