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)
- CohereTextEmbedder — Haystack 공식 문서