Jina AI

Jina AI / jina-embeddings-v2-small-en

Ein einsprachiges englisches Einbettungsmodell für eine Sequenzlänge von bis zu 8192 Token; die kleinste Variante in der Jina Embeddings v2 Familie.

Einführung in Jina Embedding v2 Modelle

Jina Embeddings v2-Modelle sind für lange Dokumente mit einer erweiterten maximalen Eingabegröße von 8.192 Token ausgelegt. Ab Oktober 2024 gibt es die folgenden Varianten von Jina AI Embedding V2, die jeweils auf unterschiedliche Einbettungsanforderungen zugeschnitten sind:

Einführung in jina-embeddings-v2-small-de

jina-embeddings-v2-small-de ist ein englisches einsprachiges Einbettungsmodell, das für eine Sequenzlänge von bis zu 8192 Token ausgelegt ist. Es ist die kleinste Variante der Jina-Embeddings-v2-Familie, die mit 33 Millionen Parametern trainiert wurde und 512-dimensionale Einbettungen erzeugt.

Vergleich von jina-embeddings-v2-small-de mit anderen Jina-Einbettungsmodellen.

ModellParametergrößeEinbettungsdimensionText
jina-embeddings-v3570Mflexible Einbettungsgröße (Standard: 1024)mehrsprachige Texteinbettungen; unterstützt insgesamt 94 Sprachen
jina-embeddings-v2-small-de33M512englische einsprachige Einbettungen
jina-embeddings-v2-base-de137M768Englische einsprachige Einbettungen
jina-embeddings-v2-base-zh161M768Chinesisch-Englisch zweisprachige Einbettungen
jina-embeddings-v2-base-de161M768Deutsch-Englisch Zweisprachige Einbettungen
jina-embeddings-v2-base-code161M768Englisch und Programmiersprachen

Wie man Einbettungen mit jina-embeddings-v2-small-de erstellt

Es gibt zwei primäre Möglichkeiten, Vektoreinbettungen zu erzeugen:

  • PyMilvus: das Python SDK für Milvus, das das Modell jina-embeddings-v2-small-de nahtlos integriert.
  • SentenceTransformer-Bibliothek: die Python-Bibliothek sentence-transformer.

Sobald die Vektoreinbettungen generiert sind, können sie in der [Zilliz Cloud] (https://zilliz.com/cloud) (ein vollständig verwalteter Vektordatenbankdienst, der von Milvus betrieben wird) gespeichert und für die [semantische Ähnlichkeitssuche] (https://zilliz.com/glossary/semantic-search) verwendet werden. Dies sind die vier wichtigsten Schritte:

Einbettungen über PyMilvus erstellen

from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
von pymilvus importieren MilvusClient

ef = SentenceTransformerEmbeddingFunction("jinaai/jina-embeddings-v2-small-de", trust_remote_code=True)

docs = [
   "Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die umfangreiche Forschungen im Bereich der künstlichen Intelligenz durchführte.",
   "Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Einbettungen für Dokumente generieren
docs_embeddings = ef(docs)

queries = ["Wann wurde die künstliche Intelligenz erfunden",
          "Wo wurde Alan Turing geboren?"]
# Einbettungen für Abfragen generieren
abfrage_einbettungen = ef(abfragen)

# Verbindung zur Zilliz-Cloud mit öffentlichem Endpunkt und API-Schlüssel
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "Dokumente"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    collection_name=COLLECTION,
    dimension=ef.dim,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    collection_name=COLLECTION,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

Weitere Informationen finden Sie in unserer PyMilvus Embedding Model Dokumentation.

Einbettungen über Satzumwandler erstellen

from sentence_transformers import SentenceTransformer
von pymilvus importieren MilvusClient

model = SentenceTransformer("jinaai/jina-embeddings-v2-small-de", trust_remote_code=True)

docs = [
   "Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die umfangreiche Forschungen im Bereich der künstlichen Intelligenz durchführte.",
   "Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Einbettungen für Dokumente generieren
docs_embeddings = model.encode(docs, normalize_embeddings=True)

queries = ["query: Wann wurde die künstliche Intelligenz gegründet",
           "query: Wo wurde Alan Turing geboren?" ]
# Einbettungen für Abfragen generieren
abfrage_einbettungen = model.encode(abfragen, normalize_einbettungen=True)

# Verbindung zur Zilliz Cloud mit öffentlichem Endpunkt und API-Schlüssel
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "Dokumente"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    collection_name=COLLECTION,
    dimension=512,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    collection_name=COLLECTION,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

Weitere Einzelheiten finden Sie in der Hugging Face Dokumentation.