CHATPDF-GPT是一个创新的项目,可利用Langchain Framework的力量,Langchain Framework是一种用于开发由语言模型驱动的应用程序的变革工具。这个独特的应用程序使用Langchain提供与OpenAI语言模型功能驱动的PDF文档通信的聊天界面。
在该项目中,语言模型连接到其他数据源,并允许与其环境进行交互,从而体现了Langchain框架的原理。用户可以上传PDF文档,然后将其处理并保存在Pinecone,矢量数据库和Supabase存储中。然后,用户可以与已上传的PDF聊天,AI利用文档的内容进行有意义的对话。
该项目依赖于Next.js框架,这是创建强大的全栈Web应用程序的领先选择。 UI组件是使用Radix UI库精美制作的,并根据ShadCN/UI提供的优雅模板设计了尾风CSS。
CHATPDF-GPT配备了示例,这些示例说明了各种操作,例如:
要使用演示测试该项目的功能,您将需要为OpenAI,Supabase和Pinecone提供自己的凭据。对于Supabase,您可以遵循下面提供的分步指南,以设置并检索必要的凭据。对于获得OpenAI和Pinecone的凭证,请咨询相应的文档作为分步指南,可能无法提供。始终确保您遵循相应服务提供的最新说明。
Openai
在Supabase中创建一个新项目:
检索数据库连接URL :
此连接字符串将用于您的应用程序中的DATABASE_URL环境变量。
此URL将用于应用程序中的DIRECT_URL环境变量。
SUPABASE_URL和SUPABASE_KEY 。复制这些值。 SUPABASE_URL是您项目的URL,而SUPABASE_KEY是您项目的公共匿名密钥。
设置supabase桶:
SUPABASE_BUCKET 。在您的应用程序中设置环境变量:
DATABASE_URLDIRECT_URLSUPABASE_KEYSUPABASE_URLSUPABASE_BUCKET这些密钥将允许您的应用程序与Supabase服务进行交互。
请注意,虽然可以设定使您的储物桶公开访问的策略,但您应该谨慎执行此操作。使您的水桶公开访问意味着任何具有对象URL的人都可以访问它。这对于测试可能很有用,但是对于生产应用程序,您应该考虑更多的限制性政策以确保数据的安全性。始终咨询Supabase文档或安全专家,以了解不同政策的含义。
这样,您应该能够根据您的要求为您的项目设置Supabase并管理存储策略。
松果
要在本地计算机上设置并运行CHATPDF-GPT,请按照以下步骤操作:
克隆项目存储库:
git clone https://github.com/anis-marrouchi/chatpdf-gpt.git
导航到项目目录并使用PNPM安装依赖项:
cd chatpdf-gpt
pnpm install
如.env.example文件中所示,在根目录中创建一个.env文件,然后填写您的凭据(OpenAI,Pinecone,supabase)。
使用Prisma创建数据库模式。您必须让您运行Prisma生成命令prisma generate
npx prisma migrate dev --name init
启动服务器:
npm run dev
CHATPDF-GPT是一个开源项目,我们非常欢迎所有人的捐款。请阅读我们的贡献指南,了解有关如何入门的更多详细信息。
该项目站在巨人的肩膀上。如果没有开源社区生产的各种图书馆,框架和工具,我们的工作将是不可能的。具体来说,我们要对:
Langchain团队为由语言模型提供动力的应用程序开创性框架。
Openai用于其最先进的语言模型,这使聊天功能成为可能。
Supabase的开源燃料替代方案,我们用来构建安全且性能的后端。
Pinecone的矢量数据库,可轻松有效地存储和检索向量嵌入。
Next.js和Vercel的全面框架,使我们可以轻松地构建此全堆栈Web应用程序。
ShadCn为它们的优雅UI组件,我们建立了一个精美且用户友好的界面。
RADIX UI用于其强大,可访问且可自定义的组件库,构成了我们UI的骨干。
@react-pdf-viewer适用于其功能强大的React组件,该组件使用户可以预览他们正在与之交互的实际PDF文档。
以及所有其他依赖项,既列出又未列出,这促进了该项目的实现。与他们的集体努力相比,我们的贡献是适度的。
CHATPDF-GPT是根据MIT许可证许可的开源软件。