Superlinked adalah kerangka kerja Python untuk insinyur AI yang membangun aplikasi pencarian & rekomendasi berkinerja tinggi yang menggabungkan data terstruktur dan tidak terstruktur . Periksa dokumentasi untuk memulai.
sentence-transformers , open-clip dan encoder khusus untuk angka, cap waktu, dan data kategorikal. Lihat fitur dan buku catatan penggunaan di bawah ini untuk contoh.Jika Anda menyukai apa yang kami lakukan, beri kami bintang!
Anda dapat memeriksa daftar lengkap fitur dan konsep kami.
Selam lebih dalam dengan buku catatan kami tentang bagaimana setiap kasus penggunaan mendapat manfaat dari kerangka kerja yang sangat terkait.
Anda dapat memeriksa daftar lengkap contoh di sini.
Mari kita membangun pencarian produk e-commerce yang memahami deskripsi dan peringkat produk:
%pip install superlinked
First Run akan membutuhkan waktu satu menit untuk mengunduh model embedding.
import json
import os
from superlinked import framework as sl
class Product ( sl . Schema ):
id : sl . IdField
description : sl . String
rating : sl . Integer
product = Product ()
description_space = sl . TextSimilaritySpace (
text = product . description , model = "Alibaba-NLP/gte-large-en-v1.5"
)
rating_space = sl . NumberSpace (
number = product . rating , min_value = 1 , max_value = 5 , mode = sl . Mode . MAXIMUM
)
index = sl . Index ([ description_space , rating_space ], fields = [ product . rating ])
# Define your query and parameters to set them directly at query-time
# or let an LLM fill them in for you using the `natural_language_query` param.
# Don't forget to set your OpenAI API key to unlock this feature.
query = (
sl . Query (
index ,
weights = {
description_space : sl . Param ( "description_weight" ),
rating_space : sl . Param ( "rating_weight" ),
},
)
. find ( product )
. similar (
description_space ,
sl . Param (
"description_query" ,
description = "The text in the user's query that refers to product descriptions." ,
),
)
. limit ( sl . Param ( "limit" ))
. with_natural_query (
sl . Param ( "natural_language_query" ),
sl . OpenAIClientConfig ( api_key = os . environ [ "OPEN_AI_API_KEY" ], model = "gpt-4o" )
)
)
# Run the app in-memory (server & Apache Spark executors available too!).
source = sl . InMemorySource ( product )
executor = sl . InMemoryExecutor ( sources = [ source ], indices = [ index ])
app = executor . run ()
# Ingest data into the system - index updates and other processing happens automatically.
source . put ([
{
"id" : 1 ,
"description" : "Budget toothbrush in black color. Just what you need." ,
"rating" : 1 ,
},
{
"id" : 2 ,
"description" : "High-end toothbrush created with no compromises." ,
"rating" : 5 ,
},
{
"id" : 3 ,
"description" : "A toothbrush created for the smart 21st century man." ,
"rating" : 3 ,
},
])
result = app . query ( query , natural_query = "best toothbrushes" , limit = 1 )
# Examine the extracted parameters from your query
print ( json . dumps ( result . knn_params , indent = 2 ))
# The result is the 5-star rated product.
result . to_pandas ()Dengan satu perintah Anda dapat menjalankan superlink sebagai server API REST secara lokal atau di cloud Anda dengan server superlink. Dapatkan Konsumsi Data dan API Kueri, Inferensi Model Menanamkan dan Integrasi Basis Data Vektor yang Dalam Gratis!
Menyatukan evaluasi Anda, konsumsi dan menyajikan tumpukan dengan basis kode Python deklaratif tunggal. Superlinked memungkinkan ini dengan membiarkan Anda mendefinisikan skema data Anda, indeks vektor dan DAG komputasi yang menghubungkan semuanya sekaligus dan kemudian memilih pelaksana yang tepat untuk tugas - dalam memori atau server.
Jika Anda tertarik untuk belajar lebih banyak tentang berjalan pada skala, pesan demo untuk akses awal ke cloud terkelola kami.
Superlinked menyimpan vektor Anda di basis data vektor Anda , dengan integrasi yang mendalam untuk:
Penasaran tentang pro basis data vektor secara umum? Komunitas kami membandingkan 44 database vektor pada 30+ fitur.
Log kerangka kerja superlink mencakup informasi kontekstual, seperti ID proses dan ruang lingkup paket. Informasi Identifikasi Pribadi (PII) disaring secara default tetapi dapat diekspos dengan variabel lingkungan SUPERLINKED_EXPOSE_PII ke true .
Butuh bantuan? Kami di sini untuk mendukung Anda:
Harap buat masalah/diskusi terpisah untuk setiap topik untuk membantu kami mengatasi umpan balik Anda dengan lebih baik. Terima kasih telah berkontribusi!