ChatPDF-GPT es un proyecto innovador que aprovecha el poder del marco Langchain, una herramienta transformadora para desarrollar aplicaciones alimentadas por modelos de idiomas. Esta aplicación única utiliza Langchain para ofrecer una interfaz de chat que se comunique con los documentos PDF, impulsados por las capacidades de los modelos de idiomas de OpenAI.
En este proyecto, el modelo de lenguaje está conectado a otras fuentes de datos y permite la interacción con su entorno, lo que incorpora los principios del marco Langchain. Los usuarios pueden cargar un documento PDF, que luego se procesa y guarda en Pinecone, una base de datos vectorial y almacenamiento de Supabase. Luego, los usuarios pueden chatear con el PDF cargado, con la IA utilizando el contenido del documento para participar en una conversación significativa.
El proyecto se basa en el marco Next.js, una opción líder para crear aplicaciones web robustas y completas. Los componentes de la interfaz de usuario están bellamente diseñados utilizando la biblioteca Radix UI y están diseñados con CSS de viento de cola, basada en la elegante plantilla proporcionada por Shadcn/UI.
ChatPDF-GPT está equipado con ejemplos que ilustran varias operaciones como:
Para probar la funcionalidad de este proyecto utilizando la demostración, deberá proporcionar sus propias credenciales para OpenAI, Supabase y Pinecone. Para Supabase, puede seguir la guía paso a paso que se proporciona a continuación para configurar y recuperar las credenciales necesarias. Para adquirir credenciales para OpenAI y Pinecone, consulte la documentación correspondiente como una guía paso a paso puede no estar disponible. Siempre asegúrese de seguir las últimas instrucciones proporcionadas por los servicios respectivos.
Opadai
Creación de un nuevo proyecto en Supabase :
Recuperación de la URL de conexión de la base de datos :
Esta cadena de conexión se utilizará para la variable de entorno DATABASE_URL en su aplicación.
Esta URL se utilizará para la variable de entorno DIRECT_URL en su aplicación.
SUPABASE_URL y SUPABASE_KEY . Copiar estos valores. El SUPABASE_URL es la URL para su proyecto, mientras que SUPABASE_KEY es la clave anónima pública para su proyecto.
Configuración del cubo de Supabase :
SUPABASE_BUCKET en su aplicación.Configuración de variables de entorno en su aplicación :
DATABASE_URLDIRECT_URLSUPABASE_KEYSUPABASE_URLSUPABASE_BUCKETEstas claves permitirán que su aplicación interactúe con los servicios de Supabase.
Tenga en cuenta que si bien es posible establecer una política que haga que su cubo de almacenamiento sea accesible públicamente, debe hacerlo con precaución. Hacer su cubo de acceso público significa que cualquier persona con URL a un objeto puede acceder a él. Esto puede ser útil para las pruebas, pero para las aplicaciones de producción, debe considerar políticas más restrictivas para garantizar la seguridad de sus datos. Siempre consulte la documentación de Supabase o un experto en seguridad para comprender las implicaciones de diferentes políticas.
Con esto, debería poder configurar Supabase para su proyecto y administrar las políticas de almacenamiento según sus requisitos.
Piña
Para configurar y ejecutar chatpdf-gpt en su máquina local, siga los pasos a continuación:
Clon el repositorio del proyecto:
git clone https://github.com/anis-marrouchi/chatpdf-gpt.git
Navegue al directorio del proyecto e instale las dependencias utilizando PNPM:
cd chatpdf-gpt
pnpm install
Cree un archivo .env en el directorio raíz y complete sus credenciales (OpenAI, Pinecone, Supabase) como se indica en el archivo .env.example .
Cree el esquema de la base de datos usando prisma. Debes hacer que haya ejecutado el prisma generar comando prisma generate
npx prisma migrate dev --name init
Inicie el servidor:
npm run dev
ChatPDF-GPT es un proyecto de código abierto y damos la bienvenida a las contribuciones de todos. Lea nuestra guía de contribución para obtener más detalles sobre cómo comenzar.
Este proyecto se encuentra en los hombros de los gigantes. Nuestro trabajo no sería posible sin la amplia gama de bibliotecas, marcos y herramientas que la comunidad de código abierto ha producido. Específicamente, nos gustaría expresar nuestro agradecimiento a:
El equipo de Langchain por su marco innovador para aplicaciones alimentadas por modelos de idiomas.
OpenAi para sus modelos de idiomas de última generación, que hacen posible la funcionalidad de chat.
Supabase por su alternativa de base de fuego de código abierto que utilizamos para construir backends seguros y performadores.
Pinecone para su base de datos vectorial que permite un almacenamiento y recuperación fácil y eficiente de las integridades vectoriales.
Next.js y Vercel por su marco integral que nos permitió construir esta aplicación web de pila completa con facilidad.
Shadcn para sus elegantes componentes de la interfaz de usuario en los que construimos para crear una interfaz hermosa y fácil de usar.
Radix UI para su biblioteca de componentes robusta, accesible y personalizable que forma la columna vertebral de nuestra interfaz de usuario.
@React-PDF-Viewer para su poderoso componente React, que permite a los usuarios obtener una vista previa del documento PDF real con el que están interactuando.
Y todas las otras dependencias, tanto enumeradas como en la lista, que contribuyeron a la realización de este proyecto. Nuestra contribución es modesta en comparación con su esfuerzo colectivo.
ChatPDF-GPT es un software de código abierto con licencia bajo la licencia MIT.