O SDK RAG de IA de borda fornece os componentes fundamentais para construir um pipeline de geração aumentada de recuperação (RAG, na sigla em inglês) com a API de inferência de LLM. Um pipeline de RAG oferece aos LLMs acesso a dados fornecidos pelo usuário, que podem incluir informações atualizadas, sensíveis ou específicas do domínio. Com os recursos de recuperação de informações adicionais da RAG, os LLMs podem gerar respostas mais precisas e sensíveis ao contexto para casos de uso específicos.
O SDK AI Edge RAG está disponível para Android e pode ser executado completamente no dispositivo. Comece a usar o SDK seguindo o guia do Android, que orienta você em uma implementação básica de um aplicativo de exemplo usando RAG.
Pipeline da RAG
A configuração de um pipeline RAG com o SDK de RAG da AI Edge contém as seguintes etapas principais:
- Importar dados: forneça os dados textuais que o LLM vai usar ao gerar a saída.
- Dividir e indexar os dados: divida os dados em pequenos blocos para indexação em um banco de dados.
- Gerar embeddings: use um embedder para vetorizar os blocos a serem armazenados em um banco de dados de vetores.
- Extrair informações: defina como as informações relevantes são identificadas e extraídas para atender às solicitações do usuário. Para uma determinada solicitação, o componente de recuperação procura no banco de dados de vetores para identificar informações relevantes.
- Gerar texto com LLM: use um modelo de linguagem grande para gerar texto de saída com base nas informações recuperadas do banco de dados de vetores.
Principais módulos
O SDK do AI Edge RAG oferece os seguintes módulos e APIs principais para o pipeline RAG:
- Modelos de linguagem: os modelos LLM com a API de comando aberto, seja local (no dispositivo) ou baseada em servidor. A API é baseada na interface LanguageModel.
- Modelos de embedding de texto: converta texto estruturado e não estruturado em vetores de embedding para pesquisa semântica. A API é baseada na interface Embedder.
- Armazenamentos de vetores: o repositório de vetores armazena as embeddings e os metadados derivados de blocos de dados. Ele pode ser consultado para encontrar blocos semelhantes ou correspondências exatas. A API é baseada na interface VectorStore.
- Memória semântica: serve como um recuperador semântico para recuperar os principais fragmentos relevantes de uma consulta. A API é baseada na interface SemanticMemory.
- Fragmentação de texto: divide os dados do usuário em partes menores para facilitar a indexação. A API é baseada na interface TextChunker.
O SDK oferece cadeias, que combinam vários componentes do RAG em um único pipeline. Você pode usar cadeias para orquestrar modelos de recuperação e consulta. A API é baseada na interface Chain. Para começar, use a cadeia de recuperação e inferência ou a cadeia de recuperação.