使用Langchain、Weviate和Streamlit构建自定义的基于AI的聊天机器人
使用Langchain、Weviate和Streamlit构建自定义AI聊天机器人
<h2 id="使用生成式AI、流行的向量数据库、提示链接和UI工具构建定制聊天机器人的综合指南
随着多个组织纷纷竞相构建定制化语言模型(LLMs),一个常见的问题是:有哪些工具可以简化这个过程?
在本文中,我将向您展示如何构建一个完全功能的应用程序,通过在文档之上构建聊天机器人来进行对话。这个应用程序利用ChatGPT/GPT-4(或其他大型语言模型)的强大能力,从嵌入在向量数据库中的文档数据中提取信息,并使用Langchain进行提示链接。以下是一个预览:

那么,让我们开始吧!
构建应用程序🏗️
首先,创建一个名为`app`的新文件夹,其中包含应用程序的源代码。这将作为Streamlit应用程序的入口点。然后创建执行不同任务的文件夹,例如从PDF中提取文本、创建文本嵌入、存储嵌入,最后进行聊天。`app`目录的结构如下:
PDF上传
上传PDF并提取文本以进行进一步处理。
from PyPDF2 import PdfReaderimport streamlit as [email protected]_data()def extract_text(_file): """ :param file: 要提取的PDF文件 """ content = "" reader = PdfReader(_file) number_of_pages = len(reader.pages) # 从多个页面中提取文本 for i in range(number_of_pages): page = reader.pages[i] text = page.extract_text() content = content + text return content
代码链接:
https://github.com/LLM-Projects/docs-qa-bot/blob/main/app/extract.py