04. UpstageEmbeddings

# File pengaturan untuk mengelola API KEY sebagai variabel lingkungan
from dotenv import load_dotenv

# Memuat informasi API KEY
load_dotenv()

Upstage

Upstage adalah perusahaan rintisan Korea yang berspesialisasi dalam teknologi kecerdasan buatan (artificial intelligence/AI), khususnya di bidang model bahasa besar (LLM) dan AI dokumen.

Dapatkan API KEY

texts = [
    "Headphone Bluetooth Nirkabel dengan Pembatalan Kebisingan.",
    "Speaker Bluetooth Tahan Air Portabel dengan Baterai 20 jam.",
    "Kursi Kantor Ergonomis dengan Dukungan Lumbar dan Ketinggian yang Dapat Disesuaikan.",
    "TV Smart 4K Ultra HD dengan Layanan Streaming dan Kontrol Suara.",
    "Meja Berdiri Elektrik dengan Tinggi yang Dapat Disetel Memori."
]

Periksa model penyematan yang didukung

Informasi model

ModelRelease DateContext LengthDescription

solar-embedding-1-large-query

2024-05-10

4000

Model Solar-base Query Embedding dengan batasan konteks 4k. Model ini dioptimalkan untuk meng-embedding pertanyaan pengguna dalam tugas pencarian informasi seperti pencarian dan penyusunan ulang.

solar-embedding-1-large-passage

2024-05-10

4000

Model Solar-base Passage Embedding dengan batasan konteks 4k. Model ini dioptimalkan untuk meng-embedding dokumen atau teks yang akan dicari.

from langchain_upstage import UpstageEmbeddings

# Model embedding khusus untuk kueri
query_embeddings = UpstageEmbeddings(model="solar-embedding-1-large-query")

# Model embedding khusus untuk kalimat
passage_embeddings = UpstageEmbeddings(model="solar-embedding-1-large-passage")

Sematkan query.

# Embedding kueri
embedded_query = query_embeddings.embed_query("Saya membutuhkan produk untuk memutar musik")
# Menampilkan dimensi embedding
print(len(embedded_query))

Sematkan dokumen.

# Embedding dokumen
embedded_documents = passage_embeddings.embed_documents(texts)

Mengeluarkan hasil perhitungan kemiripan.

import numpy as np

# Pertanyaan (embedded_query): Tolong beri tahu saya tentang LangChain.
similarity = np.array(embedded_query) @ np.array(embedded_documents).T

# Mengurutkan berdasarkan kesamaan dalam urutan menurun
sorted_idx = (np.array(embedded_query) @ np.array(embedded_documents).T).argsort()[::-1]

# Menampilkan hasil
print("[Query] Saya membutuhkan produk untuk memutar musik.\n====================================")
for i, idx in enumerate(sorted_idx):
    print(f"[{i}] Kesamaan: {similarity[idx]:.3f} | {texts[idx]}")
    print()

Last updated