이 노트북은 LangChain 내에서 Llama-cpp 임베딩을 사용하는 방법에 대해 설명합니다.
llama-cpp-python 패키지를 최신 버전으로 업그레이드하는 pip 명령어입니다.
# LangSmith 추적을 설정합니다. https://smith.langchain.com
# !pip install langchain-teddynote
from langchain_teddynote import logging
# 프로젝트 이름을 입력합니다.
logging.langsmith("CH08-Embeddings")LlamaCppEmbeddings클래스를langchain_community.embeddings모듈에서 임포트합니다.
LlamaCppEmbeddings는 LLaMA 모델을 사용하여 텍스트 임베딩을 생성하는 클래스입니다. 이 클래스는 LangChain 커뮤니티에서 제공하는 확장 기능 중 하나로, C++로 구현된 LLaMA 모델을 활용하여 빠르고 효율적인 임베딩 생성을 지원합니다.
LlamaCppEmbeddings클래스를 사용하여 임베딩 모델을 초기화합니다.model_path매개변수를 통해 사전 학습된 LLaMA 모델 파일(“ggml-model-q4_0.bin”)의 경로를 지정합니다.
# LlamaCpp 임베딩 모델을 초기화하고, 모델 경로를 지정합니다.
llama = LlamaCppEmbeddings(model_path="/path/to/model/ggml-model-q4_0.bin")text변수에 “This is a test document.”라는 문자열을 할당합니다.
llama.embed_query(text)는 입력된 텍스트를 임베딩 벡터로 변환하는 함수입니다.
text매개변수로 전달된 텍스트를 임베딩 모델에 입력하여 벡터 표현을 생성합니다.- 생성된 임베딩 벡터는
query_result변수에 저장됩니다.
이 함수는 텍스트를 벡터 공간에 매핑하여 의미적 유사성을 계산하거나 검색에 활용할 수 있는 벡터 표현을 얻는 데 사용됩니다.
llama.embed_documents([text]) 함수를 호출하여 text 문서를 임베딩합니다.
text문서를 리스트 형태로embed_documents함수에 전달합니다.llama객체의embed_documents함수는 문서를 벡터 표현으로 변환합니다.- 변환된 벡터 표현은
doc_result변수에 저장됩니다.