ChatPDF-GPT는 언어 모델로 구동되는 응용 프로그램을 개발하기위한 혁신적인 도구 인 Langchain Framework의 힘을 활용하는 혁신적인 프로젝트입니다. 이 고유 한 응용 프로그램은 Langchain을 사용하여 OpenAI의 언어 모델의 기능에 의해 구동되는 PDF 문서와 통신하는 채팅 인터페이스를 제공합니다.
이 프로젝트에서 언어 모델은 다른 데이터 소스에 연결되어 환경과의 상호 작용을 허용하여 Langchain 프레임 워크의 원칙을 구현합니다. 사용자는 PDF 문서를 업로드 한 다음 Pinecone, 벡터 데이터베이스 및 Supabase Storage로 처리 및 저장됩니다. 그런 다음 사용자는 업로드 된 PDF와 채팅 할 수 있으며 AI는 문서의 내용을 사용하여 의미있는 대화에 참여할 수 있습니다.
이 프로젝트는 강력한 풀 스택 웹 애플리케이션을 생성하기위한 주요 선택 인 Next.js 프레임 워크에 의존합니다. UI 구성 요소는 Radix UI 라이브러리를 사용하여 아름답게 제작되었으며 Shadcn/UI가 제공하는 우아한 템플릿을 기반으로 Tailwind 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 파일을 작성하고 .env.example 파일에 표시된대로 자격 증명 (OpenAi, Pinecone, Supabase)을 작성하십시오.
Prisma를 사용하여 데이터베이스 스키마를 만듭니다. Prisma 생성 명령 prisma generate 실행하도록해야합니다.
npx prisma migrate dev --name init
서버 시작 :
npm run dev
ChatPDF-GPT는 오픈 소스 프로젝트이며 모든 사람의 기여를 따뜻하게 환영합니다. 시작 방법에 대한 자세한 내용은 기고 가이드를 참조하십시오.
이 프로젝트는 거인의 어깨에 서 있습니다. 오픈 소스 커뮤니티가 생산 한 방대한 라이브러리, 프레임 워크 및 도구가 없으면 우리의 작업은 불가능할 것입니다. 구체적으로, 우리는 다음에 대한 감사를 표명하고 싶습니다.
Langchain 팀은 언어 모델로 구동되는 응용 프로그램을위한 획기적인 프레임 워크를위한 팀입니다.
최첨단 언어 모델을위한 Openai는 채팅 기능을 가능하게합니다.
우리가 안전하고 성능있는 백엔드를 구축하는 데 사용한 오픈 소스 파이어베이스 대안을위한 supabase.
벡터 임베딩의 쉽고 효율적인 저장 및 검색을 허용하는 벡터 데이터베이스의 PENECONE.
Next.js와 Vercel은 포괄적 인 프레임 워크를 위해이 풀 스택 웹 애플리케이션을 쉽게 구축 할 수있었습니다.
우리가 구축 한 우아한 UI 구성 요소를위한 Shadcn은 아름답고 사용자 친화적 인 인터페이스를 만들었습니다.
Radix UI는 UI의 백본을 형성하는 강력하고 액세스 가능하며 사용자 정의 가능한 구성 요소 라이브러리를위한 Radix UI.
@react-pdf-viewer 강력한 React 구성 요소는 사용자가 상호 작용하는 실제 PDF 문서를 미리 볼 수 있습니다.
그리고 나열된 다른 모든 의존성은이 프로젝트의 실현에 기여했습니다. 우리의 기여는 그들의 집단적 노력과 비교할 때 적당합니다.
ChatPDF-GPT는 MIT 라이센스에 따라 오픈 소스 소프트웨어입니다.