详细内容或原文请订阅后点击阅览
Hitchhiker的抹布指南:从微小的文件到Openai的API和Langchain
将简单的RAG管道从简单的笔记缩放到完整的书籍《邮政杂乱的抹布指南:从微小的文件到托尔斯泰》,其中openai的API和Langchain首先出现在数据科学上。
来源:走向数据科学,我通过使用OpenAI的API,Langchain和您的本地文件在Python设置了非常简单的RAG管道。在那篇文章中,我涵盖了使用Langchain从本地文件中创建嵌入的基础知识,将它们存储在带有FAISS的矢量数据库中,对OpenAI的API进行API调用,并最终生成与文件相关的响应。 🌟
我通过在Python中设置非常简单的抹布管道尽管如此,在这个简单的示例中,我只演示了如何使用tiny .txt文件。在这篇文章中,我进一步详细介绍了如何通过在该过程中添加额外的步骤(分块)来利用较大的文件。
块块呢?
块是指将文本解析为较小的文本(chunks)的过程,然后将文本转换为嵌入。这很重要,因为它允许我们有效地处理并为较大文件创建嵌入。所有嵌入模型都对传递的文本大小都有各种限制 - 我将在稍后详细介绍有关这些限制的更多详细信息。这些局限性允许更好的性能和低延迟响应。如果我们提供的文本不符合这些尺寸限制,则将被截断或拒绝。
如果我们想创建一条抹布管道阅读,例如狮子座的战争与和平文字(一本很大的书),我们将无法将其直接加载并将其转换为单个嵌入。取而代之的是,我们需要首先进行大块 - 创建较小的文本,并为每个文本创建嵌入。我们使用的任何嵌入模型的尺寸限制的每个块使我们能够有效地将任何文件转换为嵌入。因此,抹布管道的一个更现实的景观看起来如下:
战争与和平 更多 块大小例如,假设我们想从战争与和平中处理以下句子,安德鲁王子在那儿考虑战斗:
••••
块大小OpenAi