
O INCEDPG é um serviço de API Node.js que usa o PostgreSQL com a extensão pgvector . Ajuda a armazenar e pesquisar dados vetoriais em um banco de dados. Este projeto é uma versão inicial para ver se é útil para as pessoas.
Os bancos de dados vetoriais são realmente úteis, mas geralmente caros e restritos. Criei o INCEDPG para facilitar esses bancos de dados. Funciona bem para diferentes tamanhos de projetos. O custo principal vem do uso de serviços em nuvem como o PostgreSQL e o espaço do servidor. O INCEDPG ajuda você a configurar um banco de dados vetorial rapidamente com pontos de extremidade de API fácil de usar e uma ferramenta de linha de comando.
Armazenamos e pesquisamos incorporações usando o PostgreSQL com a extensão PGVector. Você pode encontrar o PGVector aqui: PGVector no GitHub.
Suportes para PGVector :
Sim, existem soluções em nuvem que suportam o PGVector:
INCEDPG Aproveita várias tecnologias e pacotes importantes para fornecer sua funcionalidade:
Antes de iniciar o processo de instalação, verifique se você possui os seguintes pré -requisitos instalados:
npm install -g pnpm . O INCEDPG requer PostgreSQL com a extensão pgvector . Você pode configurar isso usando:
pgvector disponível no PGVector no GitHub. # 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/pgvectorClone o repositório de incorporação
git [email protected]:arisrayelyan/embed-pg.gitNavegue até o diretório do projeto
cd embed-pgInstalar dependências
pnpm installConfigurar variáveis de ambiente
Copie o arquivo .env.example para .env e defina as variáveis de ambiente, conforme necessário.
# 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= " "NOTA: As variáveis de ambiente OpenAI são necessárias quando o incorporado precisar lidar com solicitações de incorporação para você.
Depois de configurar suas variáveis de ambiente e instalar o INCEDPG, você está pronto para configurar os componentes necessários para que seu serviço opere efetivamente.
pnpm generate:collections : Este comando inicia uma ferramenta de linha de comando interativa que o guia através da geração de todos os componentes necessários para qualquer nova coleção que você deseja adicionar. Isso inclui serviços, pontos de extremidade da API, entidades de banco de dados e migrações, garantindo que o seu serviço de banco de dados vetorial seja abrangente e pronto para lidar com necessidades de dados específicas.pnpm generate:token : Este comando gera um novo token de API para o seu serviço, que você pode usar para autenticar solicitações ao seu serviço de incorporação.pnpm start : Inicie o serviço no modo de produção.pnpm build : construa o aplicativo de produção.pnpm dev : Inicie o serviço no modo de desenvolvimento e aplique migrações de banco de dados.pnpm dev:db migration : aplique migrações de banco de dados no modo de desenvolvimento.--create cria um novo arquivo de migração.--up aplica todas as migrações pendentes.--down bandeira descendente volta a última migração.--to bandeira aplica todas as migrações até uma migração específica.pnpm db migration : aplique migrações de banco de dados no modo de produção. Use os mesmos sinalizadores do modo de desenvolvimento.pnpm lint : verifique o código -fonte para obter erros de estilo e programação.pnpm lint:fix : Corrija automaticamente os erros de linha no código -fonte.Quando você gera uma nova coleção, a INCEDPG cria os seguintes arquivos:
src para incluir os novos arquivos. Nota : Você pode personalizar os arquivos gerados para atender às suas necessidades específicas. Mas não remova o ! embedPg COMENTÁRIO Nos arquivos, pois o INCEDPG usa isso para identificar os arquivos gerados.
Aqui está a documentação da API para incorporarpg.
Antes de implantar o INCEDPG em um ambiente de produção, verifique se você configurou as variáveis e configurações de ambiente necessárias. Verifique também se você está executando o PostgreSQL com a extensão pgvector (consulte a Seção Cloud Solutions que suporta o PGVector ).
Execute o seguinte comando para criar o aplicativo de produção:
pnpm build Depois que a construção estiver concluída, você terá um diretório dist com o código compilado. Implante este código no seu servidor e execute o seguinte comando para iniciar o serviço:
No início, execute as migrações de banco de dados:
pnpm prod:db migration --upGerar um novo token de API:
pnpm generate:tokenEm seguida, inicie o serviço:
pnpm startVocê também pode implantar o INCEDPG usando o Docker.
Crie a imagem do Docker ( Nota: verifique se você configurou as variáveis de ambiente necessárias):
./scripts/build-server.shEste projeto está licenciado sob a licença do MIT. Consulte o arquivo de licença para obter detalhes.
Obrigado pelo seu interesse em contribuir para o INCEDPG! Consulte o arquivo contribuinte.md para obter diretrizes sobre como contribuir para o projeto.