ChatPDF-GPT adalah proyek inovatif yang memanfaatkan kekuatan kerangka kerja Langchain, alat transformatif untuk mengembangkan aplikasi yang didukung oleh model bahasa. Aplikasi unik ini menggunakan Langchain untuk menawarkan antarmuka obrolan yang berkomunikasi dengan dokumen PDF, didorong oleh kemampuan model bahasa Openai.
Dalam proyek ini, model bahasa terhubung ke sumber data lain dan memungkinkan interaksi dengan lingkungannya, sehingga mewujudkan prinsip -prinsip kerangka kerja Langchain. Pengguna dapat mengunggah dokumen PDF, yang kemudian diproses dan disimpan di Pinecone, database vektor, dan penyimpanan Supabase. Pengguna kemudian dapat mengobrol dengan PDF yang diunggah, dengan AI menggunakan konten dokumen untuk terlibat dalam percakapan yang bermakna.
Proyek ini bergantung pada Framework Next.js, pilihan utama untuk membuat aplikasi web full-stack yang kuat. Komponen UI dibuat dengan indah menggunakan perpustakaan Radix UI dan ditata dengan CSS tailwind, berdasarkan templat elegan yang disediakan oleh Shadcn/UI.
ChatPDF-GPT dilengkapi dengan contoh-contoh yang menggambarkan berbagai operasi seperti:
Untuk menguji fungsionalitas proyek ini menggunakan demo, Anda perlu memberikan kredensial Anda sendiri untuk OpenAI, Supabase, dan Pinecone. Untuk Supabase, Anda dapat mengikuti panduan langkah demi langkah yang disediakan di bawah ini untuk mengatur dan mengambil kredensial yang diperlukan. Untuk memperoleh kredensial untuk Openai dan Pinecone, silakan berkonsultasi dengan dokumentasi yang sesuai sebagai panduan langkah demi langkah mungkin tidak tersedia. Selalu pastikan Anda mengikuti instruksi terbaru yang disediakan oleh Layanan masing -masing.
Openai
Membuat proyek baru di Supabase :
Mengambil URL Koneksi Basis Data :
String koneksi ini akan digunakan untuk variabel lingkungan DATABASE_URL di aplikasi Anda.
URL ini akan digunakan untuk variabel lingkungan DIRECT_URL di aplikasi Anda.
SUPABASE_URL dan SUPABASE_KEY Anda. Salin nilai -nilai ini. SUPABASE_URL adalah URL untuk proyek Anda, sedangkan SUPABASE_KEY adalah kunci anonim publik untuk proyek Anda.
Menyiapkan Supabase Bucket :
SUPABASE_BUCKET di aplikasi Anda.Menyiapkan variabel lingkungan dalam aplikasi Anda :
DATABASE_URLDIRECT_URLSUPABASE_KEYSUPABASE_URLSUPABASE_BUCKETKunci -kunci ini akan memungkinkan aplikasi Anda untuk berinteraksi dengan layanan Supabase.
Harap dicatat bahwa walaupun mungkin untuk menetapkan kebijakan yang membuat ember penyimpanan Anda dapat diakses secara publik, Anda harus melakukan ini dengan hati -hati. Membuat ember Anda dapat diakses secara publik berarti bahwa siapa pun yang memiliki URL ke suatu objek dapat mengaksesnya. Ini mungkin berguna untuk pengujian, tetapi untuk aplikasi produksi, Anda harus mempertimbangkan kebijakan yang lebih ketat untuk memastikan keamanan data Anda. Selalu berkonsultasi dengan dokumentasi Supabase atau pakar keamanan untuk memahami implikasi dari berbagai kebijakan.
Dengan ini, Anda harus dapat mengatur Supabase untuk proyek Anda dan mengelola kebijakan penyimpanan sesuai kebutuhan Anda.
Pinecone
Untuk mengatur dan menjalankan ChatPDF-GPT di mesin lokal Anda, ikuti langkah-langkah di bawah ini:
Klon Repositori Proyek:
git clone https://github.com/anis-marrouchi/chatpdf-gpt.git
Navigasi ke direktori proyek dan instal dependensi menggunakan PNPM:
cd chatpdf-gpt
pnpm install
Buat file .env di direktori root dan isi kredensial Anda (OpenAi, Pinecone, Supabase) seperti yang ditunjukkan dalam file .env.example .
Buat skema basis data menggunakan prisma. Anda harus membuat Anda telah menjalankan prisma menghasilkan komando prisma generate
npx prisma migrate dev --name init
Mulai server:
npm run dev
ChatPDF-GPT adalah proyek open-source dan kami sangat menyambut kontribusi dari semua orang. Harap baca panduan berkontribusi kami untuk detail lebih lanjut tentang cara memulai.
Proyek ini berdiri di pundak raksasa. Pekerjaan kami tidak akan mungkin terjadi tanpa sejumlah besar perpustakaan, kerangka kerja, dan alat yang telah diproduksi oleh komunitas open source. Secara khusus, kami ingin menyampaikan penghargaan kami kepada:
Tim Langchain untuk kerangka kerja inovatif mereka untuk aplikasi yang ditenagai oleh model bahasa.
Openai untuk model bahasa canggih mereka, yang memungkinkan fungsi obrolan.
Supabase untuk alternatif firebase sumber terbuka mereka yang kami gunakan untuk membangun backend yang aman dan berkinerja.
Pinecone untuk basis data vektor mereka yang memungkinkan penyimpanan dan pengambilan embeddings vektor yang mudah dan efisien.
Next.js dan Vercel untuk kerangka kerja komprehensif mereka yang memungkinkan kami membangun aplikasi web full-stack ini dengan mudah.
Shadcn untuk komponen UI elegan yang kami bangun untuk menciptakan antarmuka yang indah dan ramah pengguna.
Radix UI untuk pustaka komponen yang kuat, dapat diakses, dan dapat disesuaikan yang membentuk tulang punggung UI kami.
@react-pdf-viewer untuk komponen reaksi kuat mereka, yang memungkinkan pengguna melihat pratinjau dokumen PDF aktual yang mereka berinteraksi dengan.
Dan semua dependensi lainnya, baik terdaftar maupun tidak terdaftar, yang berkontribusi pada realisasi proyek ini. Kontribusi kami sederhana dibandingkan dengan upaya kolektif mereka.
ChatPDF-GPT adalah perangkat lunak open-source yang dilisensikan di bawah lisensi MIT.