
O MARAT ("MUH-RAH") é uma ferramenta de análise e visualização de dados que facilita a análise de dados exploratórios, desde informações temáticas gerais de AI para análises específicas ou solicitações de visualização do usuário.
Análise de dados atuais As implementações que alavancam a IA conversacional são principalmente interrogativas, com o usuário conversando com uma versão personificada dos dados. Embora isso seja bastante útil, acredito que não maximize o benefício da IA em entender os dados. Nós tendemos a não ver insights e informações como elementos separados interagidos em uma dialética, mas como uma rede de entendimento, com idéias ligando para formar um entendimento completo das informações de dados. Este projeto representa uma tentativa de prova de conceito de implementar melhor essa visão da análise.
Marat usa um front-end ao estilo FlowChart NextJS para visualizar e coordenar a análise de dados por meio de agentes do Python baseado em Python. O FASTAPI é usado para enviar informações para a base do Python, onde a análise é conduzida e enviada de volta ao Frontend do NextJS para ser visualizada e organizada.
Vá para a página principal do painel (localhost: 3000/painel) e faça o upload do seu arquivo de dados CSV quando solicitado. Quando o prompt de pergunta aparecer, você pode fazer uma pergunta específica (ou seja, gerar uma regressão linear entre tamanho e custo) ou uma pergunta ampla (ou seja, me diga tudo, o que contribui para as mudanças no preço, etc.). Para gerar um relatório, selecione os nós que você deseja incluir e clique em "Gerar relatório de nós selecionados". O relatório será gerado como um PDF e pode ser baixado na página /Relatórios.
Todo o código Frontend NextJS está localizado na pasta 'NextJs'. Atualmente, o TypeScript não está definido no modo de script, mas estou planejando atualizar isso assim que todas as configurações de tipo forem totalmente adicionadas.
As configurações Langgraph e agente podem ser encontradas na pasta de back-end, com as definições do agente e a configuração do gráfico encontradas no back-end-> api-> agents-> agents.py e backend-> api-> agent_graph-> graph.py, respectivamente. A configuração do back-end do FASTAPI está no back-end-> api-> test.py, com a coordenação das respostas de Langgraph sendo encontradas em Langchain_base-> langchain.py. As configurações de modelo podem ser encontradas no diretório de modelos de back-end-> API->. Todos os avisos estão localizados no back-end-> api-> slots-> prompts.py
Grande parte do esquema e implementação vem deste projeto, que também apresenta um excelente material de aprendizado.
A maneira mais fácil de instalar e começar é através do Docker. Você pode puxar a imagem pré-construída ou criar a imagem localmente.
Puxe a imagem do Docker do DockerHub
docker pull nbritt27/marat-agent-data-analysis:frontendv1.0
docker pull nbritt27/marat-agent-data-analysis:backendv1.0docker run -p 3000:3000 --name marat-frontend -d marat-agent-data-analysis:frontenddocker run -p 8000:8000 --name marat-agent-data-analysis-backend -d
-e OPENAI_API_KEY=your_api_key
marat-agent-data-analysis-backend:v1.0Construa a imagem localmente
git clone https://github.com/nbritt27/marat-agent-data-analysis.git
cd marat-agent-data-analysiscp .env.example .envdocker compose upSupondo que você tenha o nó instalado (este projeto usa o nó 20.12.0): o projeto usa um front-end NextJS, com as instruções de instalação do NextJS encontradas em https://nextjs.org/docs/getting-start/installation
Mova -se para o diretório NextJS
cd nextjsInstale todas as próximas dependências de nó e nó
npm install
# or
pnpm installInstalar dependências pip
pip install -r ../backend/requirements.txtPara executar o projeto
npm run dev
Nota: Se você estiver usando o Windows e desejar gerar relatórios, precisará fazer o download do instalador para wkhtmltopdf https://wkhtmltopdf.org/downloads.html e especifique o caminho executável no arquivo Env.
Este projeto executa o código Python gerado. É recomendável executar o projeto dentro de um ambiente ou contêiner virtual.
Eu adoraria assistência para trabalhar neste projeto. Se você estiver interessado em ajudar com o projeto ou ter outras perguntas ou preocupações, a melhor maneira de me alcançar é por e -mail [email protected]
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.
Se você usar este projeto ou qualquer subconjunto, entre em contato! Eu adoraria ver o que você é capaz de criar :)