O que embedchain faz?
Receitas de implementação que demonstram o roteamento de ingestão de dados de múltiplas fontes para construir pools de conhecimento contextuais especializados.
Visão Geral
Este repositório contém exemplos práticos de como usar o embedchain para agregar dados de várias fontes (como websites, documentos PDF, bancos de dados e APIs) e construir bases de conhecimento que alimentam agentes de IA. O foco está no roteamento inteligente de dados, onde cada fonte é processada de acordo com suas características, garantindo que o conhecimento extraído seja relevante e bem estruturado.
Como Funciona
O embedchain utiliza um pipeline modular para:
- Ingestão: Coleta dados de fontes configuradas (ex.: URLs, arquivos locais, APIs REST).
- Transformação: Converte os dados em chunks de texto, preservando metadados como fonte e timestamp.
- Roteamento: Direciona cada chunk para o armazenamento vetorial adequado (ex.: ChromaDB, Pinecone).
- Consulta: Permite que agentes de IA realizem buscas semânticas no pool de conhecimento.
Exemplos de Uso
from embedchain import App
# Configurar aplicação com fontes de dados
app = App()
app.add("https://exemplo.com/documentacao")
app.add("caminho/para/arquivo.pdf")
app.add("banco_de_dados", connection_string="postgresql://...")
# Consultar o pool de conhecimento
resultado = app.query("Qual a política de privacidade?")
print(resultado)
Fontes Suportadas
- Websites: URLs estáticas e dinâmicas
- Documentos: PDF, DOCX, Markdown
- Bancos de Dados: PostgreSQL, MySQL, MongoDB
- APIs: Endpoints REST com JSON
Configuração de Roteamento
O roteamento pode ser personalizado via arquivo YAML:
sources:
- type: web
url: "https://docs.exemplo.com"
route: "documentacao"
- type: pdf
path: "./relatorios/"
route: "relatorios"
Contribuição
Sinta-se à vontade para abrir issues ou pull requests com novas receitas de implementação ou melhorias no roteamento.