myChat adalah proyek sumber terbuka yang meniru ChatGPT. Ini menyediakan antarmuka yang ramah pengguna untuk berinteraksi dengan LLM mirip GPT melalui OpenAI API. Proyek ini TIDAK berafiliasi langsung dengan OpenAI dengan cara apa pun.
Kami menggunakan MongoDB untuk menyimpan informasi pengguna dan data sesi. Anda dapat menyiapkan instans MongoDB dengan beberapa cara:
Setelah Anda menjalankan instance MongoDB, Anda harus mendapatkan string koneksi. Jika Anda menggunakan MongoDB Atlas, Anda dapat menemukan string koneksi di pengaturan koneksi klaster Anda.
Tambahkan string koneksi MongoDB ke file .env.local
Anda seperti:
Kami menggunakan Redis untuk membatasi tarif di rute API kami. Anda dapat menyiapkan instance Redis dengan beberapa cara, termasuk:
Setelah Anda menjalankan instance Redis, Anda harus mendapatkan string koneksi. Jika Anda menggunakan RedisLabs, Anda dapat menemukan string koneksi di halaman konfigurasi database Anda.
Kloning repositori ini:
git clone https://github.com/your-username/myChat.git
atau mulai menggunakan fitur templat GitHub
Arahkan ke direktori proyek:
cd myChat
Instal dependensi:
npm install
Buat file .env.local
di root proyek dan tambahkan variabel lingkungan yang diperlukan:
touch .env.local
Tambahkan yang berikut ini ke file .env.local
:
NEXTAUTH_URL=http://localhost:3000
MONGODB_URI=yourURI
NEXTAUTH_SECRET=yourSecret
ENCRYPTION_KEY: a 32-digit hexadecimal string for AES-128 encryption (for users' API key)
REDIS_URL=yourRedisConnectionString
Ganti http://localhost:3000
dengan port apa pun yang menjalankan aplikasi Anda, yourURI
dengan string koneksi MongoDB Anda, yourSecret
dengan string acak aman, your32HexDigitString
dengan string heksadesimal 32 digit untuk enkripsi AES-128, dan yourRedisConnectionString
dengan Redis Anda rangkaian koneksi.
...
Untuk menjalankan server pengembangan:
npm run dev
Untuk membangun aplikasi untuk produksi:
npm run build
Untuk memulai server produksi:
npm run start
Untuk menyebarkan Klon myChat Anda ke Vercel, ikuti langkah-langkah berikut:
Daftar akun Vercel jika Anda belum melakukannya.
Instal Vercel CLI:
npm install -g vercel
Masuk ke akun Vercel Anda dari baris perintah:
vercel login
Arahkan ke direktori proyek Anda:
cd myChat
Jalankan perintah berikut untuk menyebarkan aplikasi Anda:
vercel --prod
Selama proses penerapan, Vercel CLI akan menanyakan variabel lingkungan kepada Anda. Berikan nilai yang sama dengan yang Anda gunakan untuk file .env.local
Anda:
NEXTAUTH_URL: https://your-vercel-url.vercel.app
MONGODB_URI: yourURI
NEXTAUTH_SECRET: yourSecret
ENCRYPTION_KEY: a 32-digit hexadecimal string for AES-128 encryption (for users' API key)
REDIS_URL=yourRedisConnectionString
Ganti http://localhost:3000
dengan port apa pun yang menjalankan aplikasi Anda, yourURI
dengan string koneksi MongoDB Anda, yourSecret
dengan string acak aman, your32HexDigitString
dengan string heksadesimal 32 digit untuk enkripsi AES-128, dan yourRedisConnectionString
dengan Redis Anda rangkaian koneksi.
Ingatlah bahwa setiap kali Anda membuat perubahan pada Klon myChat dan ingin menerapkan versi yang diperbarui, Anda cukup menjalankan vercel --prod
dari direktori proyek.
Kami menyambut kontribusi! Untuk berkontribusi, silakan ikuti langkah-langkah berikut:
git clone https://github.com/your-username/myChat.git
git checkout -b feature/my-new-feature
atau git checkout -b fix/my-new-fix
git commit -am 'Add some feature'
git push origin feature/my-new-feature
Proyek ini dilisensikan di bawah Lisensi MIT.