Aplikasi ini memfasilitasi chatbot dengan memanfaatkan Next.js sebagai frontend dan FastAPI sebagai backend, memanfaatkan kekuatan LangChain untuk interaksi web dinamis.
Aplikasi ini mengintegrasikan server Python/FastAPI ke dalam aplikasi Next.js di bawah rute /api/
. Hal ini dicapai melalui penulisan ulang next.config.js
, mengarahkan permintaan /api/:path*
ke server FastAPI yang terletak di folder /api
. Secara lokal, FastAPI berjalan pada 127.0.0.1:8000
, sementara dalam produksi, FastAPI beroperasi sebagai fungsi tanpa server di Vercel.
npm install
.env
dengan kunci API OpenAI Anda: OPENAI_API_KEY=[your-openai-api-key]
npm run dev
Untuk pengujian khusus backend:
conda create --name nextjs-fastapi-your-chat python=3.10
conda activate nextjs-fastapi-your-chat
pip install -r requirements.txt
uvicorn api.index:app --reload
Opsi untuk menyimpan riwayat obrolan meliputi:
RAG (Retrieval Augmented Generation) menyempurnakan model bahasa dengan konteks yang diambil dari basis pengetahuan khusus. Prosesnya melibatkan pengambilan dokumen HTML, membaginya menjadi beberapa bagian, dan memvektorisasi bagian tersebut menggunakan model penyematan seperti OpenAI. Data yang divektorkan ini membentuk penyimpanan vektor, memungkinkan pencarian semantik berdasarkan permintaan pengguna. Potongan relevan yang diambil kemudian digunakan sebagai konteks untuk model bahasa, membentuk respons komprehensif terhadap pertanyaan pengguna.
Fungsi get_vectorstore_from_url
mengekstrak dan memproses teks dari URL tertentu, sementara get_context_retriever_chain
membentuk rantai yang mengambil konteks yang relevan dengan seluruh riwayat percakapan. Pendekatan saluran ini memastikan bahwa respons yang diberikan bersifat kontekstual dan akurat.