faiss_vector_aggregator
1.0.0
이 파이썬 라이브러리는 단일 문서 또는 엔티티와 관련된 다중 임베딩을 단일 대표 임베딩으로 집계하기위한 다양한 고급 방법을 제공합니다. 간단한 평균화부터 PCA 및 세심한 풀링과 같은 정교한 방법에 이르기까지 광범위한 집계 기술을 지원합니다.
패키지를 설치하려면 PIP를 사용할 수 있습니다.
pip install faiss_vector_aggregator다음은 라이브러리를 사용하여 다른 방법을 사용하여 임베딩을 집계하는 방법을 보여주는 예입니다.
FAISS 지수에 저장된 임베딩 모음이 있다고 가정하고 간단한 평균화를 사용하여 관련 문서 ID로 집계하려고합니다.
from faiss_vector_aggregator import aggregate_embeddings
# Aggregate embeddings using simple averaging
aggregate_embeddings (
input_folder = "data/input" ,
column_name = "id" ,
output_folder = "data/output" ,
method = "average"
)input_folder : 입력 FAISS 인덱스 및 메타 데이터를 포함하는 폴더로가는 경로.column_name : 임베딩을 집계하는 메타 데이터 필드 (예 : 'id' ).output_folder : 출력 FAISS 인덱스 및 메타 데이터가 저장되는 경로.method="average" : 집계 방법을 지정합니다.임베딩에 대한 가중치가 다르면 가중 평균을 적용하여 특정 임베딩에 더 중요하게 생각할 수 있습니다.
from faiss_vector_aggregator import aggregate_embeddings
# Example weights for the embeddings
weights = [ 0.1 , 0.3 , 0.6 ]
# Aggregate embeddings using weighted averaging
aggregate_embeddings (
input_folder = "data/input" ,
column_name = "id" ,
output_folder = "data/output" ,
method = "weighted_average" ,
weights = weights
)weights : 각 임베딩에 해당하는 목록 또는 배열.method="weighted_average" : 가중 평균 방법을 지정합니다.PCA를 사용하여 고차원 임베딩을 단일 대표 벡터로 줄이기 위해 :
from faiss_vector_aggregator import aggregate_embeddings
# Aggregate embeddings using PCA
aggregate_embeddings (
input_folder = "data/input" ,
column_name = "id" ,
output_folder = "data/output" ,
method = "pca"
)method="pca" : PCA를 집계에 사용해야한다고 지정합니다.K- 평균 클러스터링을 사용하여 각 문서 ID의 임베딩 중심을 찾으십시오.
from faiss_vector_aggregator import aggregate_embeddings
# Aggregate embeddings using K-Means clustering to find the centroid
aggregate_embeddings (
input_folder = "data/input" ,
column_name = "id" ,
output_folder = "data/output" ,
method = "centroid"
)method="centroid" : K- 평균 클러스터링을 사용해야합니다.임베딩을 집계하기위한주의 메커니즘을 사용하기 위해 :
from faiss_vector_aggregator import aggregate_embeddings
# Aggregate embeddings using Attentive Pooling
aggregate_embeddings (
input_folder = "data/input" ,
column_name = "id" ,
output_folder = "data/output" ,
method = "attentive_pooling"
)method="attentive_pooling" : 세심한 풀링 방법을 지정합니다. 아래는 라이브러리에서 지원하는 각 집계 방법에 대한 자세한 설명입니다.
weights 필요합니다.trim_percentage 매개 변수를 사용하십시오.input_folder (str) : 입력 FAISS 인덱스 ( index.faiss ) 및 메타 데이터 ( index.pkl )를 포함하는 폴더로가는 경로.column_name (str) : 임베딩을 집계하는 메타 데이터 필드 (예 : 'id' ).output_folder (STR) : 출력 FAISS 인덱스 및 메타 데이터가 저장되는 경로.method (str) : 사용할 집계 방법. 옵션은 다음과 같습니다.'average' , 'weighted_average' , 'geometric_mean' , 'harmonic_mean' , 'centroid' , 'pca' , 'median' , 'trimmed_mean' , 'max_pooling' , 'min_pooling' , 'entropy_weighted_average' , 'attentive_pooling' , 'tukeys_biweight' , 'exemplar' .weights (List 또는 NP.NDARRAY, 선택 사항) : weighted_average 방법의 가중치.trim_percentage (float, 옵션) : trimmed_mean 의 양쪽 끝에서 트림하는 분수. 0에서 0.5 미만이어야합니다.weights (List 또는 NP.NDARRAY, 선택 사항) : weighted_average 방법의 가중치. 다음 패키지가 설치되어 있는지 확인하십시오.
다음을 사용하여 종속성을 설치할 수 있습니다.
pip install faiss-cpu numpy scipy scikit-learn langchain 참고 : GPU 버전의 FAISS를 선호하는 경우 faiss-cpu faiss-gpu 로 교체하십시오.
기부금을 환영합니다! 풀 요청을 제출하거나 GitHub 저장소에서 문제를 열어주십시오.
기고 할 때 코드가 다음 지침을 준수하는지 확인하십시오.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
FAISS Vector Store와 호환됩니다. Langchain과 통합 할 때 임베딩 및 인덱스가 일관되게 처리되어 있는지 확인하십시오.