Como o pgai Vectorizer da Timescale está simplificando o desenvolvimento de aplicativos de IA

Como o pgai Vectorizer da Timescale está simplificando o desenvolvimento de aplicativos de IA

Com o surgimento da IA e dos modelos de linguagem grande (LLMs), os desenvolvedores chamados para criar aplicativos de IA podem sentir que foram transportados para um território alienígena. A resposta do fornecedor de banco de dados Timescale para isso é um conjunto de ferramentas para ajudar desenvolvedores que não têm experiência em IA a criar aplicativos de nível empresarial.

O pgai Vectorizer: Integrando incorporações vetoriais no Postgres

A mais nova adição ao seu conjunto de ferramentas pgai é o pgai Vectorizer, que integra todo o processo de incorporação no Postgres, permitindo que os desenvolvedores criem, armazenem e gerenciem incorporações vetoriais juntamente com dados relacionais sem ferramentas externas ou infraestrutura adicional.

Todas as ferramentas são criadas sobre o pgvector, a extensão de código aberto que permite a pesquisa vetorial no Postgres. Embora vários fornecedores do Postgres tenham adicionado o pgvector na corrida louca para oferecer recursos de IA, a Timescale afirma que isso não é suficiente para ajudar os desenvolvedores iniciantes em IA a começar.

"Se você pensar em quem está realmente construindo aplicativos de IA, isso na verdade recai sobre o desenvolvedor de software, o desenvolvedor de aplicativos", explicou Avthar Sewrathan, líder de produtos de IA e desenvolvedor da Timescale. Embora tenham experiência na construção de sistemas de produção, eles podem não ter experiência em IA e ML, que tradicionalmente têm sido o domínio de cientistas de dados ou engenheiros de pesquisa, mas não são necessariamente engenheiros full-stack ou engenheiros de backend.

"O Vectorizer realmente lida com, 'OK, temos capacidades de busca de vetores no Postgres, mas como você começa em primeiro lugar? E então também, uma vez que você criou embeddings, como você chega onde você pode realmente ter um aplicativo de produção, e quais são as necessidades e demandas junto com isso?'", ele disse.

Incorporando a criação no piloto automático

Para resumir o pgai Vectorizer, ele explicou: "Ele está colocando a criação de embeddings no piloto automático com uma consulta SQL, e está tudo dentro do Postgres. [Ele automatiza] o processo de criação de embeddings a partir de dados de origem e permite que as equipes essencialmente configurem e esqueçam.

À medida que novos dados são adicionados às suas tabelas, os embeddings serão criados automaticamente, e eles evitam todos esses problemas em torno da sincronização de dados e da garantia de que os embeddings sejam escaláveis, porque tudo é sincronizado automaticamente em segundo plano, removendo apenas o trabalho que as equipes de desenvolvimento teriam que fazer de outra forma."

Ele disse que os clientes estão cada vez mais perguntando sobre as tarefas operacionais envolvidas com IA, o que torna essa uma área de preocupação crescente.

Com o pgai Vectorizer, os desenvolvedores podem:

  • Gerencie todos os dados para aplicativos de IA — vetores, metadados, dados de eventos — na mesma plataforma de banco de dados PostgreSQL que eles conhecem.
  • Sincronize automaticamente alterações de dados em incorporações vetoriais em tempo real.
  • Alterne facilmente entre modelos de incorporação para testes e experimentações rápidos sem alterações de código ou necessidade de criar pipelines de dados personalizados.
  • Acompanhe as versões do modelo e garanta a compatibilidade com versões anteriores durante as implementações para transições suaves.

"O pgai Vectorizer é um divisor de águas. Ele promete agilizar todo o nosso fluxo de trabalho de IA, desde a criação de incorporação até a sincronização em tempo real, permitindo-nos entregar aplicativos de IA de forma mais rápida e eficiente", disse Web Begole, CTO na MarketReader. "Ao integrar tudo diretamente no PostgreSQL, o pgai Vectorizer elimina a necessidade de ferramentas e conhecimentos externos, facilitando para nossa equipe focar na inovação em vez da infraestrutura."

Superando os desafios de engenharia da IA

Sewrathan apontou quatro tarefas que o pgai Vectorizer poderia substituir para desenvolvedores:

  1. Construindo um pipeline ETL: Recebendo documentos ou imagens de origem, orquestrando chamadas para OpenAI ou outro modelo e criando a incorporação real.

  2. Fragmentação e formatação: "Antes de criar uma incorporação, você precisa obter [os dados] no formato certo e no tamanho certo que caiba dentro dos limites de token do modelo de incorporação. E essa é outra tarefa que assumimos. Você configura isso em uma linha de código, e então isso é executado automaticamente em segundo plano", disse ele.

  3. Escalando e gerenciando seu pipeline de criação de embedding: "A maioria dos desenvolvedores pode levar meia hora e escrever um script de criação de embedding em Python, mas ter algo que realmente escala e lida com limites de taxa do OpenAI, que lida com enfileiramento quando você tem centenas de milhares de embeddings para criar, isso é uma coisa que nosso sistema faz pronto para uso. Ele substitui esses sistemas de enfileiramento para atualizações e sincronização."

  4. Sincronização: "Quando você está construindo aplicativos de IA, você tem que ter um código que verifica, 'OK, no meu banco de dados de vetores esses embeddings foram criados.' [Mas] eu tenho os metadados corretos no meu banco de dados relacional? Ou, por exemplo, talvez você tenha novos documentos no seu banco de dados relacional, e você precisa verificar se os vetores correspondentes foram criados. Esse tipo de código faz [o que] eu chamaria de sincronização, como verificação de obsolescência", disse Sewrathan. Você tem a garantia de que sabe que seus embeddings estarão atualizados, e se não estiverem, você receberá uma notificação.

