小智头像图片
AI教程 2025年01月17日
0 收藏 0 点赞 546 浏览 499 个字
摘要 :

面向开发者的LLM入门教程-向量数据库与词向量(3): Vectorstores 1.初始化Chroma Langchain集成了超过30个不同的向量存储库。我们选择Chroma是因为它轻量级且数据存储在……

哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门教程-向量数据库与词向量(3)”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。

面向开发者的LLM入门教程-向量数据库与词向量(3)

面向开发者的LLM入门教程-向量数据库与词向量(3):

Vectorstores

1.初始化Chroma

Langchain集成了超过30个不同的向量存储库。我们选择Chroma是因为它轻量级且数据存储在内存中,这使得它非常容易启动和开始使用。

首先我们指定一个持久化路径:

from langchain.vectorstores import Chroma
persist_directory_chinese = ‘docs/chroma/matplotlib/’

如果该路径存在旧的数据库文件,可以通过以下命令删除:

!rm -rf ‘./docs/chroma/matplotlib’ # 删除旧的数据库文件(如果文件夹中有文件的话)

接着从已加载的文档中创建一个向量数据库:

vectordb_chinese = Chroma.from_documents(
documents=splits,
embedding=embedding,
persist_directory=persist_directory_chinese # 允许我们将persist_directory目录保
存到磁盘上
)

100%|██████████| 1/1 [00:01<00:00, 1.64s/it]

可以看到数据库长度也是30,这与我们之前的切分数量是一样的。现在让我们开始使用它。

print(vectordb_chinese._collection.count())

27

2.相似性搜索(Similarity Search)

首先我们定义一个需要检索答案的问题:

question_chinese = “Matplotlib是什么?”

接着调用已加载的向量数据库根据相似性检索答案:

docs_chinese = vectordb_chinese.similarity_search(question_chinese,k=3)

查看检索答案数量:

len(docs_chinese)

3

打印其 page_content 属性可以看到检索答案的文本:

print(docs_chinese[0].page_content)

第⼀回:Matplotlib 初相识
⼀、认识matplotlib
Matplotlib 是⼀个 Python 2D 绘图库,能够以多种硬拷⻉格式和跨平台的交互式环境⽣成出版物质量的
图形,⽤来绘制各种静态,动态,
交互式的图表。
Matplotlib 可⽤于 Python 脚本, Python 和 IPython Shell 、 Jupyter notebook , Web
应⽤程序服务器和各种图形⽤户界⾯⼯具包等。
Matplotlib 是 Python 数据可视化库中的泰⽃,它已经成为 python 中公认的数据可视化⼯具,我们所
熟知的 pandas 和 seaborn 的绘图接⼝
其实也是基于 matplotlib 所作的⾼级封装。
为了对matplotlib 有更好的理解,让我们从⼀些最基本的概念开始认识它,再逐渐过渡到⼀些⾼级技巧中。
⼆、⼀个最简单的绘图例⼦
Matplotlib 的图像是画在 figure (如 windows , jupyter 窗体)上的,每⼀个 figure ⼜包含
了⼀个或多个 axes (⼀个可以指定坐标系的⼦区
域)。最简单的创建 figure 以及 axes 的⽅式是通过 pyplot.subplots命令,创建 axes 以后,可以
使⽤ Axes.plot绘制最简易的折线图。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
fig, ax = plt.subplots() # 创建⼀个包含⼀个 axes 的 figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]); # 绘制图像
Trick: 在jupyter notebook 中使⽤ matplotlib 时会发现,代码运⾏后⾃动打印出类似

这样⼀段话,这是因为 matplotlib 的绘图代码默认打印出最后⼀个对象。如果不想显示这句话,有以下三
种⽅法,在本章节的代码示例
中你能找到这三种⽅法的使⽤。
•. 在代码块最后加⼀个分号 ;
•. 在代码块最后加⼀句 plt.show()
•. 在绘图时将绘图对象显式赋值给⼀个变量,如将 plt.plot([1, 2, 3, 4]) 改成 line
=plt.plot([1, 2, 3, 4])
和MATLAB 命令类似,你还可以通过⼀种更简单的⽅式绘制图像, matplotlib.pyplot⽅法能够直接在当
前 axes 上绘制图像,如果⽤户
未指定axes , matplotlib 会帮你⾃动创建⼀个。所以上⾯的例⼦也可以简化为以下这⼀⾏代码。
line =plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
三、Figure 的组成
现在我们来深⼊看⼀下 figure 的组成。通过⼀张 figure 解剖图,我们可以看到⼀个完整的
matplotlib 图像通常会包括以下四个层级,这些
层级也被称为容器( container ),下⼀节会详细介绍。在 matplotlib 的世界中,我们将通过各种命令
⽅法来操纵图像中的每⼀个部分,
从⽽达到数据可视化的最终效果,⼀副完整的图像实际上是各类⼦元素的集合。
Figure:顶层级,⽤来容纳所有绘图元素

在此之后,我们要确保通过运行vectordb.persist来持久化向量数据库,以便我们在未来的课程中使用。

vectordb_chinese.persist()

面向开发者的LLM入门教程-向量数据库与词向量(4)
面向开发者的LLM入门教程-向量数据库与词向量(4):失败的情况(Failure modes) 这看起来很好,基本的相似性搜索很容易就能让你完成80%...

嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门教程-向量数据库与词向量(3)”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!

微信打赏二维码 微信扫一扫

支付宝打赏二维码 支付宝扫一扫

版权: 转载请注明出处:https://www.ai-blog.cn/2801.html

相关推荐
05-18

如何正确使用deepseek?99%的人都错了: 这两天Deepseek爆火全球,会用的人说巨好用,但是也有很多…

小智头像图片
54

AI绘画-即梦3.0提示词示例之竞速游戏​​图​: 竞速游戏​ 示例:​ ​ ​ ​ 赛车实时数据界面,半透明玻…

小智头像图片
146

AI绘画-即梦3.0提示词示例之休闲手游​图​: 休闲手游​ 示例:​ ​ ​ ​ 治愈系农场经营界面,低多边…

小智头像图片
546

AI绘画-即梦3.0提示词示例之游戏界面图​: 科幻RPG主菜单界面​ 示例:​ ​ ​ ​科幻RPG主菜单界面:…

小智头像图片
546

AI绘画-即梦3.0提示词示例之励志语录​: 励志语录​ 公式:[励志] + [风格标签] + [核心中文语录] +…

小智头像图片
546

AI绘画-即梦3.0提示词示例之电影海报​: 电影海报​ 公式:电影海报+ [电影类型] + [海报元素] + […

小智头像图片
546

AI绘画-即梦3.0提示词示例之人物情绪疲惫​​​​图: 疲惫​ ​ ​ ​ 提示词:​ 电影感,纪实摄影,大特…

小智头像图片
546

DeepSeek小白使用指南,99%的人都不知道的使用技巧: 传送门: 1、https://chat.deepseek.com/ 2、…

小智头像图片
546
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力原创内容

快速提升站内名气成为大牛

扫描二维码

手机访问本站

二维码
vip弹窗图片