Rantai Cepat

Apr 08 2023
Ada munculnya alat Pemrograman Visual yang memfasilitasi rangkaian permintaan model bahasa besar ke dalam aplikasi; yang sebagian besar merupakan UI percakapan. Beberapa Latar Belakang Sejumlah kerangka kerja pengembangan chatbot telah menyertakan LLM dalam fungsinya.

Ada munculnya alat Pemrograman Visual yang memfasilitasi rangkaian permintaan model bahasa besar ke dalam aplikasi; yang sebagian besar merupakan UI percakapan.

Beberapa Latar Belakang

Sejumlah kerangka kerja pengembangan chatbot telah menyertakan LLM dalam fungsinya. Fungsionalitas ini seharusnya melengkapi biaya pengembangan chatbot yang ada. Namun, implementasi kerangka kerja pengembangan chatbot dari LLM ini sangat mirip .

Implementasi awal ini diikuti oleh gelombang kedua generasi aliran percakapan dan asisten desain percakapan; yang dipelopori oleh Cognigy . Dan selanjutnya disusul oleh Yellow AI dan Kore AI.

L LM sangat serbaguna dengan kemampuan terbuka.

Voiceflow & Botpress telah memperkenalkan fungsionalitas yang menyerupai rangkaian prompt, sejauh prompt dapat dikirimkan ke LLM dan nilai dapat diekstraksi dari respons yang dihasilkan.

Pada artikel ini saya ingin mempertimbangkan prinsip-prinsip yang mendasari ketika merancang dan membangun antarmuka pemrograman visual chaining prompt asli.

Antarmuka Pengguna Native Prompt Chaining

Saat merangkai Permintaan Model Bahasa Besar melalui UI Pemrograman Visual, bagian terbesar dari fungsionalitasnya adalah GUI yang memfasilitasi proses penulisan.

Di bawah ini adalah gambar seperti apa GUI untuk rekayasa cepat, dan pembuatan rantai cepat mungkin terlihat. Desain ini berasal dari penelitian yang dilakukan oleh University of Washington dan Google.

Sumber

Antarmuka perlu menawarkan perincian pada berbagai tingkat proses pembuatan. Mengingat proses rantai, jelas bahwa antara rantai ada koneksi.

Alat rantai cepat atau alat rantai LLM apa pun harus mendukung transformasi data di antara langkah-langkah rantai. Mempertimbangkan bahwa dalam banyak kasus LLM akan mengembalikan data yang tidak terstruktur, akan ada tingkat penataan dan transformasi data yang diperlukan.

Elemen kedua adalah sifat LLM yang sedikit tidak dapat diprediksi. LLM dapat menghasilkan banyak tanggapan untuk prompt yang sama. Hal ini menimbulkan tantangan untuk mengalirkan respons yang tidak diinginkan dalam rantai cepat. Di mana data tak terduga disebarkan ke seluruh rantai.

Karena tidak ada kompilasi kode, prompt dapat dikustomisasi saat run-time tanpa memerlukan pelatihan model khusus.

Tugas baru dapat dengan mudah diserap oleh aplikasi LLM Chained, cukup dengan mengikuti instruksi bahasa alami yang disebut prompt.

Memang, banyak aplikasi dunia nyata melibatkan tugas multi-langkah yang kompleks dan seringkali paralel yang menimbulkan tantangan untuk satu contoh rantai.

Mempertimbangkan tumpukan fungsionalitas di bawah ini, aplikasi rangkaian cepat berdasarkan Model Bahasa Besar (LLM) & AI Generatif harus memiliki tiga komponen utama:

⏺ LLM

Pembantu

Komunikasi

Diadaptasi dari sumber

LLM

Untuk banyak rantai/node, keluaran LLM dapat digunakan tanpa diedit seperti yang disediakan oleh LLM. Dalam kebanyakan kasus, tampilan ini akan disajikan kepada pengguna, atau transformasi data mungkin diperlukan untuk rangkaian berikutnya di Aplikasi LLM (alias Gen App).

Keluaran LLM akan menentukan rantai mana yang akan dicabangkan, oleh karena itu tepi rantai/simpul ini harus berisi aturan dan ketentuan.

Pertimbangan terakhir adalah menggunakan LLM sebagai classifier . LLM dapat diimplementasikan dalam kapasitas generatif atau prediktif . AI generatif adalah sisi LLM yang paling populer dan paling mudah diakses. Prediktif lebih rumit dan membutuhkan lebih banyak penyesuaian atau setidaknya petunjuk yang tepat.

Memanfaatkan LLM sebagai pengklasifikasi (karenanya prediktif) dalam rantai, membuat simpul pengambilan keputusan dari aplikasi rantai menjadi cerdas dan fleksibel.

Akan selalu ada godaan untuk membuat keputusan kode/skrip dengan cepat ; juga disebut sebagai titik rantai-transisi. Ini adalah perbaikan cepat; tetapi sekali lagi memperkenalkan kekakuan ke dalam aplikasi LLM Chaining.

Pembantu

Pembantu membantu dalam evaluasi keluaran LLM, dengan mempertimbangkan aspek-aspek seperti kesopanan, empati, dll. Pembantu juga dapat mengurutkan ulang atau mengirim ulang permintaan.

Karena perincian adalah persyaratan untuk implementasi produksi apa pun, menyesuaikan aplikasi berantai cepat akan menjadi penting. Suatu bentuk skrip akan diperlukan untuk pemrosesan dan transformasi data.

Scripting merangkum biaya pengembangan yang diberikan kepada pembuat rantai untuk mengimplementasikan langkah-langkah kontrol, transformasi data, dan lainnya.

Komunikasi

Komunikasi berlangsung dalam beberapa tingkatan, terdapat input data pengguna berupa data percakapan yang tidak terstruktur.

Tindakan pengguna lainnya seperti meminta pengguna untuk memilih respons terbaik, atau membuat ambigu berdasarkan beberapa kemungkinan.

Dan tentu saja sistem pihak ketiga (API) akan diinterogasi untuk implementasi perusahaan atau produksi apa pun.

Mempertimbangkan Desain PromptChainer

Antarmuka PromptChainer memiliki visualiser tampilan rantai di mana struktur rantai dengan ujung-simpul atau "antar-rantai" dapat dibuat, diedit, dibaca, dan dihapus [A].

Penampil node mendukung penerapan, peningkatan, dan pengujian setiap node atau rantai individu [B]. Pengeditan petunjuk untuk setiap node dapat dilakukan di sini.

PromptChainer juga mendukung menjalankan chain end-to-end [C] dengan opsi untuk menghapus cache, melihat run log, dll.

Sumber

Berdasarkan penelitian kuantitatif yang dilakukan oleh University of Washington dan Google Research, penemuan dibuat tentang bagaimana pengguna membuat dan men-debug rantai:

[1] Pengguna ingin membangun rantai untuk tidak hanya mengurangi batasan LLM, tetapi juga membuat aplikasi mereka dapat diperluas dan diskalakan.

[2] Beberapa pengguna membuat satu langkah rantai pada satu waktu, sementara yang lain membuat sketsa placeholder abstrak untuk semua langkah sebelum mengisinya.

[3] Interaksi antara beberapa prompt LLM dan rantai bisa rumit, membutuhkan debugging prompt lokal dan global.

Mempertimbangkan gambar di bawah ini, berikut adalah deskripsi untuk setiap node atau rantai:

[1] Tentukan input ke rantai

[2,3] Gunakan output LLM untuk memfilter dan mencabangkan input.

[4] Gunakan output LLM secara langsung sebagai output node.

[5] Fungsi JavaScript yang telah diimplementasikan sebelumnya untuk transformasi data tipikal.

[6] Gunakan output LLM secara langsung sebagai output node.

[7] Panggil fungsi eksternal untuk menghubungkan layanan profesional dengan LLM.

[8] Fungsi JS yang ditentukan pengguna, jika pembantu yang ditentukan sebelumnya tidak mencukupi.

[9] Gunakan output LLM secara langsung sebagai output node.

[10] Saring atau rangking ulang keluaran LLM berdasarkan kriteria yang dirancang manusia, misalnya, kesopanan. Mengaktifkan pengeditan eksternal (pengguna akhir) pada titik data perantara.

Diadaptasi dari sumber

Kesimpulannya

Ada beberapa istilah yang digunakan saat ini untuk aplikasi yang dibangun di atas Model Fondasi dan Model Bahasa Besar. Istilah-istilah ini adalah Aplikasi Gen, Aplikasi Generatif, Aplikasi LLM, Rantai Prompt, Rantai LLM, dan lainnya.

Cukuplah untuk mengatakan, bahwa ada kebutuhan untuk membangun Model Besar, dan entah bagaimana memanfaatkan kekuatan LLM.

Kebutuhan ini akan didukung oleh prinsip-prinsip berikut:

  1. Anjuran
  2. Memanfaatkan kemampuan Prediktif dan Generatif LLM.
  3. Rantai Anjuran; baik secara paralel maupun seri.
  4. Editor visual untuk rantai/simpul dan tepi pemrograman, antar-simpul/rantai.
  5. Transformasi data Respons LLM.
  6. Aplikasi Berantai LLM akan bersifat percakapan untuk input dan output, atau output juga dapat merangkum komponen RPA.

Saat ini saya adalah Ketua Penginjil @ HumanFirst . Saya menjelajahi dan menulis tentang semua hal di persimpangan AI dan bahasa; mulai dari LLM , Chatbots , Voicebots , Kerangka Pengembangan, ruang laten Data-Centric dan banyak lagi.

https://www.linkedin.com/in/cobusgreyling
Desain Cobus Quadrant™ NLU Kemampuan Desain Percakapan Cobus Quadrant™

PromptChainer: Merangkai Perintah Model Bahasa Besar melalui Pemrograman Visual.