ChatGPT-WechatBot adalah robot mirip chatGPT yang diimplementasikan menggunakan model dialog berdasarkan OpenAI API resmi, dan diterapkan di WeChat melalui kerangka Wechaty untuk mewujudkan obrolan robot.
ChatGPT WechatBot adalah sejenis robot chatGPT berdasarkan API resmi OpenAI dan menggunakan model dialog. Robot ini diterapkan di WeChat melalui kerangka Wechat untuk mencapai obrolan robot.
Catatan : Proyek ini adalah implementasi Win10 lokal dan tidak memerlukan penerapan server (jika penerapan server diperlukan, Anda dapat menerapkan buruh pelabuhan ke server)
(1), Windows10
(2), buruh pelabuhan 20.10.21
(3), Python3.9
(4), Wechaty 0.10.7
1. Unduh Docker
https://www.docker.com/products/docker-desktop/ Unduh Docker
2. Aktifkan virtualisasi Win10
Masukkan kontrol dalam cmd untuk membuka panel kontrol dan masuk ke program, seperti yang ditunjukkan pada gambar di bawah ini:
Buka Mengaktifkan atau menonaktifkan fitur Windows dan mengaktifkan Hyper-V
Catatan : Jika komputer Anda tidak memiliki Hyper-V, Anda perlu melakukan operasi berikut:
Buat dokumen teks, isi kode berikut, dan beri nama Hyper.cmd
pushd " %~dp0 "
dir /b %SystemRoot% s ervicing P ackages * Hyper-V * .mum > hyper-v.txt
for /f %%i in ( ' findstr /i . hyper-v.txt 2^>nul ' ) do dism /online /norestart /add-package: " %SystemRoot%servicingPackages%%i "
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
Kemudian jalankan file ini sebagai administrator. Setelah skrip selesai dijalankan, akan ada node Hyper-V setelah komputer di-restart.
3. Jalankan Docker
Catatan : Jika hal berikut terjadi saat menjalankan Docker untuk pertama kalinya:
Perlu mengunduh paket WSL 2 terbaru
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Setelah memperbarui, Anda dapat masuk ke halaman utama, lalu mengubah pengaturan di mesin buruh pelabuhan dan mengganti gambar dengan gambar domestik Alibaba Cloud:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"debug": false,
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [],
"registry-mirrors": [
"https://9cpn8tt6.mirror.aliyuncs.com"
]
}
Dengan cara ini, lebih cepat mengeluarkan cermin (untuk pengguna domestik)
4. Tarik gambar Wechaty :
docker pull wechaty:0 . 65
Karena selama pengujian, ditemukan bahwa wechaty versi 0.65 adalah yang paling stabil
Setelah menarik gambar:
Wayang : Jika Anda ingin menggunakan Wechaty untuk mengembangkan robot WeChat, Anda perlu menggunakan Wayang middleware untuk mengontrol pengoperasian WeChat. Terjemahan resmi dari Wayang adalah boneka. Saat ini ada banyak jenis Wayang yang tersedia Wayang adalah berbagai fungsi robot yang dapat dicapai. Misalnya, jika Anda ingin robot Anda mengeluarkan pengguna dari obrolan grup, Anda perlu menggunakan Wayang di bawah protokol Pad.
Ajukan permohonan koneksi: http://pad-local.com/#/login
Catatan : Setelah mengajukan akun, Anda akan menerima token 7 hari.
Setelah mengajukan token, jalankan perintah berikut di jendela cmd:
docker run - it - d -- name wechaty_test - e WECHATY_LOG="verbose" - e WECHATY_PUPPET="wechaty - puppet - padlocal" - e WECHATY_PUPPET_PADLOCAL_TOKEN="yourtoken" - e WECHATY_PUPPET_SERVER_PORT="8080" - e WECHATY_TOKEN="1fe5f846 - 3cfb - 401d - b20c - sailor==" - p "8080:8080" wechaty/wechaty:0 . 65
Deskripsi parameter:
WECHATY_PUPPET_PADLOCAL_TOKEN : Ajukan permohonan token yang bagus
**WECHATY_TOKEN** : Tulis saja string acak yang dijamin unik
WECHATY_PUPPET_SERVER_PORT : port server buruh pelabuhan
wechaty/wechaty:0.65 : versi gambar wechaty
Catatan: - "8080:8080"* adalah port mesin lokal dan server buruh pelabuhan Anda. Perhatikan bahwa port server buruh pelabuhan harus konsisten dengan WECHATY_PUPPET_SERVER_PORT
Setelah dijalankan, lihat container di panel desktop buruh pelabuhan:
Masuk ke antarmuka log:
Melalui link di bawah ini, Anda dapat memindai kode QR untuk login ke WeChat
Setelah login, layanan buruh pelabuhan selesai.
Instal perpustakaan wechaty dan openai
Buka cmd dan jalankan perintah berikut:
pip install wechaty
pip install openai
Masuk ke openAI
https://beta.openai.com/
Klik Lihat kunci API
Dapatkan saja API Kyes
Pada titik ini, lingkungan sudah diatur
Anda dapat mencoba membaca kode demo ini
import openai
openai . api_key = "your API-KEY"
start_sequence = "A:"
restart_sequence = "Q: "
while True :
print ( restart_sequence , end = "" )
prompt = input ()
if prompt == 'quit' :
break
else :
try :
response = openai . Completion . create (
model = "text-davinci-003" ,
prompt = prompt ,
temperature = 0.9 ,
max_tokens = 2000 ,
frequency_penalty = 0 ,
presence_penalty = 0
)
print ( start_sequence , response [ "choices" ][ 0 ][ "text" ]. strip ())
except Exception as exc :
print ( exc )
Kode ini memanggil model CPT-3, model yang sama dengan chatGPT, dan efek jawabannya juga bagus.
Model GPT-3 openAI diperkenalkan sebagai berikut:
Model GPT-3 kami dapat memahami dan menghasilkan bahasa alami. Kami menawarkan empat model utama dengan tingkat kekuatan berbeda yang sesuai untuk berbagai tugas.
MODEL TERBARU | KETERANGAN | PERMINTAAN MAKS | DATA PELATIHAN |
---|---|---|---|
teks-davinci-003 | Model GPT-3 yang paling mumpuni. Dapat melakukan tugas apa pun yang dapat dilakukan model lain, seringkali dengan kualitas lebih tinggi, keluaran lebih lama, dan mengikuti instruksi lebih baik. | 4.000 token | Hingga Juni 2021 |
teks-curie-001 | Sangat mumpuni, namun lebih cepat dan biaya lebih rendah dibandingkan Davinci. | 2.048 token | Hingga Oktober 2019 |
teks-babbage-001 | Mampu melakukan tugas-tugas sederhana, sangat cepat, dan biaya lebih rendah. | 2.048 token | Hingga Oktober 2019 |
teks-ada-001 | Mampu melakukan tugas yang sangat sederhana, biasanya model tercepat di seri GPT-3, dan biaya terendah. | 2.048 token | Hingga Oktober 2019 |
Meskipun Davinci secara umum adalah yang paling mampu, model lain dapat melakukan tugas tertentu dengan sangat baik dengan keunggulan kecepatan atau biaya yang signifikan. Misalnya, Curie dapat melakukan banyak tugas yang sama seperti Davinci, tetapi lebih cepat dan biayanya 1/10.
Kami merekomendasikan penggunaan Davinci saat bereksperimen karena ini akan memberikan hasil terbaik. Setelah semuanya berfungsi, kami menganjurkan untuk mencoba model lain untuk melihat apakah Anda bisa mendapatkan hasil yang sama dengan latensi lebih rendah kinerja model dengan menyempurnakannya pada tugas tertentu.
Singkatnya, model GPT-3 paling kuat. Dapat melakukan apa pun yang dapat dilakukan model lain, biasanya dengan kualitas lebih tinggi, keluaran lebih lama, dan mengikuti instruksi lebih baik. Memasukkan penyelesaian ke dalam teks juga didukung.
Meskipun menggunakan model text-davinci-003 secara langsung dapat mencapai efek dialog satu putaran chatGPT, namun untuk lebih mencapai efek dialog multi-putaran yang sama seperti chatGPT, model dialog dapat dirancang.
Prinsip dasar: Ceritakan pada model text-davinci-003 konteks percakapan saat ini
Metode implementasi: Rancang antrian memori dialog untuk menyimpan k putaran pertama dialog dari dialog saat ini, dan beri tahu model text-davinci-003 konten dialog k putaran pertama sebelum mengajukan pertanyaan, lalu dapatkan jawaban saat ini melalui konten model text-davinci-003
Metode ini ternyata bekerja dengan sangat baik! Berikan beberapa catatan obrolan
Terlihat bahwa AI juga dapat menyelesaikan pembelajaran situasional melalui latar belakang obrolan.
Tidak hanya itu, Anda juga bisa mendapatkan panduan penulisan artikel yang sama seperti chatGPT.
Model ini adalah metode yang saya pikirkan saat ini untuk mengoptimalkan model dialog latar belakang obrolan. Logika dasarnya sama dengan model bahasa N-gram, hanya saja N diubah secara dinamis dan properti Markov ditambahkan untuk memprediksi hubungan saat ini dengan konteksnya, untuk menilai bahwa bagian di latar belakang obrolan adalah yang paling penting, dan kemudian menggunakan model text-davinci-003 untuk memberikan jawaban berdasarkan konten dialog yang paling penting yang dihafal dikombinasikan dengan masalah saat ini (setara untuk membiarkan AI Melakukannya selama obrolan, menggunakan konten obrolan sebelumnya)
Implementasi model ini memerlukan data dalam jumlah besar untuk pelatihan, dan kodenya belum selesai.
------ Menggali : Setelah kode diimplementasikan, perbarui bagian langkah detail ini
Logika dasar proyek ini seperti yang ditunjukkan pada gambar di bawah ini:
.py, tambahkan dan buka chatGPT.py di lokasi yang ditampilkan, tambahkan kunci rahasia dan konfigurasikan variabel lingkungan di lokasi yang ditampilkan
Penjelasan kode :
os . environ [ "WECHATY_PUPPET_SERVICE_TOKEN" ] = "填入你的Puppet的token"
os . environ [ 'WECHATY_PUPPET' ] = 'wechaty-puppet-padlocal' #保证与docker中相同即可
os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = '主机ip:端口号'
Jalankan dengan sukses
1. Login di docker, jangan gunakan login wechaty dengan python
2. Tetapkan time.sleep() dalam kode untuk menyimulasikan kecepatan orang membalas pesan.
3. Sebaiknya tidak menggunakan ukuran besar saat pengujian. Disarankan untuk membuat ukuran kecil khusus untuk pengujian AI.
Konten dalam proyek ini hanya untuk penelitian teknis dan pemasyarakatan sains, dan tidak berfungsi sebagai dasar konklusif apa pun. Konten tersebut tidak memberikan izin penerapan komersial apa pun dan tidak bertanggung jawab atas perilaku apa pun.
~~email: [email protected]