


Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar
Ini SDK
bukan sahaja boleh digunakan untuk membangunkan robot, tetapi anda juga boleh membangunkan kesan yang anda inginkan secara bebas, seperti yang anda fikirkan, ia adalah kit alat untuk membantu anda chuanchuan Build a ChatGPT
perkhidmatan dan sesi.
Baru-baru ini OpenAi
memasang perkhidmatan Cloudflare
CDN
padanya Perkhidmatan ini akan memintas permintaan mesin bukan sebenar dan kini boleh dipecahkan.
Cari SDK terbalik yang sesuai
Pengarang asal menggunakan ini.
Tidak banyak fail dalam keseluruhan pakej Jika anda suka Python
, anda boleh lihat saya Java
tidak dapat memahaminya dengan baik.
Latihan bermula - Latihan Bab 1
RevChatGPT yang digunakan dalam kod bergantung pada perpustakaan kod sumber:
https://github.com/acheong08/ChatGPT
Versi Python kami memerlukan >=3.8
, kemudian pip
naik taraf terus kepada versi terkini.
Tujuan kod di bawah adalah untuk berinteraksi dengan antara muka rasmi ChatGPT Sila pasang kebergantungan yang digunakan di dalamnya
chat-gpt-qbot.py:
import flask, json from flask import request from revChatGPT.revChatGPT import Chatbot config = { "session_token": "换成你自己的token" } # 创建一个服务,把当前这个python文件当做一个服务 server = flask.Flask(__name__) chatbot = Chatbot(config, conversation_id=None) def chat(msg): message = chatbot.get_chat_response(msg)['message'] print(message) return message @server.route('/chat', methods=['post']) def chatapi(): requestJson = request.get_data() if requestJson is None or requestJson == "" or requestJson == {}: resu = {'code': 1, 'msg': '请求内容不能为空'} return json.dumps(resu, ensure_ascii=False) data = json.loads(requestJson) print(data) try: msg = chat(data['msg']) except Exception as error: print("接口报错") resu = {'code': 1, 'msg': '请求异常: ' + str(error)} return json.dumps(resu, ensure_ascii=False) else: resu = {'code': 0, 'data': msg} return json.dumps(resu, ensure_ascii=False) if __name__ == '__main__': server.run(port=7777, host='0.0.0.0')
Kami mengimport pakej terbalik kami.
from revChatGPT.revChatGPT import Chatbot
Ini ialah kod sumber dalam pakej terbalik, yang digunakan untuk memulakan perkhidmatan Kami baru sahaja memanggil pakej ini dalam kelas.
Kemudian buat antara muka yang membuang perkhidmatan ini supaya ia boleh dipanggil dengan mudah.
Kami hanya perlu menjalankan kod di atas untuk berinteraksi secara langsung dengan ChatGPT pada port 7777.
Kami menggunakan alat antara muka untuk mengujinya. Hasilnya adalah seperti yang ditunjukkan di bawah. Anda dapat melihat bahawa antara muka berfungsi dengan normal dan hasil perbualan diperoleh daripada ChatGPT.
Isi mesej:
{"msg": "你会数学吗"}
Isi mesej ialah kandungan tersuai kami Anda boleh menambah medan sendiri untuk memanjangkan fungsi antara muka
Ini contoh Mesej dalam ialah kandungan ucapan kami
dan antara muka kembali:
{ "code": 0, "data": "是的,我会数学。我是一个大型语言模型,我可以回答各种问题,包括数学问题。你有什么数学问题需要我帮助你解决吗?"}
yang juga ditakrifkan oleh kami apabila code=0
bermakna interaksi dengan ChatGPT
berjaya, maka data
ialah ChatGPT
Maklum balas kepada perbualan kami. Apabila code=1
digunakan, ini bermakna ralat telah berlaku Tiada data
pada masa ini, tetapi mesej ralat dikembalikan dalam msg
.
Pada ketika ini kita mempunyai antara muka yang boleh berinteraksi dengan ChatGPT Melalui antara muka ini, kita boleh mengadakan perbualan dengan ChatGPT
Memandangkan kita mempunyai perbualan, kita perlu. Dengan kotak input dan butang, anda boleh membuat halaman web untuk memanggil antara muka ini Ini sangat mudah, dan kami tidak akan membincangkan butiran di sini.
Apa yang kami mahu lakukan ialah robot QQ Prinsipnya adalah untuk membiarkan robot QQ mendengar mesej, memajukan mesej ke ChatGPT melalui antara muka kami, dan kemudian menghantar kandungan perbualan yang dikembalikan oleh ChatGPT ke. Pengguna QQ seperti robot yang boleh bercakap sudah sedia Kaedah khusus akan diterangkan di bawah.
Latihan diteruskan - Latihan Bahagian 2
Di atas kami melaksanakan antara muka dan berjaya memperoleh kandungan perbualan ChatGPT menggunakan kod Seterusnya kami akan terus menambah baik logik berkaitan robot QQ kepada komen dalam kod.
Untuk lebih mudah membandingkan kod yang dioptimumkan (disambungkan ke robot QQ) dengan kod sebelumnya, saya membuka perbandingan tempatan dan Kod yang tidak berubah telah disimpan.
Anda mungkin tidak memahami logik pelaksanaan interaksi robot, kerana kami menggunakan rangka kerja robot Sebenarnya, kami tidak boleh mengehadkan pemikiran kami logik sendiri.
Kami menggunakan go-cqhttp
.
Pusat Bantuan go-cqhttp
Jadi, anda perlu memahami perubahan inigo-cqhttp
sebelum anda boleh memahaminya, tetapi kita perlu belajar secara fleksibel, kita hanya perlu memahami idea Ya, kemudian pergi ke dokumentasi rasmi untuk mengetahui cara menggunakannya.
Pada ketika ini, kod ini sudah mempunyai fungsi memproses permintaan rakan, permintaan kumpulan dan membalas mesej.
Seperti yang anda lihat, berbanding artikel sebelum ini, kami telah menambah banyak kod dan menambah komen
Sudah tentu, tidak mengapa jika anda tidak faham kod ini, anda boleh mengikuti kod saya Tukar bahagian artikel yang sepadan dan gunakannya secara langsung.
Semua orang datang ke kumpulan Q pengarang asal untuk bermain, saya juga berada di dalamnya: 206867743
.
Amalan diteruskan - Latihan Bahagian 3
Dalam dua artikel pertama, kami telah menyelesaikan masalah berkomunikasi dengan ChatGPT dan masalah pemprosesan mesej QQ Sekarang kami perlu menangani bagaimana untuk memantau Berita QQ.
Dalam kemas kini dan masalah yang dihadapi, pengarang asal dan ramai pengarang pakej terbalik telah mengemas kini banyak kandungan Mari kita lihat rekod kemas kini pengarang asal:
2022-12-12 23:52 Tambah versi khusus Windows, yang hanya boleh digunakan pada komputer atau pelayan Windows, dan secara automatik boleh mendapatkan cloudflare Cookie 2022-12-12 12:38 Kemas kini kandungan Tambah Konfigurasi CloudFlare, kemas kini kebergantungan, kata laluan akaun tidak disokong buat masa ini Saya tidak tahu berapa kerap konfigurasi CloudFlare perlu ditukar Sekarang nampaknya saya perlu memintas tembok api 2022-. 12-10 17:42 Kandungan dikemas kini untuk menambah sokongan kata laluan akaun, anda tidak boleh menggunakan token , terus menggunakan kata laluan akaun 2022-12-10 00:23 Kandungan yang dikemas kini membezakan setiap sembang peribadi QQ, dan robot sembang peribadi setiap orang ialah sesi bebas. Membezakan setiap kumpulan QQ, dan setiap kumpulan QQ adalah sesi bebas Naikkan had perkataan untuk balasan Jika had melebihi had, ia akan ditukar menjadi balasan gambar (lihat fail konfigurasi). perbualan, hantar ke robot: Tetapkan semula perbualan
Pengenalan
Dengar mesej QQ dan Kami tidak perlu menulis kod, kerana sudah terdapat banyak rangka kerja robot QQ sumber terbuka di pasaran. Di sini kami menggunakan go-cqhttp
Dokumentasi rasmi: go-cqhttp
Jika anda berminat, anda boleh membaca dokumentasi rasmi , jika anda tidak mahu membacanya, baca sahaja saya artikel secara langsung.
Prasyarat Anda perlu menyediakan akaun QQ Jangan gunakan akaun besar anda sendiri Anda perlu menyediakan akaun OpenAi untuk mendapatkan pelayan Token (pilihan, jika anda mahu robot berada dalam talian 24/7. sila Sediakan satu, 1 teras dan 1G sudah memadai, pelayan luaran adalah yang terbaik)
Nota: Terdapat banyak video mengenai kaedah pendaftaran OpenAi (ChatGPT) di Bilibili, hanya rujuk mana-mana.
Jika anda tidak tahu cara mendaftar, anda juga boleh membaca artikel di blog saya: Satu artikel mengajar anda cara cepat mendaftar OpenAi (ChatGPT)
(Versi lama ) Saya juga telah menulis tutorial tentang cara membina robot: gunakan OpenGPT (ChatGPT) membina robot QQ
Tetapi! Perhatikan, seperti yang dinyatakan sebelum ini, ChatGPT
semasa dibalut dengan CF
's CDN
, yang akan memintas permintaan interaksi manusia-komputer.
Kini, selain mendapat OpenAi
daripada session-token
, kita juga perlu mendapatkan cf_clearance
.
Pada masa yang sama, kita juga perlu mendapatkan user-agent
.
Pergi ke tab rangkaian konsol dan semaknya Jika kosong, hantar sahaja mesej.
disalin dan ditulis ke dalam fail konfigurasi, iaitu fail py/config.js
.
Pada masa ini, pengarang asal telah membungkus dua versi, satu untuk Linux Masalahnya ialah cf
token interaksi CDN
akan tamat tempoh dalam masa 2H
Kami perlu mendapatkan dan mengemas kininya secara manual. yang menyusahkan.
Yang lain ialah versi window
, yang telah diperolehi secara automatik CloudflareCookie
.
Panduan Konfigurasi
Versi ini hanya boleh digunakan pada Windows, mana-mana komputer atau pelayan Windows akan berfungsi.
Masih hanya menyokong token.
Sistem akan membuka Google Chrome secara automatik untuk mendapatkan kuki berkaitan Cloufflare mungkin diperlukan apabila dijalankan buat kali pertama, jadi sila klik dengan teliti.
Perhatikan bahawa skrip hanya boleh membuka Google Chrome dan tidak mengkonfigurasi penyemak imbas lain.
Penerangan lain
Dalam versi terbaharu kod pengarang, beberapa fungsi baharu juga telah ditambah.
Lakukan penyelidikan anda sendiri.
Dan ramai pengarang pakej terbalik juga memikirkan penyelesaian yang sempurna, mari tunggu dengan sabar!
Kemudian, sila lihat ayat ini:
Atas ialah kandungan terperinci Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Artikel ini akan menerangkan bagaimana untuk meningkatkan prestasi laman web dengan menganalisis log Apache di bawah sistem Debian. 1. Asas Analisis Log Apache Log merekodkan maklumat terperinci semua permintaan HTTP, termasuk alamat IP, timestamp, url permintaan, kaedah HTTP dan kod tindak balas. Dalam sistem Debian, log ini biasanya terletak di direktori/var/log/apache2/access.log dan /var/log/apache2/error.log. Memahami struktur log adalah langkah pertama dalam analisis yang berkesan. 2. Alat Analisis Log Anda boleh menggunakan pelbagai alat untuk menganalisis log Apache: Alat baris arahan: grep, awk, sed dan alat baris arahan lain.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Perbandingan antara Laravel dan Python dalam persekitaran pembangunan dan ekosistem adalah seperti berikut: 1. Persekitaran pembangunan Laravel adalah mudah, hanya PHP dan komposer diperlukan. Ia menyediakan pelbagai pakej lanjutan seperti Laravelforge, tetapi penyelenggaraan pakej lanjutan mungkin tidak tepat pada masanya. 2. Persekitaran pembangunan Python juga mudah, hanya Python dan PIP diperlukan. Ekosistem adalah besar dan meliputi pelbagai bidang, tetapi pengurusan versi dan pergantungan mungkin kompleks.

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Artikel ini membincangkan kaedah pengesanan serangan DDoS. Walaupun tiada kes permohonan langsung "debiansniffer" ditemui, kaedah berikut boleh digunakan untuk pengesanan serangan DDOS: Teknologi Pengesanan Serangan DDo Sebagai contoh, skrip Python yang digabungkan dengan perpustakaan Pyshark dan Colorama boleh memantau trafik rangkaian dalam masa nyata dan mengeluarkan makluman. Pengesanan berdasarkan analisis statistik: dengan menganalisis ciri statistik trafik rangkaian, seperti data

Artikel ini akan membimbing anda tentang cara mengemas kini sijil NginxSSL anda pada sistem Debian anda. Langkah 1: Pasang Certbot terlebih dahulu, pastikan sistem anda mempunyai pakej CertBot dan Python3-CertBot-Nginx yang dipasang. Jika tidak dipasang, sila laksanakan arahan berikut: sudoapt-getupdateudoapt-getinstallcertbotpython3-certbot-nginx Langkah 2: Dapatkan dan konfigurasikan sijil Gunakan perintah certbot untuk mendapatkan sijil let'Sencrypt dan konfigurasikan nginx: sudoCertBot-ninx ikuti

Fungsi Readdir dalam sistem Debian adalah panggilan sistem yang digunakan untuk membaca kandungan direktori dan sering digunakan dalam pengaturcaraan C. Artikel ini akan menerangkan cara mengintegrasikan Readdir dengan alat lain untuk meningkatkan fungsinya. Kaedah 1: Menggabungkan Program Bahasa C dan Pipeline Pertama, tulis program C untuk memanggil fungsi Readdir dan output hasilnya:#termasuk#termasuk#includeintMain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {
