介绍 自然语言处理领域正在迅速扩张,特别是随着大型语言模型的诞生,它们彻底改变了这个领域并使其对每个人都可访问。在本文中,我们将探索并实现一些NLP技术,创建一个功能强大的聊天助手,可以根据给定的文章(或PDF)使用开源库回答您的问题,而无需OpenAI API密钥。 本文作为数据科学博文马拉松的一部分发表。 工作流程 应用程序的工作流程如下所示: 用户提供一个PDF文件或文章的URL,提出一个问题,应用程序将根据提供的来源尝试回答问题。 我们将使用PYPDF2库(对于PDF文件)或BeautifulSoup库(对于文章URL)提取内容。然后,我们将使用langchain库的CharacterTextSplitter将其分成块。 对于每个块,我们使用all-MiniLM-L6-v2模型计算其对应的词嵌入向量,将句子和段落映射到384维的稠密向量空间(词嵌入只是将单词/句子表示为向量的技术),并且相同的技术应用于用户的问题。 这些向量作为输入传递给由<sentence_transformers 提供的语义搜索函数,该函数是用于最先进的句子、文本和图像嵌入的Python框架。</sentence_transformers 该函数将返回可能包含答案的文本块,然后问答模型将基于语义搜索和用户问题的输出生成最终答案。 注意 所有提到的模型都可以通过API访问,只需使用HTTP请求即可。 代码将使用Python编写。 FAQ-QN是一个关键词,表示您应该查看常见问题解答部分,特别是第N个问题,以获取更多详情。 实现 在本节中,我将只关注实现部分,详细信息将在常见问题解答部分提供。 依赖项 我们首先下载依赖项,然后导入它们。 pip install -r requirements.txt import torch…
Leave a Comment