CohereTextEmbedder

CohereTextEmbedder

CohereTextEmbedder는 단순 문자열(예: 쿼리)을 벡터로 임베딩해요. 문서 리스트를 임베딩하려면, 계산된 임베딩(벡터)으로 문서를 보강하는 CohereDocumentEmbedder를 사용하세요.

출처: 문서

본문

Overview

이 컴포넌트는 다음 Cohere 모델을 지원합니다: "embed-v4.0", "embed-english-v3.0", "embed-english-light-v3.0", "embed-multilingual-v3.0", "embed-multilingual-light-v3.0", "embed-english-v2.0", "embed-english-light-v2.0", "embed-multilingual-v2.0". 기본 모델은 embed-v4.0이에요. 지원되는 전체 모델 목록은 Cohere 모델 문서에서 찾을 수 있습니다.

Haystack에서 이 통합을 사용하려면 설치하세요:

pip install cohere-haystack

이 컴포넌트는 기본적으로 COHERE_API_KEY 또는 CO_API_KEY 환경 변수를 사용해요. 또는 초기화 시 Secret과 Secret.from_token 정적 메서드로 API 키를 넘길 수 있습니다:

embedder = CohereTextEmbedder(api_key=Secret.from_token("<your-api-key>"))

Cohere API 키를 얻으려면 https://cohere.com/ 을 방문하세요.

Usage

On its own

컴포넌트를 단독으로 사용하는 방법이에요. Secret으로 Cohere API 키를 넘기거나 COHERE_API_KEY 환경 변수로 설정해야 합니다. 아래 예시는 환경 변수를 설정했음을 가정해요.

from haystack_integrations.components.embedders.cohere.text_embedder import (
    CohereTextEmbedder,
)

text_to_embed = "I love pizza!"

text_embedder = CohereTextEmbedder()

print(text_embedder.run(text_to_embed))
# {'embedding': [-0.453125, 1.2236328, 2.0058594, 0.67871094...],
# 'meta': {'api_version': {'version': '1'}, 'billed_units': {'input_tokens': 4}}}

In a pipeline

from haystack import Document
from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack_integrations.components.embedders.cohere.text_embedder import (
    CohereTextEmbedder,
)
from haystack_integrations.components.embedders.cohere.document_embedder import (
    CohereDocumentEmbedder,
)
from haystack.components.retrievers.in_memory import InMemoryEmbeddingRetriever

document_store = InMemoryDocumentStore(embedding_similarity_function="cosine")

documents = [
    Document(content="My name is Wolfgang and I live in Berlin"),
    Document(content="I saw a black horse running"),
    Document(content="Germany has many big cities"),
]

document_embedder = CohereDocumentEmbedder()
documents_with_embeddings = document_embedder.run(documents)["documents"]
document_store.write_documents(documents_with_embeddings)

query_pipeline = Pipeline()
query_pipeline.add_component("text_embedder", CohereTextEmbedder())
query_pipeline.add_component(
    "retriever",
    InMemoryEmbeddingRetriever(document_store=document_store),
)
query_pipeline.connect("text_embedder.embedding", "retriever.query_embedding")

query = "Who lives in Berlin?"

result = query_pipeline.run({"text_embedder": {"text": query}})

print(result["retriever"]["documents"][0])

# Document(id=..., content: 'My name is Wolfgang and I live in Berlin')

더 알아보기 (Learn more)