Jadual Kandungan
Latihan bermula - Latihan Bab 1
Latihan diteruskan - Latihan Bahagian 2
Amalan diteruskan - Latihan Bahagian 3
Pengenalan
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Apr 28, 2023 pm 10:46 PM
python api openai

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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Cari SDK terbalik yang sesuai

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Pengarang asal menggunakan ini.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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')
Salin selepas log masuk
.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Kami mengimport pakej terbalik kami.

from revChatGPT.revChatGPT import Chatbot
Salin selepas log masuk

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Ini ialah kod sumber dalam pakej terbalik, yang digunakan untuk memulakan perkhidmatan Kami baru sahaja memanggil pakej ini dalam kelas.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Isi mesej:

{"msg": "你会数学吗"}
Salin selepas log masuk

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": "是的,我会数学。我是一个大型语言模型,我可以回答各种问题,包括数学问题。你有什么数学问题需要我帮助你解决吗?"}
Salin selepas log masuk

yang juga ditakrifkan oleh kami apabila code=0 bermakna interaksi dengan ChatGPT berjaya, maka data ialah ChatGPTMaklum 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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Kini, selain mendapat OpenAi daripada session-token, kita juga perlu mendapatkan cf_clearance.

Pada masa yang sama, kita juga perlu mendapatkan user-agent.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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.

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Lakukan penyelidikan anda sendiri.

Dan ramai pengarang pakej terbalik juga memikirkan penyelesaian yang sempurna, mari tunggu dengan sabar!

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

Kemudian, sila lihat ayat ini:

Cara menggunakan Python untuk menyambung ke OpenAi API untuk melaksanakan robot QQ pintar

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Python vs C: Aplikasi dan kes penggunaan dibandingkan Python vs C: Aplikasi dan kes penggunaan dibandingkan Apr 12, 2025 am 12:01 AM

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.

Cara Menggunakan Log Debian Apache Untuk Meningkatkan Prestasi Laman Web Cara Menggunakan Log Debian Apache Untuk Meningkatkan Prestasi Laman Web Apr 12, 2025 pm 11:36 PM

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: Permainan, GUI, dan banyak lagi Python: Permainan, GUI, dan banyak lagi Apr 13, 2025 am 12:14 AM

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.

Laravel (PHP) vs Python: Persekitaran Pembangunan dan Ekosistem Laravel (PHP) vs Python: Persekitaran Pembangunan dan Ekosistem Apr 12, 2025 am 12:10 AM

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: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

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.

Peranan Sniffer Debian dalam Pengesanan Serangan DDOS Peranan Sniffer Debian dalam Pengesanan Serangan DDOS Apr 12, 2025 pm 10:42 PM

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

Nginx SSL Sijil Tutorial Debian Nginx SSL Sijil Tutorial Debian Apr 13, 2025 am 07:21 AM

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

Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Apr 13, 2025 am 09:42 AM

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) {

See all articles