이 솔루션은 문서와 데이터베이스에 저장된 상황별 지식을 텍스트 임베딩으로 변환하고 이를 벡터 저장소에 저장하는 파이프라인입니다. LLM(대형 언어 모델)으로 구축된 애플리케이션은 벡터 저장소에서 유사성 검색을 수행하여 응답을 생성하기 전에 상황별 지식을 검색할 수 있습니다. 이 기술은 검색 증강 생성(RAG)으로 알려져 있으며 응답의 품질과 정확성을 향상시키는 데 자주 사용됩니다.
프로덕션에 사용하기 전에 구성을 검토하고 변경하십시오 . 추가 검토 및 조정 없이는 현재 구성을 프로덕션에 사용해서는 안 됩니다. 백업 및 다중 AZ 비활성화 등 비용 절감을 위해 많은 안티 패턴이 채택되었습니다.
발생하는 비용에 유의하세요 . 이 솔루션은 비용 효율적으로 개발되었지만 발생하는 비용에 유의하세요.
이 저장소를 복제하세요.
AWS 계정에 "EC2DefaultKeyPair"라는 EC2 키 페어를 생성합니다.
종속성을 설치합니다.
npm install
cdk bootstrap
패키지 Lambda 함수 및 해당 종속성.
sh prepare-lambda-package.sh
.prepare-lambda-package.ps1
CDK 스택을 배포합니다.
cdk deploy --all --require-approval never
S3 버킷에 데이터를 업로드하는 방법에는 두 가지가 있습니다.
(a) 스택 중 하나에서 생성된 S3 버킷에 일부 콘텐츠(예:sample.txt)가 포함된 .txt 파일을 업로드합니다.
(b) AWS 관리 콘솔에서 DMS 복제 작업을 시작합니다. 소스 데이터베이스의 데이터는 S3 버킷에 복제되어 .csv 파일에 저장됩니다.
Lambda 함수는 .txt / .csv 파일 콘텐츠의 텍스트 임베딩을 생성하여 벡터 저장소에 저장합니다.
배스천 호스트에 연결(SSH 또는 인스턴스 연결)합니다. 다음 명령을 실행하고 비밀번호를 입력하여 인증하세요. 자격 증명은 AWS Secrets Manager의 "text-embeddings-pipeline-Vector-store" 비밀에서 찾을 수 있습니다.
psql --port=5432 --dbname=postgres --username=postgres --host= < RDS instance DNS name >
dt
실행하여 데이터베이스 테이블을 나열하십시오. 접두사 "langchain"으로 시작하는 이름을 가진 테이블은 임베딩을 생성하고 저장할 때 LangChain에 의해 자동으로 생성됩니다. List of relations
Schema | Name | Type | Owner
--------+-------------------------+-------+----------
public | langchain_pg_collection | table | postgres
public | langchain_pg_embedding | table | postgres
public | upsertion_record | table | postgres
(3 rows)
문서와 임베딩은 "langchain_pg_embedding" 테이블에 저장됩니다. 다음 명령을 실행하면 잘린 값(실제 값이 너무 김)을 볼 수 있습니다.
SELECT embedding::varchar(80) FROM langchain_pg_embedding;
embedding
----------------------------------------------------------------------------------
[-0.005340576,-0.61328125,0.13769531,0.7890625,0.4296875,-0.13671875,-0.01379394 ...
[0.59375,-0.23339844,0.45703125,-0.14257812,-0.18164062,0.0030517578,-0.00933837 ...
(2 rows)
SELECT document::varchar(80) FROM langchain_pg_embedding;
document
----------------------------------------------------------------------------------
What is text embeddings pipeline?,Text embeddings pipeline allows you to create ...
AWS Health provides improved visibility into planned lifecycle events ...
(2 rows)
cdk destroy --all
자세한 내용은 기여를 참조하세요.
이 라이브러리는 MIT-0 라이선스에 따라 라이선스가 부여됩니다. 라이센스 파일을 참조하십시오.