Superlinked ist ein Python-Framework für KI-Ingenieure, die Hochleistungssuche und Empfehlungsanwendungen bauen, die strukturierte und unstrukturierte Daten kombinieren. Überprüfen Sie die Dokumentation, um loszulegen.
sentence-transformers , open-clip und benutzerdefinierten Encodern für Zahlen, Zeitstempel und kategoriale Daten. Beispiele finden Sie im folgenden Feature- und Anwendungsnotizenbücher.Wenn Ihnen gefällt, was wir tun, geben Sie uns einen Stern!
Sie können eine vollständige Liste unserer Funktionen und Konzepte überprüfen.
Tauchen Sie tiefer mit unseren Notizbüchern ein, wie jeder Anwendungsfall vom überlieferten Framework profitiert.
Hier können Sie eine vollständige Liste der Beispiele überprüfen.
Erstellen wir eine E-Commerce-Produktsuche, die Produktbeschreibungen und -bewertungen versteht:
%pip install superlinked
Der erste Lauf wird eine Minute dauern, um das Einbettungsmodell herunterzuladen.
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 ()Mit einem einzigen Befehl können Sie Superlinked als REST -API -Server lokal oder in Ihrer Cloud mit Superlinked Server ausführen. Holen Sie sich APIs für die Aufnahme und Abfrage von Daten, die Inferenz für die Modellinterferenz und die Integration der Deep Vector -Datenbank kostenlos einbetten!
Vereinigen Sie Ihre Bewertung, Einnahme und Servieren von Stapeln mit einer einzigen deklarativen Python -Codebasis. Superlinked ermöglicht dies, indem Sie Ihr Datenschema, Vektorindizes und die Berechnung der DAG definieren können, die sie alle auf einmal verknüpft und dann den richtigen Ausführenden für die Aufgabe ausgewählt hat - In -Memory oder Server.
Wenn Sie mehr über das Laufen in Skala erfahren möchten, buchen Sie eine Demo für einen frühen Zugriff auf unsere verwaltete Cloud.
Superlinked speichert Ihre Vektoren in Ihrer Vektor -Datenbank mit tiefen Integrationen für:
Neugierig auf Vector Database Pros & Cons & Cons & Cons im Allgemeinen? Unsere Community verglichen 44 Vektor -Datenbanken mit über 30 Funktionen.
Die Superlinked Framework -Protokolle enthalten kontextbezogene Informationen wie die Prozess -ID und den Paketumfang. Persönlich identifizierbare Informationen (PII) werden standardmäßig herausgefiltert, kann jedoch mit der Umgebungsvariablen SUPERLINKED_EXPOSE_PII zu true ausgesetzt werden.
Benötigen Sie Hilfe? Wir sind hier, um Sie zu unterstützen:
Bitte erstellen Sie für jedes Thema separate Themen/Diskussionen, um Ihr Feedback besser anzusprechen. Danke, dass Sie beigetragen haben!