ChatGPT-Plus เป็นแอปพลิเคชั่นที่ใช้ ChatGPT API อย่างเป็นทางการ
สาธิตปัญหาการสาธิต/ข้อเสนอแนะ/พัฒนา Gitpod/ปรับใช้ Vercel
จีนตัวย่อ |. อังกฤษ
ชอบโครงการนี้หรือไม่? โปรดให้ดาวฉันด้วย ️
หรือแบ่งปันกับเพื่อนของคุณเพื่อช่วยปรับปรุง!
ไคลเอนต์ ChatGPT-Plus เป็นแอปพลิเคชั่นของ ChatGPT API อย่างเป็นทางการ แอปพลิเคชันนี้เป็นแอปพลิเคชันแบบ wrapper สำหรับ API อย่างเป็นทางการของ ChatGPT ของ OpenAI
มีสองวิธีในการเข้าถึงโมดูลนี้ใน Node.js คุณต้องเลือกระหว่างสองวิธี:
วิธี | ฟรี? | แข็งแกร่งเหรอ? | คุณภาพ? |
---|---|---|---|
ChatGPTAPI | เลขที่ | ✅ใช่ | ✅️รุ่น Real ChatGPT |
ChatGPTUnofficialProxyAPI | ✅ใช่ | ☑️เป็นไปได้ | ✅ ChatGPT จริง |
ChatGPTAPI
- ใช้โมเดล gpt-3.5-turbo-0301
กับ API การแชท OpenAI อย่างเป็นทางการ (วิธีการอย่างเป็นทางการและมีประสิทธิภาพ แต่ไม่ฟรี) คุณสามารถแทนที่โมเดล พารามิเตอร์ความสมบูรณ์ และข้อความของระบบเพื่อปรับแต่งผู้ช่วยของคุณได้อย่างเต็มที่
ChatGPTUnofficialProxyAPI
- ใช้พร็อกซีเซิร์ฟเวอร์ที่ไม่เป็นทางการเพื่อเข้าถึง API แบ็กเอนด์ของ ChatGPT ในลักษณะที่ข้าม Cloudflare (ใช้ ChatGPT จริงซึ่งมีน้ำหนักเบา แต่อาศัยเซิร์ฟเวอร์ของบุคคลที่สามและมีขีดจำกัดอัตรา)
ทั้งสองวิธีนี้มี API ที่คล้ายกันมาก ดังนั้นการสลับระหว่างทั้งสองวิธีจึงควรเป็นเรื่องง่าย
หมายเหตุ: เราขอแนะนำอย่างยิ่งให้ใช้ ChatGPTAPI
เนื่องจากใช้ API ที่รองรับอย่างเป็นทางการของ OpenAI ในการเปิดตัวในอนาคต เราอาจยุติการสนับสนุน ChatGPTUnofficialProxyAPI
หลักการร้องขอใช้โมดูลฟังก์ชันที่จัดทำโดย chatgpt-api
คุณสามารถใช้ Gitpod เพื่อการพัฒนาออนไลน์:
หรือโคลนการพัฒนาท้องถิ่นและทำตามขั้นตอนเหล่านี้:
# clone the project
git clone https://github.com/zhpd/chatgpt-plus.git
หากคุณไม่มีสภาพแวดล้อม git คุณสามารถดาวน์โหลดแพ็คเกจ zip ได้โดยตรง แตกไฟล์แล้วป้อนไดเร็กทอรีโปรเจ็กต์
โปรเจ็กต์นี้ได้รับการพัฒนาบน Node.js และต้องการสภาพแวดล้อม Node.js 14.0+ ตรวจสอบให้แน่ใจว่าคุณใช้
node >= 18
เพื่อfetch
พร้อมใช้งาน (หรือnode >= 14
หากคุณติดตั้ง fetch polyfill)
โปรเจ็กต์นี้ใช้ API ที่ได้รับอย่างเป็นทางการจาก OpenAI และต้องมีแอปพลิเคชันสำหรับคีย์ API และ AccessToken
- ที่อยู่ใบสมัครลงทะเบียนอย่างเป็นทางการของ OpenAI: https://platform.openai.com/ จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ตทางวิทยาศาสตร์
- รับ
ApiKey
หรือAccessToken
ผ่านวิธีอื่น คลิกเพื่อดู
หลังจากแอปพลิเคชันสำเร็จ ให้กรอก APIKey และ AccessToken ลงในไฟล์ chatgpt-plus/service/.env
ขอแนะนำให้ใช้โปรแกรมแก้ไข VSCode เพื่อการพัฒนา ติดตั้งปลั๊กอิน
ESLint
และPrettier
และเปิดFormat On Save
ในการตั้งค่า
กำหนดค่าที่อยู่คำขอพอร์ตและอินเทอร์เฟซในไดเร็กทอรีราก .env คุณสามารถคัดลอกไฟล์ .env.example โดยตรงในไดเร็กทอรีรากเพื่อแก้ไข และเปลี่ยนชื่อไฟล์เป็น .env)
ชื่อตัวแปรสภาพแวดล้อม | ค่าเริ่มต้น | แสดงให้เห็น |
---|---|---|
PORT | 3000 | ท่าเรือ |
NEXT_PUBLIC_API_URL | http://localhost:3002 | ที่อยู่อินเทอร์เฟซ |
คุณสามารถคัดลอกไฟล์ .env.example โดยตรงในไดเร็กทอรีรากเพื่อแก้ไข และเปลี่ยนชื่อไฟล์เป็น .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
หลังจากที่การดำเนินการเริ่มต้นได้สำเร็จ คุณสามารถเปิด http://localhost:3000 ในเบราว์เซอร์เพื่อดูเอฟเฟกต์ได้
กำหนดค่าพอร์ต, ApiKey และ AccessToken ใน .env ในไดเร็กทอรีบริการ
ชื่อตัวแปรสภาพแวดล้อม | ค่าเริ่มต้น | แสดงให้เห็น |
---|---|---|
PORT | 3002 | ท่าเรือ |
OPENAI_API_KEY | - | API_KEY |
OPENAI_ACCESS_TOKEN | - | เข้าถึง_TOKEN |
API_REVERSE_PROXY | https://api.pawan.krd/backend-api/conversation | การแสดง |
TIMEOUT_MS | 60000 | หมดเวลาเป็นมิลลิวินาที |
คุณสามารถคัดลอกไฟล์ .env.example โดยตรงในไดเร็กทอรีบริการเพื่อแก้ไข และเปลี่ยนชื่อไฟล์เป็น .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
หลังจากที่ดำเนินการได้สำเร็จแล้ว บริการแบ็กเอนด์ก็สามารถทำงานได้ตามปกติ
หากต้องการปรับใช้โดยใช้ Docker คุณต้องติดตั้งสภาพแวดล้อม Docker
ใช้ไฟล์การกำหนดค่าในโฟลเดอร์เขียนนักเทียบท่าเพื่อดึงและเรียกใช้
ใช้ Vercel สำหรับการปรับใช้ การปรับใช้เพียงคลิกเดียว
API_URL
ในไฟล์ .env
ในไดเร็กทอรีรากเป็นที่อยู่เครือข่ายสาธารณะของอินเทอร์เฟซแบ็กเอนด์จริงของคุณnpm install
เพื่อติดตั้งการพึ่งพาnpm run build
เพื่อจัดทำโค้ดdist
ไปยังไดเร็กทอรีของ前端服务
ของเว็บไซต์ของคุณdist
npm run start
เพื่อเริ่มบริการ service
npm install
เพื่อติดตั้งการพึ่งพาnpm run build
เพื่อจัดทำโค้ดservice/dist
ไปยังไดเร็กทอรีของ后端服务
ของเว็บไซต์ของคุณservice/dist
npm run start
เพื่อเริ่มบริการหมายเหตุ : หากคุณไม่ต้องการทำแพ็คเกจ คุณสามารถคัดลอกโฟลเดอร์
service
ไปยังเซิร์ฟเวอร์ได้โดยตรง และรันnpm install
และnpm run start
เพื่อเริ่มบริการ
คุณสามารถเข้าถึงได้โดยกำหนดค่าคีย์ OPENAI_API_KEY
ให้กับ backend service.env:
# R OpenAI API Key
OPENAI_API_KEY =
โปรเจ็กต์นี้ใช้ API ที่ได้รับอย่างเป็นทางการจาก OpenAI คุณต้องสมัครบัญชี OpenAI ก่อน
คุณสามารถเข้าถึงได้โดยกำหนดค่าโทเค็นการเข้าถึง OPENAI_ACCESS_TOKEN
ให้กับ backend service.env:
# change this to an `accessToken` extracted from the ChatGPT
OPENAI_ACCESS_TOKEN =
คุณต้องได้รับโทเค็นการเข้าถึง OpenAI จากเว็บแอปพลิเคชัน ChatGPT คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้ ซึ่งต้องใช้ email
และ password
และส่งคืนโทเค็นการเข้าถึง:
ไลบรารีเหล่านี้ใช้งานได้กับบัญชีที่ตรวจสอบสิทธิ์ด้วยอีเมลและรหัสผ่าน (เช่น ไม่รองรับบัญชีที่ตรวจสอบสิทธิ์ด้วย Microsoft/Google)
หรือคุณสามารถรับ accessToken
ด้วยตนเองได้โดยลงชื่อเข้าใช้เว็บแอปพลิเคชัน ChatGPT และเปิด https://chat.openai.com/api/auth/session
ซึ่งจะส่งคืนออบเจ็กต์ JSON ที่มีสตริง accessToken
ของคุณ
โทเค็นการเข้าถึงมีอายุหลายวัน
หมายเหตุ : การใช้พร็อกซีย้อนกลับจะเปิดเผยโทเค็นการเข้าถึงของคุณแก่บุคคลที่สาม ซึ่งจะไม่ส่งผลเสียใดๆ แต่ควรพิจารณาความเสี่ยงก่อนใช้วิธีนี้
คุณสามารถแทนที่พร็อกซีย้อนกลับได้โดยการกำหนดค่าที่อยู่พร็อกซี API_REVERSE_PROXY
ใน service.env แบ็กเอนด์:
# Reverse Proxy
API_REVERSE_PROXY =
Reverse Proxy ที่รู้จักซึ่งดำเนินการโดยสมาชิกชุมชน ได้แก่:
URL พร็อกซีย้อนกลับ | ผู้เขียน | ขีดจำกัดอัตรา | วันที่ตรวจสอบครั้งสุดท้าย |
---|---|---|---|
https://bypass.churchless.tech/api/conversation | @acheong08 | 5 req / 10 วินาทีโดย IP | 24/3/2023 |
https://api.pawan.krd/backend-api/conversation | @ปาวันออสมาน | 50 ความต้องการ / 15 วินาที (~3 รอบ/วินาที) | 23/3/2023 |
หมายเหตุ: ขณะนี้ยังไม่มีการเปิดเผยข้อมูลเกี่ยวกับวิธีการทำงานของพร็อกซีย้อนกลับเพื่อป้องกันไม่ให้ OpenAI ปิดการเข้าถึง
ถาม: หากฉันใช้เฉพาะส่วนหน้า ฉันจะเปลี่ยนอินเทอร์เฟซคำขอได้ที่ไหน
ตอบ: ช่อง API_URL
ในไฟล์ .env
ในไดเร็กทอรีราก
ถาม: ไม่มีเอฟเฟกต์เครื่องพิมพ์ดีดที่ส่วนหน้า
ตอบ: สาเหตุหนึ่งที่เป็นไปได้คือหลังจาก Nginx Reverse Proxy และบัฟเฟอร์เปิดอยู่ Nginx จะพยายามบัฟเฟอร์ข้อมูลบางขนาดจากแบ็กเอนด์ก่อนที่จะส่งไปยังเบราว์เซอร์ โปรดลองเพิ่ม proxy_buffering off;
หลัง anti-parameter แล้วโหลด Nginx อีกครั้ง การกำหนดค่าของเว็บเซิร์ฟเวอร์อื่นจะเหมือนกัน
ขอบคุณทุกคนที่มีส่วนร่วม!
หากคุณคิดว่าโปรเจ็กต์นี้มีประโยชน์สำหรับคุณ คุณสามารถให้ดาวได้ ️ หรือแชร์กับเพื่อน ๆ ของคุณ การสนับสนุนของคุณคือแรงจูงใจที่ยิ่งใหญ่ที่สุดของฉัน!
MIT © zhpd