46.6kЗаказать демоВойтиНачать бесплатно
Джина А.И.

Джина А.И. / jina-embeddings-v2-base-de

Двуязычный (немецкий/английский) инструмент для вставки текста, который может обрабатывать до 8192 лексем в одной последовательности.

Введение в модели Jina Embedding v2

Модели Jina Embeddings v2 предназначены для работы с длинными документами с расширенным максимальным размером входных данных 8 192 лексем. По состоянию на октябрь 2024 года, Jina AI Embedding V2 имеет следующие варианты, каждый из которых удовлетворяет различные потребности во встраивании.

Что такое jina-embeddings-v2-base-de

jina-embeddings-v2-base-de - это двуязычный (немецкий/английский) инструмент для встраивания текста, который может обрабатывать до 8192 лексем в одной последовательности. Он построен на специализированной архитектуре BERT (называемой JinaBERT) для монолингвальных и кросс-лингвальных приложений со смешанным немецко-английским вводом без предубеждений.

Сравнение jina-embeddings-v2-base-de с другими моделями встраивания Jina.

МодельРазмер параметраРазмерность встраиванияТекст
jina-embeddings-v3570Mгибкий размер встраивания (по умолчанию: 1024)многоязычное встраивание текста; поддерживает 94 языка в целом
jina-embeddings-v2-small-en33M512монолингвальных вкраплений на английском языке
jina-embeddings-v2-base-en137M768английских одноязычных вкраплений
jina-embeddings-v2-base-zh161M768Китайско-английские двуязычные вкрапления
jina-embeddings-v2-base-de161M768Немецко-английские двуязычные вкрапления
jina-embeddings-v2-base-code161M768Английский и языки программирования

Как создавать вкрапления с помощью jina-embeddings-v2-base-de

Существует два основных способа создания векторных вкраплений:

  1. PyMilvus: Python SDK для Milvus, который легко интегрирует модель jina-embeddings-v2-base-de.
  2. Библиотека SentenceTransformer: библиотека Python sentence-transformer.

После создания векторных вкраплений их можно хранить в векторной базе данных, например Zilliz Cloud (полностью управляемая векторная база данных на базе Milvus), и использовать для поиска семантического сходства.

Вот четыре основных этапа:

Создание вкраплений с помощью PyMilvus и вставка их в Zilliz Cloud для семантического поиска

from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
из pymilvus import MilvusClient

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

docs = [
   "Die Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die wesentliche Forschung im Bereich der Künstlichen Intelligenz betrieb.",
   "Родился в Мейда Вейл, Лондон, а уехал Тьюринг в Зюденгланд."
]
# Генерируем вкрапления для документов
docs_embeddings = ef(docs)

queries = ["Wann wurde die Künstliche Intelligenz gegründet?",
          "Wo wurde Alan Turing geboren?"]
# Генерируем вкрапления для запросов
query_embeddings = ef(queries)

# Подключение к облаку Zilliz с помощью публичной конечной точки и ключа API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

КОЛЛЕКЦИЯ = "документы"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    имя_коллекции=COLLECTION,
    dimension=ef.dim,
    auto_id=True)

для doc, embedding в zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    имя_коллекции=КОЛЛЕКЦИЯ,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

За подробностями обращайтесь к нашей документации [PyMilvus Embedding Model documentation](За подробностями обращайтесь к нашей документации PyMilvus Embedding Model documentation.).

Создание вкраплений с помощью библиотеки SentenceTransformer и вставка их в Zilliz Cloud для семантического поиска

from sentence_transformers import SentenceTransformer
из pymilvus import MilvusClient

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

документы = [
   "Die Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing war die erste Person, die wesentliche Forschung im Bereich der Künstlichen Intelligenz betrieb.",
   "Родился в Мейда Вейл, Лондон, а уехал Тьюринг в Зюденгланд."
]
# Генерируем вкрапления для документов
docs_embeddings = model.encode(docs, normalize_embeddings=True)

queries = ["Wann wurde die Künstliche Intelligenz gegründet?",
          "Wo wurde Alan Turing geboren?"]
# Генерируем вкрапления для запросов
query_embeddings = model.encode(queries, normalize_embeddings=True)

# Подключение к облаку Zilliz с помощью публичной конечной точки и ключа API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

КОЛЛЕКЦИЯ = "документы"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    имя_коллекции=COLLECTION,
    dimension=768,
    auto_id=True)

для doc, embedding в zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
results = client.search(
    имя_коллекции=КОЛЛЕКЦИЯ,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])