06. GPT4ALL Embedding
GPT4ALL
GPT4All (opens in a new tab) adalah chatbot yang bebas digunakan, dijalankan secara lokal, dan sadar akan privasi.
Tidak memerlukan GPU atau koneksi internet, dan menawarkan model populer seperti GPT4All Falcon dan Wizard, serta modelnya sendiri.
Buku catatan ini menjelaskan cara menggunakan penyematan GPT4All (opens in a new tab) dengan LangChain.
Menginstal binding Python GPT4All
Untuk menginstal binding Python GPT4All, jalankan perintah berikut
%pip install --upgrade --quiet gpt4all > /dev/null
- Impor kelas
GPT4AllEmbeddings
dari modullangchain_community.embeddings
.
GPT4AllEmbeddings
adalah kelas yang menyediakan kemampuan untuk menyematkan data teks sebagai vektor menggunakan model GPT4All. Kelas ini mengimplementasikan antarmuka penyematan kerangka kerja LangChain, yang memungkinkannya untuk digunakan dengan berbagai fitur LangChain.
from langchain_community.embeddings import GPT4AllEmbeddings
GPT4All menggunakan penerjemah kalimat pembelajaran kontras yang dioptimalkan oleh CPU untuk menghasilkan penyematan berkualitas tinggi untuk dokumen teks dengan panjang yang berubah-ubah. Kualitas sematan ini sebanding dengan banyak tugas yang menggunakan OpenAI.
Buatlah sebuah instance dari kelas GPT4AllEmbeddings
.
GPT4AllEmbeddings
adalah model penyematan yang menggunakan model GPT4All untuk mengubah data teks menjadi vektor.- Dalam kode ini, kami menetapkan instance
GPT4AllEmbeddings
ke variabelgpt4all_embd
. - Anda kemudian dapat menggunakan
gpt4all_embd
untuk mengonversi data teks menjadi vektor.
gpt4all_embd = GPT4AllEmbeddings() # Membuat objek embedding GPT4All.
Dalam variabel teks, tetapkan string “Ini adalah contoh kalimat untuk menguji penyematan.” ke string
text = (
"Ini adalah kalimat contoh untuk menguji embedding." # Mendefinisikan teks dokumen untuk pengujian.
)
Menyematkan Data Tekstual
Proses penyematan data teks adalah sebagai berikut
Pertama, kami melakukan tokenisasi data teks dan mengubahnya menjadi bentuk angka.
Hal ini dilakukan dengan menggunakan tokeniser yang sudah dilatih untuk memisahkan teks menjadi token dan memetakan setiap token ke bilangan bulat yang unik.
Selanjutnya, data yang telah ditokenisasi dimasukkan ke dalam embedding layer untuk mengubahnya menjadi vektor padat berdimensi tinggi.
Dalam proses ini, setiap token direpresentasikan sebagai vektor nilai riil yang menangkap makna dan konteks token tersebut.
Akhirnya, vektor yang disematkan dapat digunakan untuk berbagai tugas pemrosesan bahasa alami.
Sebagai contoh, vektor-vektor tersebut dapat digunakan sebagai data masukan untuk meningkatkan kinerja model dalam tugas-tugas seperti klasifikasi dokumen, analisis sentimen, dan penerjemahan mesin.
Proses penyematan data teks ini memainkan peran penting dalam bidang pemrosesan bahasa alami, dan sangat penting untuk memproses dan menganalisis data teks dalam jumlah besar secara efektif.
Menyematkan teks yang diberikan (text
) menggunakan metode embed_query
dari objek gpt4all_embd
.
- Variabel
text
menyimpan teks yang akan disematkan. gpt4all_embd
adalah objek yang melakukan penyematan teks menggunakan model GPT4All.- Metode
embed_query
mengubah teks yang diberikan menjadi bentuk vektor dan mengembalikannya. - Hasil dari penyematan disimpan dalam variabel
query_result
.
query_result = gpt4all_embd.embed_query(
text
) # Membuat embedding kueri untuk teks yang diberikan.
Fungsi embed_documents memungkinkan Anda untuk menyematkan beberapa fragmen teks.
Anda juga dapat memetakan penyematan ini dengan Nomic's Atlas (https://docs.nomic.ai/index.html (opens in a new tab)) untuk melihat representasi visual data Anda.
Periksa ukuran dimensi yang disematkan.
# Periksa ukuran dimensi yang disematkan.
len(query_result)
384
Sematkan dokumen text
menggunakan metode embed_documents
dari objek gpt4all_embd
.
Bungkus dokumen teks dalam sebuah daftar dan berikan sebagai argumen ke metode embed_documents. Metode embed_documents menghitung dan mengembalikan vektor penyematan untuk dokumen. Vektor penyematan yang dikembalikan disimpan dalam variabel doc_result.
# Meng-embedding teks yang diberikan untuk menghasilkan vektor dokumen.
doc_result = gpt4all_embd.embed_documents([text])
# Memeriksa ukuran dimensi yang di-embedding.
len(doc_result[0])
384