Jina AI

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

Spezielles Einbettungsmodell für englischen Text und lange Dokumente; unterstützt Sequenzen von bis zu 8192 Token

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-base-de

jina-embeddings-v2-base-de ist ein englisches einsprachiges Einbettungsmodell für eine Sequenzlänge von bis zu 8192 Token. Es ist die mittlere oder Basisvariante der Jina-Embeddings-v2-Familie, die mit 137 Millionen Parametern trainiert wurde und 768-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-base-de erstellt

Es gibt zwei primäre Möglichkeiten, das Modell "jina-embeddings-v2-base-de" zur Erzeugung von Vektoreinbettungen zu verwenden:

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

Generiert Vektoreinbettungen über PyMilvus und fügt sie in die Zilliz Cloud für die semantische Suche ein

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

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

docs = [
   "Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die substantielle Forschungen im Bereich der KI 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.

Erzeugen von Vektoreinbettungen mittels SentenceTransformer und Einfügen in die Zilliz Cloud für die semantische Suche

from sentence_transformers import SentenceTransformer
von pymilvus importieren MilvusClient

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

docs = [
   "Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die substantielle Forschungen im Bereich der KI 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=768,
    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 der SentenceTransformer-Dokumentation.