O Cenário do Ecossistema de GenAI: Além dos LLMs e dos Bancos de Dados Vetoriais
Desde o lançamento revolucionário do ChatGPT há 20 meses, o espaço de GenAI passou por desenvolvimentos e inovações significativos. Inicialmente, os Grandes Modelos de Linguagem (LLMs) e os bancos de dados vetoriais capturaram a maior parte da atenção. No entanto, o ecossistema de GenAI é muito mais amplo e mais complexo do que apenas esses dois componentes. Como criador do banco de dados vetorial, uma peça crucial de infraestrutura que impulsiona aplicações de GenAI, estou animado em observar os rápidos avanços tecnológicos e seu impacto na indústria. Neste artigo, gostaria de revisar o que tem acontecido e compartilhar insights sobre o panorama do ecossistema de GenAI.
As aplicações de IA generativa podem ser amplamente categorizadas em dois tipos principais: Geração Aumentada por Recuperação (RAG) e geração multimídia. A RAG combina técnicas de recuperação de informações com modelos de linguagem generativos para produzir resultados relevantes e coerentes. Por outro lado, a geração multimídia aproveita modelos generativos para criar conteúdo visual complexo, incluindo anúncios criativos e gêmeos digitais.
Geração Aumentada por Recuperação
A Geração Aumentada por Recuperação (RAG) é atualmente um dos casos de uso mais populares da IA generativa. Um sistema RAG simples consiste em vários componentes, incluindo limpeza básica de dados, um modelo de embedding, um banco de dados vetorial e um LLM. Sistemas RAG mais avançados, em nível de produção, normalmente incluem componentes adicionais para aprimorar a qualidade e a experiência do usuário. Como os sistemas RAG se assemelham à arquitetura dos sistemas de busca tradicionais, muitos componentes dos sistemas de busca continuam aplicáveis à RAG hoje.
Um sistema de busca típico pode ser dividido em duas partes principais: a parte de indexação offline e a parte de atendimento de consultas online. Da mesma forma, a RAG consiste em uma fase de indexação e uma fase de atendimento de consultas online:
Fase de Indexação: A fase de indexação envolve a aquisição de dados de várias fontes, incluindo bancos de dados, APIs e sistemas de arquivos. Esses dados passam por análise de arquivos e divisão de texto em chunks para prepará-los para análise. Após o processamento, os dados são incorporados em um formato adequado e carregados em um banco de dados vetorial para recuperação eficiente. Alguns sistemas RAG até incorporam técnicas avançadas de mineração de dados, como extração de rótulos, construção de Grafos de Conhecimento e sumarização, para enriquecer os dados e melhorar o processo de recuperação.
Fase de Atendimento: A fase de atendimento de consultas online se concentra em compreender a intenção da consulta do usuário e emprega vários métodos de recuperação, incluindo busca por similaridade vetorial, para encontrar as informações mais relevantes. O resultado da recuperação é então enviado a um Grande Modelo de Linguagem (LLM) para geração. Durante esta etapa, o LLM gera saídas coerentes e contextualmente relevantes com base nos dados recuperados. Além disso, o LLM pode atuar como um agente, aproveitando ferramentas externas para aprimorar suas capacidades e fornecer respostas mais abrangentes e precisas.
Como resultado, muitos projetos de orquestração fornecem implementações de vários componentes e opções de configuração. A natureza complexa da arquitetura também torna necessário avaliar o sistema tanto como caixa branca quanto como caixa preta, o que leva ao desenvolvimento de frameworks de avaliação.
Cada componente também atrai desenvolvedores que buscam criar recursos melhores e mais ricos, como conectores para cada fonte de dados e modelos de embedding adaptados para casos de uso específicos. Frameworks de inferência de LLM oferecem opções de implantação mais flexíveis para LLMs além de apenas serviços de API. Além disso, frameworks agênticos ajudam a aproveitar melhor as capacidades de raciocínio e uso de ferramentas dos LLMs.
Além disso, alguns projetos abordam RAG a partir de diferentes perspectivas, explorando métodos alternativos de recuperação, como grafos de conhecimento, desenvolvendo frameworks de frontend web para experiências de UI aprimoradas e criando soluções prontas para uso que fornecem todo o fluxo de trabalho de RAG, incluindo UIs de chatbot.
Orquestração e Otimização de Fluxos de Trabalho
Para gerenciar os fluxos de trabalho complexos de aplicações RAG, SDKs como LangChain, LlamaIndex, Haystack, DSPy e Semantic Kernel são amplamente utilizados. Esses frameworks de orquestração permitem que os desenvolvedores criem, personalizem e testem pipelines RAG, garantindo que os pipelines sejam compostos para alcançar a melhor qualidade de resposta generativa para casos de uso específicos.
Exemplo: LlamaIndex
LlamaIndex é um framework para criar aplicações aumentadas por contexto usando LLMs. Ele permite que os desenvolvedores integrem LLMs a dados privados fornecendo ferramentas para ingestão, análise, indexação e consulta de dados. Essa abordagem facilita o uso de LLMs para aplicações específicas, como respostas a perguntas, chatbots e compreensão de documentos, incorporando contexto de fontes de dados específicas do usuário, como APIs, bancos de dados SQL e documentos. LlamaIndex oferece abstrações programáticas convenientes de componentes comumente usados, como várias estratégias de segmentação e métodos de busca híbrida.
Avaliação de Qualidade e Observabilidade
Como RAG é um sistema complexo, alcançar resultados ideais em cenários específicos pode ser desafiador. Uma metodologia de avaliação científica é essencial para enfrentar esses desafios. Projetos como Ragas, Arize, Langfuse, Relari AI, Giskard e DeepEval fornecem as métricas e ferramentas necessárias para avaliação e observabilidade. Eles permitem que os desenvolvedores meçam quantitativamente, monitorem e solucionem problemas em seus sistemas RAG.
Exemplo: Ragas
Ragas é um framework abrangente para avaliar pipelines RAG. Ragas oferece ferramentas para avaliar métricas de qualidade de resposta, como fidelidade, relevância e precisão de contexto. Ele suporta a geração de conjuntos de dados de teste sintéticos, monitoramento de aplicações RAG em produção e integração com ferramentas e plataformas de IA como LangChain e LlamaIndex. Ao fornecer uma pontuação Ragas harmonizada que encapsula aspectos-chave de desempenho, esse framework simplifica e quantifica o processo de avaliação, melhorando, em última análise, a eficácia e a confiabilidade dos pipelines RAG.
Conector de Dados e Web Scraping
A capacidade de integrar e processar dados de várias fontes de forma contínua é crucial. Plataformas como Airbyte, Fivetran estão na liderança ao fornecer conectores de dados robustos, assim como Apify e Zyte para web-scraping. Elas permitem que as empresas coletem, transformem e integrem dados de forma eficiente em fluxos de trabalho RAG, facilitando o aproveitamento do poder da IA para missões críticas. A aquisição de dados e a conectividade foram críticas para sistemas de busca tradicionais, e são igualmente relevantes no RAG atual, que é uma nova forma de busca até certo ponto.
Exemplo: Airbyte
Airbyte é uma plataforma de movimentação de dados de código aberto projetada para criar pipelines de dados de extração e carregamento (EL). Ao contrário de muitas plataformas de pipelines de dados que se concentram principalmente em serviços principais, o Airbyte também oferece suporte à integração de serviços menores, muitas vezes negligenciados. Ao manter uma vasta gama de conectores e promover uma comunidade para compartilhar conectores personalizados, o Airbyte permite que as empresas criem soluções sob medida para suas necessidades específicas. Seus conectores de dados robustos podem processar dados não estruturados em embeddings e carregá-los em bancos de dados vetoriais como o Milvus para buscas de similaridade semântica. Esse recurso é útil para que as empresas coletem, transformem e integrem dados de forma eficiente em fluxos de trabalho RAG, aprimorando a tomada de decisões impulsionada por IA e aplicações de busca.
Modelos de Embedding e Reranker
Redes Neurais Profundas, como modelos de embedding, estão transformando a forma como dados não estruturados são processados e compreendidos. Empresas como OpenAI, Cohere, Voyage AI, Jina AI e Twelve Labs estão na vanguarda do desenvolvimento de modelos avançados que convertem dados textuais e multimodais em vetores numéricos. Esses embeddings possibilitam buscas vetoriais de Vizinhos Mais Próximos Aproximados (ANN), permitindo que aplicações entreguem resultados e insights altamente relevantes.
Além dos modelos de embedding de uso geral, empresas como a Voyage AI criam modelos especializados que melhoram a qualidade em verticais específicas, como jurídico e finanças, enquanto a Twelve Labs se concentra em modelos de embedding para recuperação de vídeo. Rerankers, que são modelos treinados propositalmente para comparar a relevância semântica entre uma consulta e um pequeno conjunto de documentos candidatos, podem aumentar ainda mais a precisão dos resultados da etapa inicial de recuperação baseada em vetores. Empresas como Cohere, Voyage AI e Jina AI oferecem rerankers para melhorar a precisão da recuperação.
Exemplo: Voyage AI
A Voyage AI é uma equipe de pesquisadores de IA de Stanford e do MIT especializada em modelos de recuperação, incluindo modelos de embedding e rerankers. Seu principal modelo, voyage-2, treinado por meio de aprendizado contrastivo em texto, oferece maior precisão de recuperação, janelas de contexto estendidas e inferência eficiente em comparação com padrões do setor, como o modelo de embedding de texto da OpenAI. A Voyage AI fornece modelos tanto de uso geral quanto específicos por domínio, otimizados para áreas como finanças, contextos multilíngues, trabalho jurídico e recuperação de código. A Voyage AI também oferece rerankers que aprimoram os resultados de recuperação.
Inferência e Hospedagem de LLM
Com a crescente demanda por aplicações de LLM, soluções eficientes de hospedagem e inferência são essenciais. Projetos como vLLM, Lepton AI, Fireworks AI e Octo AI fornecem infraestrutura robusta para implantar e escalar LLMs. Eles incorporam várias otimizações de inferência para garantir que os modelos operem com eficiência durante o tempo de serviço.
Exemplo: vLLM
vLLM é uma biblioteca de código aberto para inferência e serviço otimizados de LLM. Ela usa o mecanismo PagedAttention para gerenciar memória com eficiência e oferece suporte ao agrupamento contínuo de solicitações recebidas. A biblioteca aproveita a execução rápida de modelos por meio de grafos CUDA/HIP e inclui várias técnicas de quantização, como GPTQ, AWQ, SqueezeLLM e FP8 KV Cache. vLLM integra-se perfeitamente a modelos populares do HuggingFace, fornecendo serviço de alta taxa de transferência com algoritmos de decodificação como amostragem paralela e busca em feixe. Ela oferece suporte a paralelismo de tensor e de pipeline para inferência distribuída, saídas em streaming e inclui um servidor de API compatível com OpenAI. Além disso, oferece recursos experimentais como cache de prefixo e suporte a multi-Lora, e é otimizada para GPUs NVIDIA e AMD.
Gerenciamento de Agentes e Memória
O ecossistema de GenAI está avançando em gerenciamento de memória e sistemas de IA baseados em agentes com soluções como MemGPT, Mem0, Camel, AutoGPT e CrewAI. Essas inovações permitem que aplicações de IA lembrem o histórico de conversas, aproveitem ferramentas e interajam entre si, oferecendo interações mais personalizadas e conscientes do contexto que melhoram significativamente as experiências dos usuários.
Exemplo: MemGPT
MemGPT é um projeto de código aberto voltado para simplificar o desenvolvimento e a implantação de agentes LLM com estado. Ao utilizar uma hierarquia de memória e um fluxo de controle semelhantes aos dos sistemas operacionais tradicionais, o MemGPT gerencia automaticamente e de forma inteligente diferentes níveis de armazenamento, fornecendo assim um contexto estendido dentro da janela de contexto limitada do LLM. O MemGPT facilita conexões com fontes de dados externas por meio de RAG e oferece suporte à definição e chamada de ferramentas ou funções personalizadas, facilitando o desenvolvimento de agentes LLM avançados com estado.
Ferramentas Externas e API para Agentes
A integração de modelos de IA com várias ferramentas externas e APIs é crucial para expandir as capacidades dos agentes. Serviços como Bing API, Google Search API, Twilio e frameworks como OpenAPI facilitam a interação de agentes e ferramentas, permitindo que aplicações acessem e aproveitem dados, serviços e funcionalidades externos.
Exemplo: Bing API
O conjunto de APIs do Bing Search, que inclui serviços como pesquisa na web e de imagens, fornece resultados de pesquisa seguros, sem anúncios e cientes da localização. Isso permite que agentes acessem informações de bilhões de documentos da web, imagens, vídeos e fontes de notícias por meio de uma única chamada de API.
Experiência de Frontend e UI de Busca/Chat
Criar interfaces intuitivas para interagir com aplicações de IA é essencial para a adoção pelos usuários. Frameworks como Streamlit, Vercel e Gradio simplificam o desenvolvimento de aplicações de IA ao fornecer experiências de UI amigáveis. Desenvolvedores podem aproveitar esses frameworks para personalizar interfaces a fim de atender às necessidades específicas das interações de IA, como caixas de chat para aplicações RAG e recursos como seleção de imagens, recorte e navegação para busca visual.
Exemplo: Streamlit
Streamlit é um framework Python de código aberto projetado para cientistas de dados e engenheiros de IA/ML criarem aplicações de dados dinâmicas e interativas com esforço mínimo de codificação. Ao focar em uma sintaxe intuitiva e eliminar a necessidade de CSS, HTML ou JavaScript, o Streamlit permite que os usuários criem e implantem rapidamente aplicações refinadas. Ele se integra a bibliotecas de dados populares como Pandas e NumPy e oferece suporte a componentes de backend para o desenvolvimento de aplicações orientadas por IA.
Grafo de Conhecimento (KG)
Grafos de Conhecimento aprimoram a Geração Aumentada por Recuperação ao fornecer dados estruturados que melhoram a precisão e a relevância da recuperação de informações, resultando em respostas geradas por IA mais precisas e conscientes do contexto. Projetos líderes como WhyHow, GraphRAG, and HippoRAG combinam estruturas de Grafos de Conhecimento com técnicas de RAG para melhorar a qualidade dos resultados de recuperação e das respostas geradas.
Exemplo: WhyHow
WhyHow é uma plataforma projetada para ajudar desenvolvedores a organizar e recuperar dados não estruturados de forma mais eficaz, com foco em aprimorar sistemas complexos de Geração Aumentada por Recuperação (RAG) usando Grafos de Conhecimento. Ela oferece ferramentas para ingestão flexível de dados, oferece suporte à criação de grafos multiplayer para colaboração entre desenvolvedores e especialistas de domínio não técnicos, e permite a manipulação granular de esquemas para adaptar grafos a casos de uso específicos. Ao enfatizar grafos pequenos e modulares e fragmentos vetoriais, a WhyHow melhora a precisão da recuperação de informações. A plataforma é compatível com bancos de dados vetoriais e inclui recursos de exportação para vários formatos. Além disso, a WhyHow fornece um Pacote de Recuperação baseado em Regras de código aberto para auxiliar na criação de fluxos de trabalho de recuperação mais precisos por meio de técnicas avançadas de filtragem.
Serviços RAG Prontos para Uso e Low-code
Há também uma demanda significativa por soluções prontas para uso e low-code para RAG. Projetos como AnythingLLM, PrivateGPT, Dify, Shakudo, Vectara, Epsilla e FlowiseAI oferecem soluções fáceis de usar e um grau de personalização que permitem às empresas implantar rapidamente recursos de IA sem a necessidade de amplo desenvolvimento e expertise de domínio em pipelines de dados e infraestruturas de busca.
Exemplo: AnythingLLM
AnythingLLM é uma aplicação de IA tudo-em-um que fornece chatbots RAG interativos e Agentes de IA sem a necessidade de programação. Ela foi projetada para empresas que buscam uma solução privada, sem configuração, ou uma aplicação de IA personalizável sem exigir ampla expertise em programação. AnythingLLM oferece suporte tanto a modelos de linguagem grandes (LLMs) comerciais quanto de código aberto e a bancos de dados vetoriais. A aplicação facilita uma experiência full-stack por meio de hospedagem local e remota. Os principais recursos incluem workspaces para gerenciamento organizado de documentos, suporte multiusuário com configurações de permissão, agentes para navegação na web e execução de código, um widget de chat incorporável personalizado e suporte para vários tipos de documentos. AnythingLLM também fornece uma API para desenvolvedores para integrações personalizadas.
Geração de Imagens e Vídeos
O ecossistema GenAI não se limita a aplicações baseadas em texto; ele também abrange avanços significativos na geração de imagens e vídeos:
Geração Criativa e Gêmeo Digital
Ferramentas como Midjourney, Stability AI, Runway, Pika e HeyGen estão revolucionando as indústrias criativas ao fornecer soluções impulsionadas por IA para gerar imagens e vídeos de alta qualidade. Essas plataformas capacitam artistas, profissionais de marketing e desenvolvedores a criar conteúdo visual envolvente, expandindo os limites da criatividade e da inovação.
Exemplo: Midjourney
Midjourney é um programa e serviço de IA generativa desenvolvido pela Midjourney, Inc., um laboratório de pesquisa independente em San Francisco. Ele cria imagens de alta qualidade a partir de descrições em linguagem natural, ou prompts, semelhante ao DALL-E da OpenAI e ao Stable Diffusion da Stability AI. Os usuários interagem com o Midjourney por meio de um bot do Discord, onde podem gerar imagens digitando prompts com o comando /imagine, resultando em quatro imagens com opções de upscaling. Essa ferramenta destaca os avanços no ecossistema GenAI, impactando as indústrias criativas ao ampliar as possibilidades na criação de conteúdo digital.
Reflexão Final
O ecossistema GenAI é um cenário dinâmico e em rápida evolução, caracterizado por seus diversos componentes e complexidade. De tecnologias fundamentais como LLMs e bancos de dados vetoriais a inovações em ingestão de dados, orquestração e geração de imagens, a GenAI está redefinindo os limites da inteligência artificial. À medida que a exploração e a inovação continuam, o potencial de impacto transformador em diferentes setores é imenso. Na Zilliz, como criadores do banco de dados vetorial Milvus, colaboramos com muitos parceiros no cenário GenAI. Estamos ansiosos para testemunhar e contribuir para a evolução contínua da GenAI e aguardamos com expectativa as possibilidades que ela trará.
Continue lendo

What Is a Vector Lakebase?
A Vector Lakebase is a unified, lake-native data architecture for AI that combines vector-database-grade serving with open lake storage, reusable lake-level indexes, and a shared semantic layer.

A Developer's Guide to Exploring Milvus 2.6 Features on Zilliz Cloud
Milvus 2.6 marks a shift from “vector search + glue code” to a more advanced retrieval engine, and it is now Generally Available (GA) on Zilliz Cloud (a managed Milvus service).

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.



