Bahasa Inggris | tidak
Server ChatGPT yang menyimpan dan memproses data menggunakan struktur data berbasis pohon, memberikan pengalaman Tanya Jawab seperti peta pikiran kepada pengguna dengan ChatGPT. Struktur pohon sangat mengoptimalkan transmisi konteks (token) dan memberikan pengalaman yang lebih baik bila digunakan dalam perusahaan.
Gambar menunjukkan klien Demo; UI hanya untuk referensi.
Dalam skenario kerja, kebutuhan untuk menanyakan pertanyaan yang sama secara mendalam relatif jarang terjadi, sehingga dalam banyak kasus, jumlah token dapat dikontrol dalam tahun 2000. Oleh karena itu, batas token GPT 3.5 (4096) sudah cukup (tidak perlu mempertimbangkan GPT4 untuk ketepatan).
Waktu antara kedua tangkapan layar tidak lebih dari 5 menit. Karena banyaknya pengguna, log terperinci perlu dilihat untuk membedakan konsumsi token dari lima pertanyaan yang disebutkan, namun konsumsi token secara keseluruhan dapat dilihat sebagai dapat dikontrol.
43.206.107.75:4000
Lingkungan demo disebarkan di server cloud. Dan JANGAN atur token OpenAI, sehingga akan memulai mode tiruan.
Pembaruan akan dilakukan sesuai kebutuhan. Pembaruan lebih lanjut akan diberikan jika proyek digunakan secara luas, dan pembaruan akan dilakukan berdasarkan minat jika proyek memiliki lebih sedikit pengguna.
Jangan ragu untuk mengembangkan UI Web berdasarkan proyek ini! UI dalam Demo ditulis oleh saya, seorang pemula dalam desain UI. PR dipersilakan!
Atur masukan pengguna ke dalam pohon multi-cabang dan hanya teruskan konten cabang saat ini sebagai informasi konteks ke GPT. Jumlah konten yang kami kirimkan setiap kali sama dengan kedalaman node saat ini. Optimalkan pemilihan dan transmisi konteks melalui pohon multi-cabang.
Pohon biner dengan n node memiliki kedalaman logn. Kedalaman di sini mengacu pada informasi konteks yang perlu kita sampaikan ke API GPT. Jika kita tidak memproses konteksnya, ini dapat dianggap sebagai pohon satu dimensi, yang berubah menjadi ruas garis, yang tentu saja merupakan kasus paling rumit. Dengan mengatur sesi ke dalam struktur pohon, kita dapat membuat peta pikiran.
Disarankan untuk memilih lokasi server di negara atau wilayah yang didukung oleh OpenAI. Pusat data dan host cloud keduanya dapat diterima, dan cloud berikut telah diuji:
Jika Anda bersikeras melakukan pengujian di negara atau wilayah yang tidak didukung, proyek ini sepenuhnya mendukung proksi, namun proksi itu sendiri dapat memengaruhi pengalaman dan menimbulkan risiko . Lihat file konfigurasi Spec.GPT.TransportUrl untuk detail konfigurasi proxy.
Penggunaan proxy tidak disarankan. Gunakan dengan risiko Anda sendiri.
git clone https://github.com/finishy1995/effibot.git
cd effibot
Konfigurasi defaultnya adalah mode Mock, yang berarti mode tersebut tidak akan benar-benar memanggil API GPT namun mengembalikan masukan pengguna sebagai respons. Port REST API default adalah 4001
, dan semua konfigurasi dapat dimodifikasi di file http/etc/http-api.yaml
.
vi http/etc/http-api.yaml
Name : http-api
Host : 0.0.0.0
Port : 4001 # Port of http server, default 4001
Timeout : 30000 # Timeout of http request, default 30000(ms)
Log :
Level : debug
Mode : file # Log mode, default console 日志模式,可选 console(命令行输出) 或 file
Path : ../logs # Log file path, default ../logs
Spec :
GPT :
# Token: "sk-" # Token of OpenAI, will start mock mode if not set. OpenAI 密钥,如果不设置则启用 mock 模式
# TransportUrl: "http://localhost:4002" # Transport url of OpenAI, default "http://localhost:4002 代理地址,如果不设置则不启用代理
Timeout : 20s # Timeout of OpenAI request, default 20s
MaxToken : 1000 # Max token of OpenAI response, default 1000
Setelah memodifikasi file, jika Anda memerlukan One-click deployment
atau container deployment
, silakan jalankan perintah berikut
mkdir -p ./effibot_config
cp http/etc/http-api.yaml ./effibot_config
Harap pastikan bahwa docker
dan docker-compose
diinstal dan diaktifkan dengan benar.
docker-compose up -d
Klien demo akan berjalan pada port 4000
, dan REST API akan berjalan pada port 4000
dan 4001
.
Jika Anda tidak memiliki docker-compose
, Anda dapat menggunakan perintah berikut:
docker network create effibot
docker run -p 4001:4001 -v ./effibot_config:/app/etc --network effibot --name effibot -d finishy/effibot:latest
docker run -p 4000:4000 --network effibot --name effibot-demo -d finishy/effibot-demo:latest
Pastikan golang 1.18+ diinstal dan dikonfigurasi.
cd http
go run http.go # go build http.go && ./http
Keluar dari direktori
cd ..
docker build -t effibot:latest -f http/Dockerfile .
docker network create effibot
# Modify the configuration file as needed, such as adding the OpenAI token and change the log mode to console
docker run -p 4001:4001 -v ./effibot_config:/app/etc --network effibot --name effibot -d effibot:latest
docker build -t effibot-demo:latest -f demo/Dockerfile .
docker run -p 4000:4000 --network effibot --name effibot-demo -d effibot-demo:latest
Klien demo dikembangkan oleh Vue.js + Vite + TypeScript, dan membutuhkan lingkungan Node.js 14+.
cd demo
yarn && yarn dev
Klien demo akan otomatis terbuka di http://localhost:5173.