Saya baru-baru ini menerima e-mel daripada seorang ulama yang berbakat bertanyakan bagaimana Botpress antara muka dengan LLMs .
Dia sedang menulis kertas kerja tentang mengelakkan penguncian vendor, dan ingin tahu sama ada kami mungkin menggunakan rangka kerja seperti LangChain atau Haystack.
Saya lebih daripada gembira untuk berkongsi dengannya bahawa kami mencipta abstraksi kami sendiri yang membenarkan Botpress pembina untuk berinteraksi dengan LLMs .
Memandangkan minat yang lebih meluas dalam subjek ini, saya ingin mendedahkan maklumat ini kepada umum. Ia mungkin berguna untuk pembangun lain atau pengguna platform kami. Saya harap anda mendapati ia menarik seperti yang saya dapati menciptanya.
Dua cara Botpress antara muka dengan LLMs
Botpress telah mencipta abstraksi sendiri yang berfungsi dalam dua cara:
1. Integrasi
Integrasi mempunyai konsep tindakan yang mempunyai jenis input dan output tertentu.
Kami mempunyai komponen sumber terbuka pada platform, jadi komuniti boleh mencipta integrasi mereka sendiri yang boleh sama ada peribadi atau tersedia untuk kegunaan awam.
Jadi LLM pembekal - OpenAI , Anthropic, Groq, dsb. – masing-masing mempunyai integrasi. Itulah salah satu cara pengguna kami boleh berhubung dengan mereka.
2. LLM antara muka integrasi
Di samping konsep penyepaduan, kami menambah "antara muka."
Ini hanyalah takrifan skema standard yang boleh diperluaskan oleh penyepaduan. Kami mencipta skema standard untuk LLMs .
Selagi penyepaduan memanjangkan skema ini, penyepaduan itu dianggap sebagai LLM pembekal. Jadi ia berfungsi di luar kotak masuk Botpress .
Berikut adalah beberapa contoh Botpress integrasi untuk berbeza LLM pembekal:
Kami mempunyai antara muka yang serupa untuk text2image, image2text, voice2text, text2voice, dsb.
Konfigurasi model
Di dalam Botpress Studio, kami mempunyai dua konfigurasi umum: "Model Terbaik" dan "Model Pantas". Kami mendapati bahawa secara umum, kebanyakan tugas mudah sesuai dengan salah satu daripada dua mod ini.
Tetapi sebagai tambahan kepada hanya pemilihan model tulen, kami mendapati bahawa pembekal yang berbeza terlalu banyak menyimpang pada panggilan alat dan format mesej untuk dapat menukar satu model dengan model yang lain dengan mudah dan mengharapkan prestasi yang baik.
The Botpress enjin inferens
Oleh sebab itu, kami mencipta enjin inferens kami sendiri yang dipanggil LLMz, yang berfungsi dengan mana-mana model tanpa (atau sangat minimum) perubahan segera diperlukan. Dan ia menyediakan panggilan alat yang lebih baik dan selalunya prestasi yang lebih baik dari segi kos token dan LLM pergi balik.
Enjin ini berfungsi dengan jenis skrip taip di belakang tabir untuk definisi alat, penurunan harga untuk mesej dan format output kod, dan LLM -kotak pasir pelaksanaan asli untuk inferens.
LLMz menyediakan banyak pengoptimuman dan ciri penyahpepijatan yang diperlukan untuk kes penggunaan lanjutan seperti:
- Pemampatan token input
- Pemangkasan token pintar
- Memori-ke-konteks yang dioptimumkan token
- Panggilan alat selari & komposit
- Campuran berbilang mesej + panggilan alat dalam satu LLM panggilan
- Jenis alat selamat (input & output) sepenuhnya
- Sesi berpanjangan melalui siri kotak pasir
- Alat mengejek, membalut dan mengesan
- Pengasingan pelaksanaan penuh dalam pengasingan ringan V8 (membolehkan untuk menjalankan beribu-ribu pelaksanaan serentak dengan pantas dan sangat murah)
- Lelaran automatik dan pemulihan ralat
Semua perkara ini diperlukan untuk kes penggunaan kami. Tetapi ia sama ada mustahil atau sangat sukar dilakukan dengan panggilan alat biasa.
Kes terhadap model penghala ringan
Kami sudah lama berfikir tentang membina model penghala ringan yang akan diletakkan di atas model sedia ada dan secara automatik memilih model yang sesuai untuk tugas yang sedang dijalankan.
Tetapi kami memutuskan untuk tidak berbuat demikian atas beberapa sebab:
1. Kebolehramalan
Kebanyakan pelanggan kami – boleh difahami – mahukan hasil yang boleh dipercayai dan boleh diramal.
Jadi idea penghala model dinamik agak menakutkan untuk ejen peringkat tinggi. Ia membawa satu lagi lapisan ketidakpastian kepada LLMs .
2. Kelajuan
Latensi sangat penting untuk kes penggunaan kami. Untuk penghala menjadi pantas, model mestilah sangat kecil (dan boleh dikatakan bodoh) daripada model yang akan dihalakan - mungkin pengelas tradisional.
Walaupun ini secara amnya berprestasi baik apabila mereka dilatih mengenai tugasan tertentu, a) saiz konteks pendek mereka adalah isu untuk gesaan yang panjang dan b) mereka gagal untuk membuat generalisasi kepada gesaan lain di luar perkara yang telah mereka latih.
3. Ketuanan model atau kesamarataan model
Walaupun penanda aras mungkin berkata sebaliknya, di alam liar, kami jarang melihat model berprestasi tinggi GPT -4o (setakat ini).
Ia masih tidak jelas jika LLMs akan benar-benar berprestasi lebih baik pada tugasan X daripada tugas Y dari semasa ke semasa, atau jika semua LLMs akan menjadi sangat baik dalam kebanyakan perkara. Dalam kes yang terakhir, pemilihan model tidak akan berbaloi dengan usaha.
Kalis masa depan LLMs dengan maklum balas
LLMs akan menjadi komoditi dalam beberapa tahun dan pemilihan model tidak akan menjadi satu perkara.
Atas sebab itu, kami memutuskan untuk melaburkan usaha kami dalam menyediakan mekanisme yang baik untuk menyediakan LLMs dengan contoh.
Jadi kami telah membina sistem untuk menangkap maklum balas. Ia menyimpan "pembelajaran" untuk pelaksanaan masa hadapan. Dan ia secara dinamik menyediakan pembelajaran yang paling relevan pada masa yang pantas untuk pelaksanaan masa hadapan, untuk memastikan peningkatan yang boleh dipercayai dan berterusan dari semasa ke semasa.
Sebagai LLMs setiap membina ke arah prestasi yang lebih tinggi dan lebih tinggi, kami bersedia dan teruja untuk memanfaatkannya sepenuhnya untuk pengguna platform kami.
Senarai Kandungan
Ikuti perkembangan terkini tentang ejen AI
Kongsi ini pada: