Paket ini mengintegrasikan model bahasa besar (LLM) ke dalam spacy, menampilkan sistem modular untuk prototyping dan dorongan cepat , dan mengubah respons yang tidak terstruktur menjadi output yang kuat untuk berbagai tugas NLP, tidak diperlukan data pelatihan .
llm
Serializable Untuk mengintegrasikan petunjuk ke dalam pipa spacy Andalangchain
dapat digunakan dalam spacy-llm
Model Bahasa Besar (LLM) menampilkan kemampuan pemahaman bahasa alami yang kuat. Dengan hanya beberapa (dan kadang -kadang tidak) contoh, LLM dapat diminta untuk melakukan tugas NLP khusus seperti kategorisasi teks, pengakuan entitas yang disebutkan, resolusi coreference, ekstraksi informasi dan banyak lagi.
Spacy adalah perpustakaan yang mapan untuk membangun sistem yang perlu bekerja dengan bahasa dengan berbagai cara. Komponen bawaan Spacy umumnya didukung oleh pembelajaran yang diawasi atau pendekatan berbasis aturan.
Pembelajaran yang diawasi jauh lebih buruk daripada LLM yang diminta untuk membuat prototipe, tetapi untuk banyak tugas itu jauh lebih baik untuk produksi. Model transformator yang berjalan dengan nyaman pada satu GPU sangat kuat, dan cenderung menjadi pilihan yang lebih baik untuk tugas apa pun yang Anda miliki output yang terdefinisi dengan baik. Anda melatih model dengan apa pun mulai dari beberapa ratus hingga beberapa ribu contoh berlabel, dan itu akan belajar melakukan hal itu. Efisiensi, keandalan, dan kontrol semuanya lebih baik dengan pembelajaran yang diawasi, dan akurasi umumnya akan lebih tinggi dari yang diminta LLM juga.
spacy-llm
memungkinkan Anda memiliki yang terbaik dari kedua dunia . Anda dapat dengan cepat menginisialisasi pipa dengan komponen yang ditenagai oleh petunjuk LLM, dan secara bebas mencampur komponen yang ditenagai oleh pendekatan lain. Saat proyek Anda berlangsung, Anda dapat melihat mengganti sebagian atau semua komponen bertenaga LLM yang Anda butuhkan.
Tentu saja, mungkin ada komponen dalam sistem Anda di mana kekuatan LLM sepenuhnya dibenarkan. Jika Anda menginginkan sistem yang dapat mensintesis informasi dari beberapa dokumen dengan cara yang halus dan menghasilkan ringkasan yang bernuansa untuk Anda, lebih besar lebih baik. Namun, bahkan jika sistem produksi Anda membutuhkan LLM untuk beberapa tugas, itu tidak berarti Anda membutuhkan LLM untuk semua itu. Mungkin Anda ingin menggunakan model klasifikasi teks murah untuk membantu Anda menemukan teks untuk diringkas, atau mungkin Anda ingin menambahkan sistem berbasis aturan untuk Sanity memeriksa output ringkasan. Tugas sebelum dan sesudah ini jauh lebih mudah dengan perpustakaan yang matang dan dipikirkan dengan matang, yang persis seperti yang disediakan Spacy.
spacy-llm
akan diinstal secara otomatis di versi spacy di masa mendatang. Untuk saat ini, Anda dapat menjalankan yang berikut di lingkungan virtual yang sama di mana Anda sudah menginstal spacy
.
python -m pip install spacy-llm
️ Paket ini masih eksperimental dan ada kemungkinan bahwa perubahan yang dilakukan pada antarmuka akan pecah dalam pembaruan versi minor.
Mari kita jalankan beberapa klasifikasi teks menggunakan model GPT dari OpenAi.
Buat kunci API baru dari openai.com atau ambil yang sudah ada, dan pastikan kunci ditetapkan sebagai variabel lingkungan. Untuk informasi latar belakang lebih lanjut, lihat dokumentasi seputar pengaturan tombol API.
Untuk melakukan beberapa percobaan cepat, dari 0.5.0 dan seterusnya Anda dapat menjalankan:
import spacy
nlp = spacy . blank ( "en" )
llm = nlp . add_pipe ( "llm_textcat" )
llm . add_label ( "INSULT" )
llm . add_label ( "COMPLIMENT" )
doc = nlp ( "You look gorgeous!" )
print ( doc . cats )
# {"COMPLIMENT": 1.0, "INSULT": 0.0}
Dengan menggunakan pabrik llm_textcat
, versi terbaru dari tugas TextCat bawaan digunakan, serta model GPT-3-5 default dari OpenAI.
Untuk mengontrol berbagai parameter pipa llm
, kita dapat menggunakan sistem konfigurasi Spacy. Untuk memulai, buat config file config.cfg
yang berisi setidaknya yang berikut (atau lihat contoh lengkapnya di sini):
[nlp]
lang = " en "
pipeline = [ " llm " ]
[components]
[components.llm]
factory = " llm "
[components.llm.task]
@ llm_tasks = " spacy.TextCat.v3 "
labels = [ " COMPLIMENT " , " INSULT " ]
[components.llm.model]
@ llm_models = " spacy.GPT-4.v2 "
Sekarang jalankan:
from spacy_llm . util import assemble
nlp = assemble ( "config.cfg" )
doc = nlp ( "You look gorgeous!" )
print ( doc . cats )
# {"COMPLIMENT": 1.0, "INSULT": 0.0}
Itu saja! Ada banyak fitur lain-templating cepat, lebih banyak tugas, logging dll. Untuk informasi lebih lanjut tentang cara menggunakannya, lihat https://spacy.io/api/large-language-odels.
Dalam waktu dekat, kami akan melakukannya
PR selalu diterima!
Jika Anda memiliki pertanyaan tentang penggunaan spacy-llm
, atau ingin memberi kami umpan balik setelah memberikan putaran, silakan gunakan papan diskusi. Laporan bug dapat diajukan pada pelacak masalah spacy. Terima kasih!
Silakan merujuk ke panduan migrasi kami.