
embedpg는 pgvector 확장자와 함께 PostgreSQL을 사용하는 node.js API 서비스입니다. 데이터베이스에 벡터 데이터를 저장하고 검색하는 데 도움이됩니다. 이 프로젝트는 사람들에게 유용한 지 확인하는 초기 버전입니다.
벡터 데이터베이스는 정말 유용하지만 종종 비싸고 제한됩니다. 이러한 데이터베이스를보다 쉽고 저렴하게 사용할 수 있도록 embedpg를 만들었습니다. 다양한 규모의 프로젝트에 적합합니다. 주요 비용은 PostgreSQL 및 서버 공간과 같은 클라우드 서비스를 사용하는 것입니다. EMBEDPG를 사용하면 사용하기 쉬운 API 엔드 포인트와 명령 줄 도구를 사용하여 벡터 데이터베이스를 빠르게 설정하는 데 도움이됩니다.
PGVECTOR EXTENSION과 함께 PostgreSQL을 사용하여 내장을 저장하고 검색합니다. pgvector : github의 pgvector를 찾을 수 있습니다.
pgvector 지원 :
예, PGVector를 지원하는 클라우드 솔루션이 있습니다.
EMBEDPG는 여러 주요 기술과 패키지를 활용하여 기능을 제공합니다.
설치 프로세스를 시작하기 전에 다음과 같은 전제 조건이 설치되어 있는지 확인하십시오.
npm install -g pnpm 실행하여 설치하십시오. EMBEDPG는 pgvector 확장을 갖는 postgresql이 필요합니다. 다음을 사용하여 설정할 수 있습니다.
pgvector 저장소. # Pull the Docker image
docker pull arisrayelyan/pgvector:latest
# Run the Docker container
docker run -d
--name pgvector
-e POSTGRES_PASSWORD=postgres
-e POSTGRES_USER=postgres
-e POSTGRES_DB=postgres
-p 5432:5432 arisrayelyan/pgvectorENMEDPG 저장소를 복제하십시오
git [email protected]:arisrayelyan/embed-pg.git프로젝트 디렉토리로 이동하십시오
cd embed-pg종속성을 설치하십시오
pnpm install환경 변수를 설정합니다
.env.example 파일을 .env 로 복사하고 필요에 따라 환경 변수를 설정하십시오.
# General Settings
NODE_ENV=development
# Database Configuration
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_NAME=postgres
DB_HOST=localhost
DB_PORT=5432
# Server Settings
PORT=3000
CORS_ORIGINS=http://localhost:3000 # Set the allowed origins for CORS
# OpenAI Configuration
OPENAI_API_KEY= " "
OPEN_AI_MODEL= " "
OPEN_AI_API_ENDPOINT= " "참고 : ENDEDPG가 임베딩 요청을 처리해야 할 때 OpenAI 환경 변수가 필요합니다.
환경 변수를 설정하고 EMBEDPG를 설치 한 후 서비스가 효과적으로 작동하는 데 필요한 구성 요소를 설정할 준비가되었습니다.
pnpm generate:collections :이 명령은 추가하려는 새 컬렉션에 필요한 모든 구성 요소를 생성하여 안내하는 대화식 명령 줄 도구를 시작합니다. 여기에는 서비스, API 엔드 포인트, 데이터베이스 엔티티 및 마이그레이션이 포함되어 벡터 데이터베이스 서비스가 포괄적이고 특정 데이터 요구를 처리 할 수 있도록합니다.pnpm generate:token :이 명령은 서비스를위한 새로운 API 토큰을 생성하며, 이는 EMBEDPG 서비스에 요청을 인증하는 데 사용할 수 있습니다.pnpm start : 생산 모드에서 서비스를 시작하십시오.pnpm build : 생산 응용 프로그램을 구축하십시오.pnpm dev : 개발 모드에서 서비스를 시작하고 데이터베이스 마이그레이션을 적용합니다.pnpm dev:db migration : 개발 모드에서 데이터베이스 마이그레이션을 적용합니다.--create Flag는 새 마이그레이션 파일을 만듭니다.--up 플래그는 보류중인 모든 마이그레이션을 적용합니다.--down 플래그는 마지막 마이그레이션을 롤백합니다.--to 는 모든 마이그레이션을 특정 마이그레이션으로 적용합니다.pnpm db migration : 생산 모드에서 데이터베이스 마이그레이션을 적용하십시오. 개발 모드와 동일한 플래그를 사용하십시오.pnpm lint : 스타일 및 프로그래밍 오류에 대한 소스 코드를 확인하십시오.pnpm lint:fix : 소스 코드에서 라인 오류를 자동으로 수정합니다.새 컬렉션을 생성 할 때 ENDEDPG는 다음 파일을 만듭니다.
src 디렉토리의 일부 파일을 업데이트합니다. 참고 : 특정 요구에 맞게 생성 된 파일을 사용자 정의 할 수 있습니다. 그러나 제거하지 마십시오 ! embedPg 는 파일의 주석을 사용하여이를 사용하여 생성 된 파일을 식별합니다.
ENMEDPG의 API 문서는 다음과 같습니다.
embedpg를 생산 환경에 배포하기 전에 필요한 환경 변수 및 구성을 설정했는지 확인하십시오. 또한 pgvector 확장으로 PostgreSQL을 실행하고 있는지 확인하십시오 ( PGVECTOR를 지원하는 섹션 클라우드 솔루션 참조).
생산 응용 프로그램을 구축하려면 다음 명령을 실행하십시오.
pnpm build 빌드가 완료되면 컴파일 된 코드가 포함 된 dist 디렉토리가 있습니다. 이 코드를 서버에 배포하고 다음 명령을 실행하여 서비스를 시작하십시오.
처음에는 데이터베이스 마이그레이션을 실행합니다.
pnpm prod:db migration --up새로운 API 토큰 생성 :
pnpm generate:token그런 다음 서비스를 시작하십시오.
pnpm startDocker를 사용하여 embedpg를 배포 할 수도 있습니다.
Docker Image 빌드 ( 참고 : 필요한 환경 변수를 설정했는지 확인하십시오) :
./scripts/build-server.sh이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
ENDEDPG에 기여하는 데 관심을 가져 주셔서 감사합니다! 프로젝트에 기여하는 방법에 대한 지침은 Contributing.md 파일을 참조하십시오.