"Acho que muito do que você vê na indústria hoje são bancos de dados adicionando recursos de pesquisa de vetores que substituem bancos de dados de vetores e pensando que isso é o suficiente para torná-los um componente essencial da construção de um aplicativo de IA. Mas o que reconhecemos — e falamos com centenas de desenvolvedores ao longo do último ano e meio em que estivemos construindo este projeto — vimos que a pesquisa de vetores é apenas uma parte da construção de um sistema de IA", disse Sewrathan.

"Na verdade, há desafios de engenharia realmente difíceis que precisam ser superados se você quiser construir um aplicativo de nível de produção. E então toda a nossa tese gira em torno de dizer, em termos de pgai, podemos dar aos desenvolvedores um conjunto de ferramentas que resolvam, não apenas a busca vetorial, mas o dimensionamento do seu sistema de IA, resolvendo a criação de incorporação, resolvendo a atualização, resolvendo a sincronização de dados, resolvendo a obsolescência da incorporação, resolvendo a capacidade de [acessar] modelos dentro do banco de dados."

Expandindo além da pesquisa vetorial

Inicialmente apenas pgai, a empresa declarou em uma postagem de blog: "Simplificando, criamos o pgai para ajudar a transformar mais desenvolvedores do PostgreSQL em engenheiros de IA."

Abreviação de inteligência artificial do PostgreSQL, o pgai foi projetado para simplificar o processo de criação de pesquisa semântica, geração aumentada de recuperação (RAG) e outros aplicativos de IA com o PostgreSQL.

"pgai complementa pgvector armazenando embeddings no tipo de dados pgvector e usando Python e PL/Python para interagir com APIs de modelo de dentro de um banco de dados PostgreSQL, explica sua página do GitHub. Ele permite tarefas de classificação, sumarização e enriquecimento de dados em dados relacionais existentes. Ele cria embeddings diretamente no banco de dados, ignorando a tarefa de salvá-los lá.

Inicialmente suportando apenas OpenAI, pgai e pgai Vectorizer agora suportam Ollama, Anthropic e Cohere. A empresa anunciou planos para suportar mais modelos incluindo Claud e Hugging Face.

Escala aprimorada com o pgvectorscale

Também lançado em junho, o pgvectorscale tem como objetivo lidar com casos de uso de IA de alto desempenho e larga escala.

"O Pgvectorscale traz estruturas de dados e algoritmos especializados para pesquisa e armazenamento de vetores em larga escala para o PostgreSQL como uma extensão, ajudando a fornecer desempenho comparável e muitas vezes superior ao de bancos de dados vetoriais especializados como o Pinecone", afirmou a empresa.

Ele adicionou um índice de busca vetorial StreamingDiskANN, inspirado no algoritmo DiskANN da Microsoft, para lidar com as limitações de índices na memória como HNSW (hierarchical navigable small world) armazenando parte do índice em disco. Com discos de estado sólido muito mais baratos que RAM, armazenar o índice em disco representa uma grande economia de custos.

Ela também desenvolveu a quantização binária estatística (SBQ) para melhorar a precisão, ao mesmo tempo em que emprega a compressão de técnicas de quantização binária padrão para economizar espaço de armazenamento.

Enquanto o pgvector é escrito em C, o pgvectorscale é desenvolvido em Rust usando o framework PGRX, adicionando acesso para outra comunidade em rápido crescimento.

Economias de custo e desempenho

A compressão significa menores custos de infraestrutura, mas Sewrathan também destacou outras economias de custos.

"Achamos que você pode realmente ter menos código personalizado em execução e isso economiza muitas horas de engenharia e, na verdade, permite que equipes menores façam o trabalho. [Anteriormente, você poderia precisar de] 10 desenvolvedores; agora você pode fazer [com] apenas dois ou três porque muitas coisas são automatizadas e acontecem imediatamente para você com o Vectorizer", disse ele.

Em um artigo para o The New Stack, Sewrathan também se referiu ao seu teste de benchmark comparando sua versão do pgvector com o Pinecone, concluindo que a extensão do Postgres não é apenas muito mais barata, mas mais rápida que o banco de dados vetorial independente.

Promovendo o popular e testado PostgreSQL, Sewrathan escreveu:

"Escolher um banco de dados vetorial autônomo significaria perder todo o espectro de tipos de dados, semântica transacional e recursos operacionais que existem em um banco de dados de uso geral e são frequentemente necessários para implantar aplicativos de produção."

As ferramentas pgai são de código aberto, mas a Timescale também as oferece como parte de um serviço de banco de dados totalmente gerenciado.

Conteúdo Relacionado

A Google acaba de anunciar o lançamento da versão...
O Rails 8 sempre foi um divisor de águas...
O mundo do trabalho está passando por uma transformação...
Na era do declínio do império dos Estados Unidos...
No mundo atual, orientado por dados, a recuperação de...
A emergência de robôs conversacionais desenvolvidos especificamente para crianças,...
Em qualquer lugar da internet, as pessoas reclamam que...
Em uma era em que vulnerabilidades de software podem...
Como desenvolvedores, muitos de nós somos céticos em relação...
O uso de componentes modulares e as regras bem...
A adoção rápida e generalizada da IA Generativa permeou...
O GitHub, plataforma de desenvolvimento e colaboração de software,...
O GitHub está hospedando sua conferência anual de usuários,...
O Visual Studio Code, o popular editor de código...
O advento da IA ​​generativa está rapidamente inaugurando uma...
A Red Hat, líder em soluções de software open...
Os aplicativos da Web são uma pedra fundamental da...
Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.