
MARAT ("MUH-RAH")-это инструмент анализа данных и визуализации, который облегчает анализ исследовательских данных, от общей тематической тематической информации, управляемой AI, до конкретного анализа или запросов визуализации пользователем.
Текущие реализации анализа данных, использующие разговорную ИИ, в первую очередь являются вопросительными, при этом пользовательский чат с персонифицированной версией данных. Хотя это довольно полезно, я считаю, что это не максимизирует пользу ИИ в понимании данных. Мы склонны не рассматривать понимание и информацию, как отдельные элементы, с которыми взаимодействуют в диалектике, а скорее как сеть понимания, с пониманием, связывающими вместе, чтобы сформировать полное понимание понимания данных. Этот проект представляет собой попытку подтверждения концепции лучше реализовать эту точку зрения на анализ.
Marat использует фронта в стиле блок-схемы NextJS для визуализации и координации анализа данных с помощью на основе питона. FOSTAPI используется для отправки информации на базу Python, где анализ проводится и отправляется обратно на Frontend NextJS для визуализации и организованной.
Перейдите на основную страницу панели инструментов (Localhost: 3000/Dashboard) и загрузите файл данных CSV при запросе. Когда появляется подсказка вопроса, вы можете задать конкретный вопрос (то есть генерировать линейную регрессию между размером и стоимостью), либо об широком вопросе (то есть, скажите мне все, что способствует изменениям в цене и т. Д.). Чтобы сгенерировать отчет, выберите узлы, которые вы хотите включить, и нажмите «Создать отчет из выбранных узлов». Затем отчет будет сгенерирован как PDF и может быть загружен через страницу /отчеты.
Весь Frontend NextJS Code находится в папке «NextJS». В настоящее время TypeScript не установлен в режиме скрипта, но я планирую обновить это после того, как все конфигурации типа будут полностью добавлены.
Конфигурации Langgraph и Agent можно найти в бэкэнд-папке с определениями агента и конфигурацией графика, которые можно найти в Backend-> api-> Agents-> Agents.py и Backend-> api-> agent_graph-> graph.py соответственно. Настройка бэкэнд FastApi находится в Backend-> api-> test.py, с координацией ответов Langgraph, обнаруженной в langchain_base-> langchain.py. Конфигурации модели можно найти в каталоге Backend-> API-> моделей. Все подсказки расположены в Backend-> api-> radpts-> rapts.py
Большая часть схемы и реализации поступает из этого проекта, в котором также есть отличный учебный материал.
Самый простой способ установить и начать через Docker. Вы можете либо потянуть предварительно построенное изображение, либо построить изображение локально.
Потяните изображение Docker из 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.0Создайте изображение на месте
git clone https://github.com/nbritt27/marat-agent-data-analysis.git
cd marat-agent-data-analysiscp .env.example .envdocker compose upПредполагая, что у вас установлен узлы (в этом проекте используется узел 20.12.0): в проекте используется фронта NextJS, с инструкциями по установке NextJS, которые можно найти по адресу https://nextjs.org/docs/getting-started/installation
Перейти в каталог NextJS
cd nextjsУстановите все зависимости от NextJS и узлов
npm install
# or
pnpm installУстановите зависимости PIP
pip install -r ../backend/requirements.txtЗапустить проект
npm run dev
ПРИМЕЧАНИЕ. Если вы используете Windows и хотите генерировать отчеты, вам придется загрузить установщик для wkhtmltopdf https://wkhtmltopdf.org/downloads.html и укажите исполняемый путь в файле env.
Этот проект выполняет сгенерированный код Python. Рекомендуется запуск проекта внутри виртуальной среды или контейнера.
Я хотел бы помочь в работе над этим проектом. Если вы заинтересованы в оказании помощи в проекте или у вас есть другие вопросы или проблемы, лучший способ связаться со мной - по электронной почте [email protected]
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.
Если вы используете этот проект или какой -либо подмножество, пожалуйста, дайте мне знать! Я хотел бы посмотреть, что вы можете создать :)