06. Gpt4all Embedding

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

Python
%pip install --upgrade --quiet  gpt4all > /dev/null
  • Impor kelas GPT4AllEmbeddings dari modul langchain_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.

Python
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 variabel gpt4all_embd.
  • Anda kemudian dapat menggunakan gpt4all_embd untuk mengonversi data teks menjadi vektor.
Python
gpt4all_embd = GPT4AllEmbeddings()  # Membuat objek embedding GPT4All.

Dalam variabel teks, tetapkan string “Ini adalah contoh kalimat untuk menguji penyematan.” ke string

Python
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.
Python
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.

Python
# Periksa ukuran dimensi yang disematkan.
len(query_result)
Output
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.

Python
# 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])
Output
384