Versi sekali klik dari model besar yang cocok untuk Gensokyo dan Onebotv11
Akses Pemula-Sederhana ke robot: Cukup sambungkan robot ke 6 platform utama termasuk QQ
Tutorial one-api docking menengah: pengelolaan visual api model besar
Contoh konfigurasi api model besar menengah-model besar domestik
Contoh Konfigurasi API Model Menengah-Besar-Bab Internasional
Siap digunakan - penerapan cepat di Telegram
Siap digunakan - penerapan cepat di Discord
Siap digunakan - penerapan cepat di Kook
Sederhana-KonyolTavern-Hunyuan
Beanbag Sederhana-SillyTavern
Mendukung semua kerangka standar Onebotv11. Mendukung http-api dan membalikkan ws, mendukung streaming, beberapa file konfigurasi (beberapa kata cepat)
Ukuran ultra-kecil, konteks pemeliharaan sqlite bawaan, mendukung proxy,
Docking sekali klik ke kerangka Gensokyo hanya memerlukan konfigurasi alamat http terbalik untuk menerima informasi dan alamat http penerusan untuk memanggil API pengirim.
Secara otomatis menjaga konteks berdasarkan database sqlite. Dalam mode percakapan, gunakan perintah reset untuk mengatur ulang
Sistem, kartu peran, panjang konteks dapat diatur,
Pada saat yang sama, api rasa asli openai dengan konteks otomatis disediakan ke dunia luar (3 parameter klasik, id, id induk, pesan)
Ini dapat dijalankan sebagai API, dan juga dapat dihubungkan ke platform terbuka robot saluran QQ QQ dengan satu klik.
Dapat mengkonversi jenis sse gpt, menambah atau hanya mengirim sse baru
Keamanan memori SSE dalam lingkungan bersamaan mendukung pemeliharaan transmisi SSE dua arah secara simultan untuk banyak pengguna
Tencent Hunyuan
Tencent Yuan Qi
Baidu Wenxin
Ali Tongyi
Spektrum kebijaksanaan Tsinghua
Gunung Berapi Byte (kantong kacang)
OpenAI
GroQ
Pelari wkv
Satu-API
Ubah API platform ini menjadi struktur API terpadu, berikan konteks, dan dukung pengembalian SSE
Dengan menyetel token platform terkait di yml dan menyetel AllApi=true, peralihan panggilan dapat dilakukan secara bersamaan.
Kerangka kerja Gensokyo-platform terbuka QQ
Kerangka Gensokyo-Discord
Kerangka Gensokyo-Kook
Kerangka kerja Gensokyo-akun berlangganan WeChatakun publik
Kerangka Gensokyo-Telegram
Semua implementasi Onebotv11
Berbagai langkah keamanan lengkap untuk memastikan keamanan pengembang dan aplikasi llm semaksimal mungkin.
Beberapa putaran simulasi QA dapat diatur untuk memperkuat kata-kata cepat peran, mengatur ulang balasan, balasan kata yang aman, dan langkah-langkah keselamatan tingkat pertama dapat disesuaikan
Mendukung beberapa interkoneksi gsk-llm untuk membentuk aplikasi ai-agent, seperti satu llm menyortir kata-kata cepat untuk llm lainnya, mengaudit kata-kata cepat, dan langkah-langkah keamanan sekunder
Daftar kata aman vektor, daftar kata intersepsi sensitif berdasarkan kesamaan vektor, dilakukan sebelum penggantian teks, tindakan keamanan ketiga
Aturan penggantian teks IN-Out yang sangat efisien yang diterapkan oleh algoritma AhoCorasick dapat mengganti sejumlah besar n kata kunci dengan kata kunci baru yang sesuai
Hasilnya dapat diteruskan melalui Baidu-Tencent lagi, antarmuka tinjauan teks, langkah-langkah keamanan lapisan kelima
Log dicatat sepenuhnya, dan parameter baris perintah -test dapat dengan cepat menjalankan skrip uji mandiri keamanan dari test.txt.
Baris perintah -mlog akan melakukan pemformatan QA pada semua log yang disimpan saat ini, meninjaunya setiap hari, mengekstrak aturan keamanan baru dari skenario aktual, dan terus meningkatkan langkah keamanan tingkat keenam
Pemfilteran bahasa memungkinkan saya untuk hanya menerima bahasa tertentu, secara otomatis mengubah bahasa Mandarin Tradisional menjadi bahasa Mandarin Sederhana, menerapkan aturan keamanan, dan mempertahankan area yang Anda kuasai
Batasan panjang kata yang cepat, kendalikan keamanan dengan cara yang paling orisinal, cegah pengguna jahat membuat kata-kata cepat yang panjang, langkah-langkah keamanan tingkat kedelapan
Melalui metode ini, ciptakan robot percakapan llm yang seaman mungkin.
Penggantian lapisan ganda teks masuk-keluar, Anda dapat mewujudkan sendiri penggantian dinamis dan modifikasi kata-kata cepat internal, yang lebih aman dan lebih kuat
Berdasarkan struktur tabel data vektor yang dirancang oleh SQLite, caching dapat digunakan untuk menghemat uang. Menyesuaikan tingkat dan akurasi cache hit.
Aplikasi skenario khusus yang dioptimalkan untuk skenario efisiensi tinggi, kinerja tinggi, dan QPS tinggi. Aplikasi ini tidak memiliki fungsi dan instruksi yang berlebihan dan sepenuhnya dirancang untuk manusia digital.
Jalankan program gensokyo-llm yang dapat dieksekusi menggunakan baris perintah
Konfigurasikan config.yml untuk memulai, lalu dengarkan port port untuk menyediakan api /conversation
Mendukung pengembangan middleware. Antara lapisan kerangka gensokyo dan permintaan http gensokyo-llm, middleware dapat dikembangkan untuk mengimplementasikan perluasan vektor, perluasan basis data, dan modifikasi dinamis masalah pengguna.
Mendukung koneksi ws terbalik dan mendukung koneksi simultan ke beberapa http-api onebotv11
Dokumen ini memberikan petunjuk tentang metode pemanggilan antarmuka API dan format file konfigurasi untuk membantu pengguna menggunakan dan mengonfigurasinya dengan benar.
Titik akhir conversation
dan gensokyo
dari sistem ini mendukung penentuan konfigurasi spesifik melalui parameter kueri ?prompt=xxx
.
Parameter prompt
memungkinkan pengguna untuk menentukan file konfigurasi YAML yang terletak di folder prompts
dari file yang dapat dieksekusi (exe). Gunakan parameter ini untuk menyesuaikan perilaku API dan mengembalikan konten secara dinamis.
Folder petunjuknya harus memiliki keyboard.yml default untuk menghasilkan gelembung. Kata-kata perintah sistemnya harus mengikuti aturan petunjuk dari generator gelembung json.
File konfigurasi harus mengikuti format YAML berikut. Contoh file konfigurasi disediakan di sini yang menunjukkan cara menentukan konten dialog untuk berbagai peran:
Prompt :
- role : " system "
content : " Welcome to the system. How can I assist you today? "
- role : " user "
content : " I need help with my account. "
- role : " assistant "
content : " I can help you with that. What seems to be the problem? "
- role : " user "
content : " aaaaaaaaaa! "
- role : " assistant "
content : " ooooooooo? "
settings :
# 以下是通用配置项 和config.yml相同
useSse : true
port : 46233
/gensokyo
titik akhir Sistem mendukung parameter prompt
tambahan dan parameter api
saat membuat permintaan ke titik akhir /gensokyo
. Parameter api
memungkinkan penentuan titik akhir penuh seperti /conversation_ernie
. Untuk mengaktifkan fitur ini, Anda perlu mengaktifkan opsi allapi
di konfigurasi.
Contoh permintaan:
GET /gensokyo?prompt=example&api=conversation_ernie
Daftar titik akhir yang didukung: (Memerlukan konfigurasi: allApi: true)
http . HandleFunc ( "/conversation_gpt" , app . ChatHandlerChatgpt )
http . HandleFunc ( "/conversation_hunyuan" , app . ChatHandlerHunyuan )
http . HandleFunc ( "/conversation_ernie" , app . ChatHandlerErnie )
http . HandleFunc ( "/conversation_rwkv" , app . ChatHandlerRwkv )
http . HandleFunc ( "/conversation_tyqw" , app . ChatHandlerTyqw )
http . HandleFunc ( "/conversation_glm" , app . ChatHandlerGlm )
/conversation
Mirip dengan /gensokyo
, titik akhir /conversation
mendukung parameter prompt
tambahan.
Contoh permintaan:
GET /conversation?prompt=example
prompt
Parameter prompt
yang disediakan akan mereferensikan file YAML yang sesuai di folder /prompts
di direktori yang dapat dieksekusi (misalnya, xxxx.yml
, dengan xxxx
adalah nilai parameter prompt
).
Dengan menulis file yml dalam jumlah besar dengan petunjuknya, Anda dapat mengganti kartu karakter. Dengan karakter yang sama, Anda dapat mengganti alur cerita dan adegan yang berbeda.
Untuk format konfigurasi file YAML, silakan merujuk ke bagian format file konfigurasi YAML . Item konfigurasi yang tercantum di bawah mendukung penggantian dinamis dalam permintaan:
Setiap parameter mengimplementasikan cakupan konfigurasi
Jika ada kelalaian dan cakupan konfigurasi perlu didukung, silakan kirimkan masalahnya.
Semua nilai bool harus ditentukan dalam yml yang dicakup oleh file konfigurasi, jika tidak maka akan dianggap salah.
Penggantian konfigurasi dinamis adalah fitur yang saya buat sendiri. Dengan menggunakan fitur ini, Anda dapat mencapai rekursi antar file konfigurasi, misalnya, Anda dapat meneruskan prompt=a di middleware Anda, menentukan Lotus untuk memanggil dirinya sendiri di a.yml, dan Tentukan berikutnya. parameter prompt di alamat lotus sebagai b, b menentukan c, c menentukan d, dan seterusnya.
Proyek ini mengimplementasikan aliran kontrol kata yang cepat dan metode konstruksi konteks yang dapat dikontrol. Berdasarkan beberapa file konfigurasi yang diterapkan dalam proyek ini, lompatan dan peralihan bersyarat antar file konfigurasi dapat direalisasikan.
Hal ini memungkinkan pengguna untuk beredar di antara beberapa kumpulan kata-kata cepat sesuai dengan beberapa kondisi, secara berurutan, dan opsional, untuk mewujudkan permainan cinta teks, permainan petualangan, alur cerita multi-cabang yang tidak berkelanjutan, dan pekerjaan lainnya.
- [x] promptMarks :
- BranchName : "去逛街路上"
Keywords : ["坐车", "走路", "触发"]
- BranchName : "在家准备"
Keywords : ["等一下", "慢慢", "准备"]
- [x] enhancedQA : true
- [x] promptChoicesQ :
- Round : 1
ReplaceText : "回家吧"
Keywords : ["我累了", "不想去了"]
- Round : 2
ReplaceText : "我们打车去"
Keywords : ["快点去", "想去", "早点"]
- Round : 3
ReplaceText : "我们走着去"
Keywords : ["不着急", "等下"]
- Round : 1
ReplaceText : "放松一下"
Keywords : [] # 相当于 enhancedChoices = false
- [x] promptChoicesA : 同上。
- [x] promptCoverQ : 只有Q没有A,格式同上,Choices是附加,cover是覆盖。
- [x] promptCoverA : # 同上
- [x] switchOnQ :
- round : 1
switch : ["故事退出分支", "下一个分支"]
keywords : ["不想", "累了", "想", "不累"]
- [x] switchOnA :
- round : 1
switch : ["晚上分支"]
keywords : ["时间不早了"]
- [x] exitOnQ :
- round : 1
keywords : ["退出", "忘了吧", "重置", "无聊"]
- [x] exitOnA :
- round : 1
keywords : ["退出", "我是一个AI", "我是一个人工", "我是一个基于"]
- [x] envType : 0 # 0=不使用场景描述, 1=在本轮llm回复前发送场景描述, 2=在本轮llm回复后发送场景描述, 场景描述支持[image:xxx][pic:xxx][图片:xxx][背景:xxx]标签, xxx为相对或绝对路径, 需在exe运行目录下
- [x] envPics : [] # 现阶段ai速度太慢,人工指定,数组代表多个,每个数组成员以1: 2: 开始代表对应第几轮.
- [x] envContents : [] # 如果要跳过某个轮次,直接指定文字是2: 图片也是2: 代表本轮文图是空的.
- [x] promptChanceQ :
- probability : 50
text : "让我们休息一下"
- probability : 30
text : "继续前进"
- probability : 70
text : "停下来看看周围"
- probability : 10
text : "尝试一些新东西"
Semua parameter di atas terletak di bagian pengaturan file multi-konfigurasi. Anda dapat menentukan panjang kata-kata prompt untuk setiap adegan dan panjang setiap adegan promptMarksLength untuk mengontrol perincian plot.
Metode pemicu mode cerita 1, kontrol middleware, memanggil port /gensokyo dengan sendirinya dan melampirkan parameter prompt yang berbeda, dan memotong secara manual
Tetapkan alamat http api kerangka robot ob11 di gsk-llm. Aplikasi plug-in ob11 tidak bertanggung jawab untuk mengirimkan pesan. Aplikasi ini hanya membuat penilaian bersyarat berdasarkan konten pesan mengendalikan kondisi.
Metode pemicu mode cerita kedua adalah berpindah cabang secara otomatis berdasarkan kata kunci dengan mengonfigurasi switchOnQ dan switchOnA di file konfigurasi default config.yml.
Dikombinasikan dengan kemampuan file konfigurasi dalam parameter prompt untuk memajukan cerita, alur cerita AI dasar yang berfokus pada kata-kata cepat dapat direalisasikan. Selain itu, perlu juga merancang -keyboard.yml yang sesuai untuk setiap prompt.yml menghasilkan gelembung.
Kata kunci dari promptMarks adalah [], yang berarti menekan promptMarksLength untuk mengganti file kata prompt. promptMarksLength mewakili panjang konteks yang dipertahankan oleh file kata prompt ini.
Ketika promptMarksLength kurang dari 0, cabang berikutnya akan dibaca dari promptMarks dan dialihkan secara acak dari cabang tersebut. Ketika promptMarkType=1,
1=Dipicu berdasarkan kondisi, juga dipicu ketika promptMarksLength tercapai.
Untuk detail konfigurasi, lihat proses control-promptmarks.md
Cabang ini akan terpicu ketika pengguna dan model mengucapkan tanda tersebut (Anda perlu menulis sendiri kata promptnya agar saya dapat mengucapkannya sesuai dengan kondisi.)
Anda dapat menggunakan kata-kata perintah sistem dan QA dari fragmen cerita saat ini untuk memandu AI mengeluarkan kata-kata peralihan yang Anda setujui, sehingga merancang beberapa kata pemicu untuk setiap cabang target dan memungkinkan model besar untuk menentukan arah pengembangan. cerita itu sendiri.
Ketika EnhancedQA salah, QA yang telah ditentukan sebelumnya dalam file konfigurasi akan ditambahkan ke bagian atas QA pengguna dan ada di memori llm (tanpa mempengaruhi arah dialog keseluruhan) untuk membentuk dampak yang lemah.
Ketika enhancementQA benar, saya mencoba memindahkan posisi QA yang telah ditentukan sebelumnya di file konfigurasi dari atas ke bawah ke depan percakapan pengguna saat ini, tetapi efeknya tidak ideal,
Saat ini, ini akan dicampur dan diintegrasikan dengan QA historis pengguna saat ini untuk memandu masukan pengguna sampai batas tertentu, sehingga mempengaruhi arah proses cerita.
Parameter "aliran kontrol konfigurasi" diperkenalkan, yang merupakan metode yang kurang fleksibel dibandingkan ai-agent, tetapi memiliki pengendalian plot yang lebih tinggi, kecepatan pembangkitan yang lebih rendah, dan biaya yang lebih rendah.
promptChoicesQ & promptChoicesA Dokumentasi: Kontrol Proses-promptchoicesQ Kontrol Proses-promptCoverQ Kontrol Proses-promptChanceQ
switchOnQ berarti berpindah cabang saat ini ketika teks yang cocok ditemukan di Q. Hal yang sama berlaku untuk switchOnA, dan metode konfigurasinya sama dengan promptChoices.
Sakelar kontrol proses pada QA
exitOnQ berarti cabang saat ini akan keluar ketika kata kunci yang ditentukan terdeteksi. Kontrol proses-keluarQA
promptMarks, switchOnQ, dan switchOnA secara fungsional sama, semuanya melompat ke cabang berdasarkan kata kunci. promptMarks dijalankan terlebih dahulu, terlepas dari putaran atau QA. switchOnQ dan switchOnA lebih spesifik, membedakan Q dan A, membedakan putaran, detail implementasi Lompat.
Jika ada cabang tetap yang tidak perlu dialihkan, silakan atur promptMarksLength yml ke 99999
PromptMarksLength: 99999
Hal ini untuk menghindari kesalahan peralihan ke cabang yang tidak ada sehingga menyebabkan kesalahan sesi.
Alur kontrol konfigurasi sederhana dan intuitif. Logika dialog dikelola melalui file konfigurasi. File konfigurasi mudah dipelihara. Personil non-teknis, seperti penulis plot, dapat langsung mempelajari aturan file konfigurasi dan memodifikasi file konfigurasi perbarui logika dialog tanpa pengetahuan pemrograman.
Kepastian plot yang tinggi: Mengingat masukan dan konfigurasi yang sama, arah plot secara umum konsisten, yang sangat penting untuk memastikan koherensi dan prediktabilitas plot dialog.
Biayanya rendah, dan konteksnya digabungkan dan diganti secara cerdik alih-alih diproses oleh beberapa AI secara bersamaan. Ini menghabiskan jumlah token yang hampir sama dengan percakapan normal, sehingga menghemat uang.
Cepat, memberikan hasil seperti QA dialog normal, dan menulis plot seperti skrip game.
Cerita AI berbiaya rendah dan solusi baru yang cocok untuk pengembang individu dan tim pengembangan kecil. Biaya rendah, kecepatan tinggi, dan kemampuan pengendalian tinggi. Efeknya akan meningkat secara langsung dengan peningkatan model dan efek kata cepat.
Untuk skenario obrolan plot dialog, jika plotnya relatif tetap, jalur dialog telah diatur sebelumnya, dan frekuensi pembaruan tidak tinggi, maka lebih cocok menggunakan aliran kontrol konfigurasi, karena memberikan tingkat pengendalian yang tinggi dan kemudahan penggunaan. -memahami metode manajemen.
Jika sistem dialog memerlukan interaktivitas dan personalisasi tingkat tinggi, atau perubahan plot bersifat kompleks dan perlu disesuaikan secara dinamis berdasarkan masukan dan perilaku spesifik pengguna, maka mungkin lebih tepat menggunakan solusi agen berbasis AI, yang mana memerlukan investasi teknis dan biaya pemeliharaan yang lebih tinggi.
Bagian ini menjelaskan informasi titik akhir spesifik untuk berkomunikasi dengan API.
milik | Detail |
---|---|
URL | http://localhost:46230/conversation |
metode | POST |
Isi permintaan yang harus dikirim klien ke server harus dalam format JSON. Tabel berikut merinci tipe data dan deskripsi setiap bidang.
Nama bidang | jenis | menggambarkan |
---|---|---|
message | Rangkaian | Isi pesan yang dikirim oleh pengguna |
conversationId | Rangkaian | Pengidentifikasi unik untuk sesi percakapan saat ini |
parentMessageId | Rangkaian | Pengidentifikasi pesan sebelumnya yang terkait dengan pesan ini |
Objek JSON berikut menunjukkan struktur isi permintaan saat mengirim permintaan ke titik akhir API ini:
{
"message" : "我第一句话说的什么" ,
"conversationId" : " 07710821-ad06-408c-ba60-1a69bf3ca92a " ,
"parentMessageId" : " 73b144d2-a41f-4aeb-b3bb-8624f0e54ba6 "
}
Contoh ini menunjukkan cara membuat isi permintaan yang berisi konten pesan, pengidentifikasi unik untuk sesi percakapan saat ini, dan pengidentifikasi untuk pesan sebelumnya. Format ini memastikan bahwa data yang diminta tidak hanya mematuhi aturan pemrosesan server, namun juga memfasilitasi pemeliharaan konsistensi konteks percakapan.
Respons yang berhasil akan mengembalikan kode status 200
dan objek JSON dengan bidang berikut:
Nama bidang | jenis | menggambarkan |
---|---|---|
response | Rangkaian | Konten pesan respons antarmuka |
conversationId | Rangkaian | Pengidentifikasi unik untuk percakapan saat ini |
messageId | Rangkaian | Pengidentifikasi unik dari pesan saat ini |
details | Obyek | Sertakan detail penggunaan tambahan |
usage | Objek ( details ) | Detail penggunaan seperti jumlah token |
{
"response" : "回答内容" ,
"conversationId" : " c9b8746d-aa8c-44b3-804a-bb5ad27f5b84 " ,
"messageId" : " 36cc9422-da58-47ec-a25e-e8b8eceb47f5 " ,
"details" : {
"usage" : {
"prompt_tokens" : 88 ,
"completion_tokens" : 2
}
}
}
Dapat berjalan di berbagai arsitektur (Android asli belum didukung, sqlitev3 memerlukan cgo). Karena kompilasi cgo rumit, platform arm, atau arsitektur lain, Anda dapat mencoba mengkompilasinya secara lokal di bawah arsitektur sistem yang sesuai.
Metode API memanggil saluran QQ untuk akses langsung
Parameter permintaan auditor
Jika permintaan perlu dikirimkan ke GSK LLM lain sebagai auditor, format JSON yang harus dikembalikan adalah sebagai berikut:
{ "result" : %s }
%s
di sini mewakili placeholder yang akan diganti dengan nilai floating point tertentu.
Hasil permintaan pembuatan gelembung
Saat meminta GSK LLM lain untuk membuat bubble, format JSON yang harus dikembalikan adalah sebagai berikut:
[ " " , " " , " " ]
Artinya, hasil dari pembuatan bubble adalah array yang berisi tiga string. Format ini digunakan untuk menentukan tiga gelembung berbeda saat mengembalikan hasil, atau kurang dari atau sama dengan 3.
Tidak perlu lagi membuka beberapa gsk-llm untuk mengimplementasikan fungsi seperti agen Berdasarkan cakupan multi-konfigurasi baru, parameter prompt, dan fitur lotus, Anda dapat meminta sendiri untuk mengimplementasikan fitur kompleks seperti pembuatan gelembung dan kemajuan cerita.
GetAIPromptkeyboardPath dapat berupa alamatnya sendiri atau dapat memiliki parameter prompt.
Saat menggunakan middleware untuk menentukan parameter prompt, konfigurasinya terletak di folder prompt dan formatnya adalah xxx-keyboard.yml. Jika middleware tidak digunakan, harap tentukan parameter prompt di jalur dan tempatkan xxx.yml yang sesuai di prompt map.
Tetapkan alamat / percakapan dari kerja sama gsk-llm dari kata-kata prompt sistem. Disepakati bahwa kata-kata prompt sistem perlu mengembalikan array teks json (3).
Proyek ini mengacu pada ide dari proyek terkenal berikut dan mengimplementasikan format konfigurasi aliran kontrol teks AI yang disederhanakan.
Rasa
Membelitkan
Penulis tinta