Assista à demonstração: https://www.youtube.com/watch?v=ugqmn2xdu54
This repository is based on the code from LangChain's Azure Container Apps Dynamic Sessions Data Analyst Notebook (https://github.com/langchain-ai/langchain/blob/master/cookbook/azure_container_apps_dynamic_sessions_data_analyst.ipynb), where an agent reads data from a PostgreSQL database, saves Ele em um arquivo CSV e executa o código com base no arquivo CSV, como plotar um gráfico.
O principal recurso do código foi que ele executou o código em um contêiner usando sessões dinâmicas de aplicativos de contêineres do Azure.
Este projeto substitui as sessões dinâmicas dos aplicativos do contêiner do Azure pelo Docker. Portanto, quando o agente executar o código, ele criará um contêiner do Docker, executará o código e removerá o contêiner. Isso garante que a máquina host esteja a salvo do código arbitrário do agente.
A arquitetura do agente é a seguinte:

Depois que o nó execute_sql_query é executado, os dados são salvos como um CSV na máquina host. O contêiner do docker possui permissão somente leitura para acessar este CSV. Se plotar alguma coisa, a imagem será passada de volta à máquina host através de uma string base64.
git clone https : // github . com / paulomuraroferreira / LLM - agents - with - docker . git
cd LLM - agents - with - docker$ pip install - e .Além disso, verifique se você está instalado e executando o Docker.
Crie um arquivo .env e preencha as seguintes variáveis de ambiente:
OPENAI_API_KEY = your_openai_api_key
DATABASE_URL = your_postgres_url
LLM_MODEL = i am using 'gpt-4o'Execute o script principal para inicializar o fluxo de trabalho e lidar com consultas de usuário:
python main . py