ChatGPT-Plus adalah aplikasi yang menggunakan API ChatGPT resmi.
Demonstrasikan Demo/Masalah Masukan/Kembangkan Gitpod/Terapkan Vercel
Cina Sederhana |
Suka proyek ini? Tolong beri saya Bintang ️
Atau bagikan dengan teman Anda untuk membantu meningkatkannya!
Klien ChatGPT-Plus adalah aplikasi API ChatGPT resmi. Aplikasi ini merupakan aplikasi pembungkus API resmi ChatGPT OpenAI.
Ada dua cara untuk mengaksesnya. Untuk menggunakan modul ini di Node.js, Anda harus memilih di antara dua metode:
metode | bebas? | kokoh? | kualitas? |
---|---|---|---|
ChatGPTAPI | TIDAK | ✅ Ya | ✅️Model ChatGPT Nyata |
ChatGPTUnofficialProxyAPI | ✅ Ya | ☑️ Mungkin | ✅ Obrolan NyataGPT |
ChatGPTAPI
- Menggunakan model gpt-3.5-turbo-0301
dengan API penyelesaian obrolan OpenAI resmi (metode resmi dan kuat, tetapi tidak gratis). Anda dapat mengganti model, parameter penyelesaian, dan pesan sistem untuk menyesuaikan asisten Anda sepenuhnya.
ChatGPTUnofficialProxyAPI
- Gunakan server proxy tidak resmi untuk mengakses API backend ChatGPT dengan cara melewati Cloudflare (menggunakan ChatGPT asli, yang ringan, tetapi bergantung pada server pihak ketiga dan memiliki batas kecepatan).
Kedua metode ini memiliki API yang sangat mirip, jadi peralihan di antara keduanya seharusnya mudah.
Catatan: Kami sangat menyarankan penggunaan ChatGPTAPI
karena menggunakan API OpenAI yang didukung secara resmi. Pada rilis mendatang, kami mungkin menghentikan dukungan untuk ChatGPTUnofficialProxyAPI
.
Prinsip permintaan menggunakan modul fungsi yang disediakan oleh chatgpt-api.
Anda dapat menggunakan Gitpod untuk pengembangan online:
Atau tiru ke pengembangan lokal dan ikuti langkah-langkah berikut:
# clone the project
git clone https://github.com/zhpd/chatgpt-plus.git
Jika Anda tidak memiliki lingkungan git, Anda dapat langsung mengunduh paket zip, mengekstraknya, dan masuk ke direktori proyek.
Proyek ini dikembangkan berdasarkan Node.js dan membutuhkan lingkungan Node.js 14.0+. Pastikan Anda menggunakan
node >= 18
sehinggafetch
tersedia (ataunode >= 14
jika Anda memasang polyfill pengambilan).
Proyek ini menggunakan API resmi yang disediakan oleh OpenAI dan memerlukan aplikasi untuk API Key dan AccessToken.
- Alamat aplikasi pendaftaran resmi OpenAI: https://platform.openai.com/, diperlukan akses Internet ilmiah
- Dapatkan
ApiKey
atauAccessToken
melalui metode lain
Setelah aplikasi berhasil, isikan APIKey dan AccessToken ke dalam file chatgpt-plus/service/.env
Disarankan untuk menggunakan editor VSCode untuk pengembangan, menginstal plug-in
ESLint
danPrettier
, dan mengaktifkanFormat On Save
di pengaturan.
Konfigurasikan alamat permintaan port dan antarmuka di direktori root .env. Anda dapat langsung menyalin file .env.example di direktori root untuk dimodifikasi, dan mengubah nama file menjadi .env)
Nama variabel lingkungan | nilai bawaan | menjelaskan |
---|---|---|
PORT | 3000 | pelabuhan |
NEXT_PUBLIC_API_URL | http://localhost:3002 | alamat antarmuka |
Anda dapat langsung menyalin file .env.example di direktori root untuk dimodifikasi, dan mengubah nama file menjadi .env
# port
PORT = 3000
# api url
NEXT_PUBLIC_API_URL = http://localhost:3002
# enter the project directory
cd chatgpt-plus
# install dependency
npm install
# develop
npm run dev
Setelah operasi berhasil dimulai, Anda dapat membuka http://localhost:3000 di browser untuk melihat efeknya.
Konfigurasikan port, ApiKey, dan AccessToken di .env di direktori layanan.
Nama variabel lingkungan | nilai bawaan | menjelaskan |
---|---|---|
PORT | 3002 | pelabuhan |
OPENAI_API_KEY | - | API_KEY |
OPENAI_ACCESS_TOKEN | - | ACCESS_TOKEN |
API_REVERSE_PROXY | https://api.pawan.krd/backend-api/conversation | akting |
TIMEOUT_MS | 60000 | Batas waktu dalam milidetik |
Anda dapat langsung menyalin file .env.example di direktori layanan untuk modifikasi, dan mengubah nama file menjadi .env
# service/.env
# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY =
# change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response
OPENAI_ACCESS_TOKEN =
# Reverse Proxy default 'https://bypass.churchless.tech/api/conversation'
API_REVERSE_PROXY =
# timeout
TIMEOUT_MS = 100000
# enter the project directory
cd chatgpt-plus
# enter the service directory
cd service
# install dependency
npm install
# develop
npm run dev
Setelah operasi berhasil dimulai, layanan backend dapat berjalan normal.
Untuk menerapkan menggunakan Docker, Anda perlu menginstal lingkungan Docker
Gunakan file konfigurasi di folder docker-compose untuk menarik dan menjalankannya
Gunakan Vercel untuk penerapan, penerapan sekali klik
API_URL
dalam file .env
di direktori root menjadi alamat jaringan publik antarmuka backend Anda yang sebenarnyanpm install
untuk menginstal dependensinpm run build
untuk mengemas kodedist
ke direktori前端服务
situs web Andadist
npm run start
untuk memulai layanan service
npm install
untuk menginstal dependensinpm run build
untuk mengemas kodeservice/dist
ke direktori后端服务
situs web Andaservice/dist
npm run start
untuk memulai layananCatatan : Jika Anda tidak ingin membuat paket, Anda dapat langsung menyalin folder
service
ke server dan menjalankannpm install
dannpm run start
untuk memulai layanan.
Anda dapat mengaksesnya dengan mengonfigurasi kunci OPENAI_API_KEY
ke backend service.env:
# R OpenAI API Key
OPENAI_API_KEY =
Proyek ini menggunakan API resmi yang disediakan oleh OpenAI. Anda harus mengajukan akun OpenAI terlebih dahulu.
Anda dapat mengaksesnya dengan mengonfigurasi token akses OPENAI_ACCESS_TOKEN
ke backend service.env:
# change this to an `accessToken` extracted from the ChatGPT
OPENAI_ACCESS_TOKEN =
Anda perlu mendapatkan token akses OpenAI dari aplikasi web ChatGPT. Anda dapat menggunakan salah satu metode berikut, yang memerlukan email
dan password
serta mengembalikan token akses:
Pustaka ini berfungsi dengan akun yang diautentikasi dengan email dan kata sandi (misalnya, pustaka ini tidak mendukung akun yang diautentikasi dengan Microsoft/Google).
Alternatifnya, Anda bisa mendapatkan accessToken
secara manual dengan masuk ke aplikasi web ChatGPT dan membuka https://chat.openai.com/api/auth/session
, yang akan mengembalikan objek JSON yang berisi string accessToken
Anda.
Token akses berlaku selama beberapa hari.
Catatan : Menggunakan proxy terbalik akan mengekspos token akses Anda ke pihak ketiga. Cara ini tidak akan menimbulkan efek buruk apa pun, namun pertimbangkan risikonya sebelum menggunakan cara ini.
Anda dapat mengganti proksi terbalik dengan mengonfigurasi alamat proksi API_REVERSE_PROXY
di backend service.env:
# Reverse Proxy
API_REVERSE_PROXY =
Proksi terbalik yang diketahui dijalankan oleh anggota komunitas meliputi:
URL proksi terbalik | pengarang | batas tarif | tanggal pemeriksaan terakhir |
---|---|---|---|
https://bypass.churchless.tech/api/conversation | @acheong08 | 5 req / 10 detik dengan IP | 24/3/2023 |
https://api.pawan.krd/backend-api/conversation | @PawanOsman | 50 hitungan / 15 detik (~3 putaran/dtk) | 23/3/2023 |
Catatan: Informasi tentang cara kerja proksi terbalik saat ini tidak dirilis untuk mencegah OpenAI menonaktifkan akses.
Q: Jika saya hanya menggunakan halaman front-end, di mana saya dapat mengubah antarmuka permintaan?
J: Bidang API_URL
dalam file .env
di direktori root.
Q: Tidak ada efek mesin tik di bagian depan?
J: Salah satu kemungkinan alasannya adalah setelah Nginx membalikkan proxy dan buffer diaktifkan, Nginx akan mencoba melakukan buffering data berukuran tertentu dari backend sebelum mengirimkannya ke browser. Silakan coba tambahkan proxy_buffering off;
setelah anti-parameter, lalu muat ulang Nginx. Konfigurasi server web lain sama.
Terima kasih kepada semua orang yang berkontribusi!
Jika menurut Anda proyek ini bermanfaat bagi Anda, Anda dapat memberinya Bintang ️ atau membagikannya kepada teman-teman Anda. Dukungan Anda adalah motivasi terbesar saya!
MIT © zhpd