milvus-logo
LFAI
홈페이지
  • 모델

Cohere

Cohere의 임베딩 모델은 텍스트에 대한 의미적 정보를 캡처하는 부동 소수점 숫자 목록인 텍스트 임베딩을 생성하는 데 사용됩니다. 이러한 임베딩은 텍스트 분류 및 의미론적 검색과 같은 작업에 사용할 수 있습니다.

Milvus는 CohereEmbeddingFunction 클래스를 사용하여 Cohere의 임베딩 모델과 통합됩니다. 이 클래스는 임베딩 계산을 처리하고 인덱싱 및 검색을 위해 Milvus와 호환되는 형식으로 임베딩을 반환합니다.

이 기능을 사용하려면 필요한 종속성을 설치하세요:

pip install --upgrade pymilvus
pip install "pymilvus[model]"

그런 다음 CohereEmbeddingFunction 을 인스턴스화합니다:

from pymilvus.model.dense import CohereEmbeddingFunction

cohere_ef = CohereEmbeddingFunction(
    model_name="embed-english-light-v3.0",
    api_key="YOUR_COHERE_API_KEY",
    input_type="search_document",
    embedding_types=["float"]
)

매개변수

  • model_name (문자열)

    인코딩에 사용할 Cohere 임베딩 모델의 이름입니다. 예를 들어 embed-english-v3.0, embed-multilingual-v3.0 등과 같이 사용 가능한 Cohere 임베딩 모델 이름을 지정할 수 있습니다. 이 매개변수를 지정하지 않으면 embed-english-light-v3.0 이 사용됩니다. 사용 가능한 모델 목록은 임베드를 참조하세요.

  • api_key (문자열)

    Cohere API에 액세스하기 위한 API 키입니다.

  • input_type (문자열)

    모델에 전달된 입력 유형입니다. 모델 v3 이상 임베드에 필요합니다.

    • "search_document": 검색 사용 사례를 위해 벡터 데이터베이스에 저장된 임베딩에 사용됩니다.
    • "search_query": 관련 문서를 찾기 위해 벡터 DB에 대해 실행되는 검색 쿼리의 임베딩에 사용됩니다.
    • "classification": 텍스트 분류기를 통과한 임베딩에 사용됩니다.
    • "clustering": 클러스터링 알고리즘을 통해 실행되는 임베딩에 사용됩니다.
  • embedding_types (List[str])

    반환하려는 임베딩 유형입니다. 필수는 아니며 기본값은 없음으로, 임베드 플로트 응답 유형을 반환합니다. 현재 이 매개변수에는 하나의 값만 지정할 수 있습니다. 가능한 값

    • "float": 기본 플로트 임베딩을 반환하려는 경우 이 값을 사용합니다. 모든 모델에 유효합니다.
    • "binary": 서명된 바이너리 임베딩을 반환할 때 사용합니다. v3 모델에만 유효합니다.
    • "ubinary": 서명되지 않은 바이너리 임베딩을 반환할 때 사용합니다. v3 모델에만 유효합니다.

문서용 임베딩을 만들려면 encode_documents() 메서드를 사용합니다:

docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]

docs_embeddings = cohere_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", cohere_ef.dim, docs_embeddings[0].shape)

예상 출력은 다음과 유사합니다:

Embeddings: [array([ 3.43322754e-02,  1.16252899e-03, -5.25207520e-02,  1.32846832e-03,
       -6.80541992e-02,  6.10961914e-02, -7.06176758e-02,  1.48925781e-01,
        1.54174805e-01,  1.98516846e-02,  2.43835449e-02,  3.55224609e-02,
        1.82952881e-02,  7.57446289e-02, -2.40783691e-02,  4.40063477e-02,
...
        0.06359863, -0.01971436, -0.02253723,  0.00354195,  0.00222015,
        0.00184727,  0.03408813, -0.00777817,  0.04919434,  0.01519775,
       -0.02862549,  0.04760742, -0.07891846,  0.0124054 ], dtype=float32)]
Dim: 384 (384,)

쿼리용 임베딩을 만들려면 encode_queries() 메서드를 사용합니다:

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = cohere_ef.encode_queries(queries)

print("Embeddings:", query_embeddings)
print("Dim", cohere_ef.dim, query_embeddings[0].shape)

예상 출력은 다음과 유사합니다:

Embeddings: [array([-1.33361816e-02,  9.79423523e-04, -7.28759766e-02, -1.93786621e-02,
       -9.71679688e-02,  4.34875488e-02, -9.81445312e-02,  1.16882324e-01,
        5.89904785e-02, -4.19921875e-02,  4.95910645e-02,  5.83496094e-02,
        3.47595215e-02, -5.87463379e-03, -7.30514526e-03,  2.92816162e-02,
...
        0.00749969, -0.01192474,  0.02719116,  0.03347778,  0.07696533,
        0.01409149,  0.00964355, -0.01681519, -0.0073204 ,  0.00043154,
       -0.04577637,  0.03591919, -0.02807617, -0.04812622], dtype=float32)]
Dim 384 (384,)

번역DeepL

목차 목록

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?