[!IMPORTANT] 🚀 DOWNLOAD DIRETO DO APLICATIVO (APK): Baixe o aplicativo compilado e otimizado para Android diretamente pelo link abaixo: 👉 Download AgroAI-release.apk (50 MB)
O AgroRAG é uma solução inovadora de assistência técnica agrícola projetada para operar em cenários com restrição extrema de conectividade (zonas de sombra rural). Trata-se de um sistema de Retrieval-Augmented Generation (RAG) de ponta a ponta, executado de forma 100% offline diretamente em dispositivos móveis Android de gama média.
O projeto elimina a dependência de APIs em nuvem e conexão à internet ao rodar modelos de linguagem (SLMs) e buscas vetoriais nativamente no smartphone utilizando o motor de alto desempenho LiteRT-LM (TensorFlow Lite para LLMs) com aceleração gráfica nativa de GPU.
A arquitetura do AgroRAG foi projetada de forma modular, dividindo as tarefas pesadas de processamento em duas grandes etapas: o pipeline de ingestão de dados em lote (Python) e o aplicativo móvel interativo de execução local (React Native).
O fluxo de processamento de uma dúvida técnica enviada pelo produtor rural segue o ciclo ilustrado no diagrama abaixo:
sequenceDiagram
autonumber
actor Produtor as Produtor Rural (App)
participant UI as Interface de Usuário
participant Embed as Nomic Embed Service
participant DB as SQLite + sqlite-vec (OP-SQLite)
participant Engine as LiteRT-LM Engine
participant Model as Gemma 4 E2B IT (.litertlm)
Produtor->>UI: Digita pergunta (Ex: "Como combater a lagarta da soja?")
UI->>Embed: Envia pergunta para vetorização
Note over Embed: Executa modelo local de embeddings<br/>(Nomic Embed v1.5)
Embed-->>UI: Retorna Vetor de Consulta (768 dimensões)
UI->>DB: Executa busca híbrida (Vetor + Boosts SQL)
Note over DB: Filtra cultura + Boost de palavras-chave<br/>+ Penalidade de ruídos acadêmicos
DB-->>UI: Retorna Top 5 Chunks de contexto (Texto + Metadados)
UI->>Engine: Inicializa prompt montado (Fatos + Pergunta)
Note over Engine, Model: Carrega pesos na GPU do celular (OpenCL/Vulkan)<br/>Temperatura = 0.0 (Greedy Decoding)
Engine->>Model: Processa Prompt
Model-->>Engine: Stream de tokens gerados
Engine-->>UI: Renderiza resposta em tempo real
UI-->>Produtor: Exibe resposta factual e lista fontes (Doc / Pág)
A escolha do Gemma 4 E2B (versão Instruction Tuned, otimizada para o runtime LiteRT-LM do Google) como o modelo de linguagem principal do aplicativo baseia-se em conceitos técnicos de processamento de linguagem de borda (Edge AI):
.litertlm: Desenvolvido pela comunidade do TensorFlow Lite (LiteRT), o formato empacota os pesos do modelo de forma otimizada para execução em dispositivos móveis. Ele compila operações matemáticas complexas diretamente para instruções nativas ARM e otimiza a alocação de buffers na memória RAM nativa do celular. Para mais informações técnicas sobre a estrutura de seções, o pipeline de compilação do compilador litert-torch e as lições aprendidas sobre a compatibilidade de assinaturas de embedders, consulte o Guia Detalhado do Formato .litertlm.Para otimizar a recuperação de informações agrícolas e evitar que dados técnicos de culturas diferentes se misturem, o AgroRAG implementa uma query de busca vetorial avançada (Busca Híbrida) no SQLite:
Embora o núcleo de RAG vetorial e a inferência local com Gemma 4 E2B estejam totalmente funcionais, o AgroRAG necessita das seguintes implementações planejadas para atingir robustez de produção:
NetInfo) e realiza o sincronismo assíncrono dos dados e feedbacks dos usuários para um servidor central, baixando simultaneamente atualizações incrementais do banco de dados de conhecimento (agro_rag-v3.db).resetConversation(), impedindo que o produtor faça perguntas de acompanhamento mantendo o histórico de mensagens anteriores.A concepção do AgroRAG alinha-se a recentes pesquisas científicas globais em RAG de borda (On-Device RAG):
Este projeto está licenciado sob os termos da licença MIT.
44 commits
17 commits
Jupyter Notebook
66.8%
TypeScript
18.6%
Python
14.0%
[!IMPORTANT] 🚀 DOWNLOAD DIRETO DO APLICATIVO (APK): Baixe o aplicativo compilado e otimizado para Android diretamente pelo link abaixo: 👉 Download AgroAI-release.apk (50 MB)
O AgroRAG é uma solução inovadora de assistência técnica agrícola projetada para operar em cenários com restrição extrema de conectividade (zonas de sombra rural). Trata-se de um sistema de Retrieval-Augmented Generation (RAG) de ponta a ponta, executado de forma 100% offline diretamente em dispositivos móveis Android de gama média.
O projeto elimina a dependência de APIs em nuvem e conexão à internet ao rodar modelos de linguagem (SLMs) e buscas vetoriais nativamente no smartphone utilizando o motor de alto desempenho LiteRT-LM (TensorFlow Lite para LLMs) com aceleração gráfica nativa de GPU.
A arquitetura do AgroRAG foi projetada de forma modular, dividindo as tarefas pesadas de processamento em duas grandes etapas: o pipeline de ingestão de dados em lote (Python) e o aplicativo móvel interativo de execução local (React Native).
O fluxo de processamento de uma dúvida técnica enviada pelo produtor rural segue o ciclo ilustrado no diagrama abaixo:
sequenceDiagram
autonumber
actor Produtor as Produtor Rural (App)
participant UI as Interface de Usuário
participant Embed as Nomic Embed Service
participant DB as SQLite + sqlite-vec (OP-SQLite)
participant Engine as LiteRT-LM Engine
participant Model as Gemma 4 E2B IT (.litertlm)
Produtor->>UI: Digita pergunta (Ex: "Como combater a lagarta da soja?")
UI->>Embed: Envia pergunta para vetorização
Note over Embed: Executa modelo local de embeddings<br/>(Nomic Embed v1.5)
Embed-->>UI: Retorna Vetor de Consulta (768 dimensões)
UI->>DB: Executa busca híbrida (Vetor + Boosts SQL)
Note over DB: Filtra cultura + Boost de palavras-chave<br/>+ Penalidade de ruídos acadêmicos
DB-->>UI: Retorna Top 5 Chunks de contexto (Texto + Metadados)
UI->>Engine: Inicializa prompt montado (Fatos + Pergunta)
Note over Engine, Model: Carrega pesos na GPU do celular (OpenCL/Vulkan)<br/>Temperatura = 0.0 (Greedy Decoding)
Engine->>Model: Processa Prompt
Model-->>Engine: Stream de tokens gerados
Engine-->>UI: Renderiza resposta em tempo real
UI-->>Produtor: Exibe resposta factual e lista fontes (Doc / Pág)
A escolha do Gemma 4 E2B (versão Instruction Tuned, otimizada para o runtime LiteRT-LM do Google) como o modelo de linguagem principal do aplicativo baseia-se em conceitos técnicos de processamento de linguagem de borda (Edge AI):
.litertlm: Desenvolvido pela comunidade do TensorFlow Lite (LiteRT), o formato empacota os pesos do modelo de forma otimizada para execução em dispositivos móveis. Ele compila operações matemáticas complexas diretamente para instruções nativas ARM e otimiza a alocação de buffers na memória RAM nativa do celular. Para mais informações técnicas sobre a estrutura de seções, o pipeline de compilação do compilador litert-torch e as lições aprendidas sobre a compatibilidade de assinaturas de embedders, consulte o Guia Detalhado do Formato .litertlm.Para otimizar a recuperação de informações agrícolas e evitar que dados técnicos de culturas diferentes se misturem, o AgroRAG implementa uma query de busca vetorial avançada (Busca Híbrida) no SQLite:
Embora o núcleo de RAG vetorial e a inferência local com Gemma 4 E2B estejam totalmente funcionais, o AgroRAG necessita das seguintes implementações planejadas para atingir robustez de produção:
NetInfo) e realiza o sincronismo assíncrono dos dados e feedbacks dos usuários para um servidor central, baixando simultaneamente atualizações incrementais do banco de dados de conhecimento (agro_rag-v3.db).resetConversation(), impedindo que o produtor faça perguntas de acompanhamento mantendo o histórico de mensagens anteriores.A concepção do AgroRAG alinha-se a recentes pesquisas científicas globais em RAG de borda (On-Device RAG):
Este projeto está licenciado sob os termos da licença MIT.
44 commits
17 commits
Jupyter Notebook
66.8%
TypeScript
18.6%
Python
14.0%