好吧，希望你和我一样对此感到满意。
我确实发现这些可视化效果真的很酷。
把它弄大一点。
为什么不呢？
并关闭那个边车。
我们开始吧。
现在我们真正得到了它的全部荣耀。
所有不同的点都在那里。
我希望您已经花点时间真正深入研究这个数据可视化，但也许
我们还可以做一些更酷的事情。
您可能不会忘记，正如我之前提到的，我们人类能够走得更远一点
比二维。
我们可以以 3D 方式查看事物，如果我没有为您带来 3D 表示，我就无法完成我的工作
这也是如此。
t-SNE 只需传递多个组件（三个而不是两个）即可做到这一点。
呃，我们可以将 384 维空间投影到 3D，看看效果如何。
那么让我们来看看吧。
就在这里，它马上就出现了。
嘭！
我在那里向您展示，呃，我们的点是 3D 空间中显示的 400 个块。
我听到了。
你可能会说，哦，乍一看，这看起来有点乱。
呃，我更喜欢2D版本。
呃，但是等等，呃，你可以，首先，将鼠标悬停在这些点上以获取它们的描述
像这样看看它们在空间中的位置。
而且，你还可以像这样旋转整个空间，检查一下并获得真正的感觉
你。
真正更好地理解那些蓝色，虽然它们有点位于红色的中间，
他们在某种程度上属于自己的集群。
嗯，黄色也有自己的分布。
呃，你真的可以通过像这样放大来磨练。
检查一下，进来探索不同的点。
因此，尽管这些黄色看起来更接近红色，但它们看起来确实不一样
在它。
现在您可以看到它们的分布方式如何不同。
因此，即使 2D 比 3D 更容易查看，您也可以探索和研究
3D 的功能还有很多，我鼓励您享受其中的乐趣。
当然，正确使用它的方式是发现异常情况。
现货如何？
嗯，呃，不同的文档按照相似性进行分组。
深入挖掘并尝试发现错误，并为您提供有关如何使用不同编码器的线索。
但它也很有趣，并且它为拥有这些向量意味着什么提供了很好的直觉。
同样，您可以将其想象为我们将这些向量可视化为色度。
请始终记住，我们实际上正在可视化这些向量，因为它们已存储在色度中。
但矢量不是由色度创建的。
这些向量是由拥抱脸句子转换器模型或迷你 lm、l6 v2 创建的。
这就是将 400 个左右的块转变为 304 维空间中的这些点的原因。
现在我的下一个技巧。
呃，我想深入探讨这个想法，即编码器决定这些点的位置
在太空中。
还有什么比尝试不同的编码器更好的方法来说明这一点呢？
那么让我们回去尝试不同的编码器。
回到这里，我将注释掉我们设置嵌入模型的位置。
在这里，我们首先看一下来自 OpenAI 的文本嵌入三个小模型。
让我们看看这个。
让我们运行这个。
你记住的这段代码将删除我的数据库。
创建一个包含 413 个文档的新数据库。
再次放入相同的块。
让我们再运行一​​次。
请记住，您可以在这里看到我们之前有 384 个维度。
从拥抱脸模型我们现在有 1536 个维度。
因为我们使用不同的嵌入模型。
我们用的是付费的。
但 OpenAI 的价格非常非常便宜。
文本嵌入三个小。
全部。
好吧，让我们再回去想象一下。
我们将做前期工作来获取我们的文件。
现在我们到了。
因此，在运行此单元之前，让我们再看一下它之前的样子。
这是以前的样子。
我们现在将运行它并生成新向量的新可视化，因为它们来自
改为 OpenAI 小模型。
好的。
你准备好了吗？
请牢记这一点。
继续保留那张照片。
如果你有过目不忘的记忆力，希望它就在那里。
让我们再次运行一下，看看现在是什么样子。
好的。
它发生了。
我们就有了。
好的。
它看起来完全不同。
所以首先，它全部旋转的事实并不意味着什么。
请记住，实际的 x 和 y 坐标没有任何意义。
重要的是文档的分离程度。
看看 OpenAI 的模型做得有多好。
看看员工的证件都在这里了。
看看，呃，合同是怎么在这里的。
现在您可以看到，这些产品处于完全不同的位置。
呃，除了这里的一些文件。
如果你仔细研究一下，你会发现，这些部分是特别的
围绕产品的特点。
这与这里的文本非常相似，这是合同的一部分
与特征有关。
所以你会发现，当你使用像 OpenAI 这样的模型时，它真的非常好。
OpenAI 嵌入模型和关联含义。
在这里你会看到公司的东西都在这里。
在此条带中，您会看到这里有几条员工记录。
这些将是员工记录的一部分，似乎与有关该信息的信息相关。
公司。
呃，如果你深入研究，我希望你会发现这一点。
但是现在让我们返回并进行另一项更改并将其更改为大型模型，然后
看看看起来怎么样。
因此，我回到嵌入模型部分，我们将进行文本嵌入三个大的。
让我们运行这个。
现在我们希望将 413 个文档转换为更大的向量。
那么大多少呢。
我们来看看吧。
之前我们有 1536 个与每个向量相关的维度，现在我们有 3072 个维度，3072
向量存储中与 413 个块相关的维度。
好吧，是时候想象一下了。
记住它的样子。
这就是小版本的外观。
让我们看看大版本。
呃，就在这里。
好的。
呃，又是一步。
更好地再次看看，首先，像以前一样，员工在左边。
现在没关系。
除了这两部分之外，它们显然是非常独立的，嗯，你可以
看看这两个词中都有“确保”一词。
因此，这些是员工文件中似乎最能说明公司的两个片段：
一个整体。
现在您可以看到蓝色和红色之间的分离更加明显。
更智能的模型在理解之间的不同语义方面做得更好
这些块。
嗯，在这里你会发现这确实仍然是关于
似乎最属于合同的功能。
所以你可以看到这就是它这样做的原因。
再看看这里，它是产品的一部分。
这是合同中与产品有关的部分，这就是为什么它们无处不在
同一领土。
绝对令人着迷。
您可以看到大型模型做得更好。
所以我们真的看到了我们如何，我们已经在小拥抱脸模型之间迈出了一步，然后
OpenAI 的小版本，仍然很大，然后是 3072 尺寸的大版本
以及如何将数据如此分离。
值得指出的是，人们很容易认为大模型更好的原因
是因为它有更多的维度。
通常情况下，像更大的模型会产生向量嵌入
更高的维度，让它能够以更多的自由度来表达事物。
但情况并非总是如此。
但事实并非必须如此。
重要的是它是一个更先进的转换器，能够更好地捕捉文本的含义，
我认为，能够在更多维度上表达这一点，会赋予它更多的力量来做到这一点。
所以它们往往有一定的相关性。
但我们确实在大约 400 个维度之间移动，最初是拥抱脸模型的 384 个维度，现在是大约 1000 个维度
尺寸，1005到大约3000尺寸。
当我们研究这三个嵌入模型时，我知道，我确切地知道你在等我什么
去做。
你等着我制作 3D 情节。
我也在想。
让我们这样做然后进去吧。
还记得旧的 3D 情节吗？
这是旧款，带有抱脸模型。
有点乱。
现在让我们创建一个新的 3D 绘图。
我知道这就是你在等待的。
这里是。
嗯，你知道，它仍然有点混乱，因为这些 3D 绘图可能会很混乱。
但看看这个。
看看如果我操纵我们会发生什么。
看看这四个斑点是多么清晰地分开。
同样，合同和产品之间存在一些重叠。
这是因为这些类型的文档存在一些重叠。
合同中包含一些与产品相关的信息，如果您深入研究这些文档，您就会看到这一点。
但总的来说，这真是令人惊奇。
它真的让你这个、这个、这个很好地理解文档的含义，
将其转化为空间向量。
我希望您喜欢它，并且我鼓励您更多地探索这一点。
现在继续解决这个问题。
查看有靠近的点的不同点。
让自己确信这些块的内容是相似的，并很好地了解它是什么
模型需要将一些数据放置在向量空间中的某个位置。
这就是这个伟大日子的总结。
我希望您同意我的介绍是真实的。
今天很有趣。
这些矢量可视化，这就是它的全部内容。
呃，我非常鼓励你现在尝试不同的编码器。
去吧，去尝试一些不同的嵌入模型。
你可以查找它们，你可以做不同的开源的。
或者，如果您有 Gemini 帐户，您也可以尝试像 Gemini 那样操作。
对它们进行实验，然后查看可视化效果。
使用编码器模型非常有趣，并且可以获得良好的感觉，良好的直觉
它们如何以不同的方式表示信息。
无论如何，回顾一下，此时您可以使用前沿模型、助手生成文本和代码
和工具、开源模型、拥抱变形金刚。
您可以使用基准排行榜为您的项目选择正确的模型。
您可以解释 Rag 如何使用矢量嵌入和矢量数据存储将文本转换为文档，
成块，将块转换成向量，将向量放入数据存储中，向量就像
索引到数据中。
我们使用了开源数据库 chroma，它可能是您现在使用的第一个矢量数据库
已在您的计算机上运行。
极好的。
下次，下次我们真正构建Rag管道时，我们使用Lang Chain来构建Rag管道。
超级简单。
我们像一个基于破布的专家问答者一样提供服务，您将能够做到，我们将创建类似
一个基于 Gradio 的聊天机器人应用程序，不仅会显示问题的答案，而且还能够
显示它使用的文档。
这是帮助它回答问题的参考。
我们的 Rag 管道呈现了相关的背景。
我们将在明天完成所有这些工作。
此时，您已完成 55% 成为 LLM 工程师的任务。
明天见。