(venv) gcastro@DESKTOP-K3HHDVG:~/workspace/github.com/gabrielms-castro/python-ai-agent$ python main.py
Bem-vindo ao Coder AI!
Este é um agente de IA que pode ajudar com tarefas de programação.
Você pode fazer perguntas ou solicitar ações relacionadas a código.
Digite 'sair' para encerrar a sessão.
Usuário:
liste os arquivos que vc vê
Thinking...
- Calling function: get_files_info
Final response:
Aqui estão os arquivos e diretórios no meu diretório de trabalho atual:
* `__pycache__` (diretório)
* `.gitignore`
* `tests.py`
* `functions` (diretório)
* `sandbox` (diretório)
* `schemas` (diretório)
* `main.py`
* `venv` (diretório)
* `.git` (diretório)
* `requirements.txt`
* `README.md`
* `config.py`
Usuário:
com exceção de venv, analise os arquivos recursivamente e tente me ajudar a documentar a arquitetura deste projeto
Thinking...
- Calling function: get_files_info
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_files_info
- Calling function: get_files_info
- Calling function: get_files_info
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content
- Calling function: get_file_content"""
Final response:
Com base no conteúdo dos arquivos, aqui está uma descrição mais detalhada da arquitetura:
- functions/: Este diretório contém funções que o agente de IA pode chamar.
call_function.py: Responsável por rotear chamadas de função para as funções apropriadas (get_files_info,get_file_content,write_file,run_python_file). Ele também lida com erros e formata as respostas.get_file_content.py: Permite que o agente de IA leia o conteúdo de um arquivo, com restrições para garantir que o arquivo esteja dentro do diretório de trabalho permitido e para evitar a leitura de arquivos excessivamente grandes.get_files_info.py: Permite que o agente de IA liste os arquivos e diretórios dentro de um diretório, com restrições para garantir que o diretório esteja dentro do diretório de trabalho permitido.write_file.py: Permite que o agente de IA escreva conteúdo em um arquivo, com restrições para garantir que o arquivo esteja dentro do diretório de trabalho permitido e que não seja um diretório.run_python_file.py: Permite que o agente de IA execute um arquivo Python, com restrições para garantir que o arquivo esteja dentro do diretório de trabalho permitido. Ele captura a saída padrão e de erro do processo.
- schemas/:
schemas.py: Define os schemas de dados para as funções que o agente de IA pode chamar. Esses schemas são usados para validar os argumentos passados para as funções e para gerar a documentação da função.
Em resumo, este projeto parece ser um agente de IA que pode interagir com o sistema de arquivos, ler o conteúdo de arquivos, escrever arquivos e executar arquivos Python. O agente é construído usando o modelo Gemini e tem um conjunto de funções predefinidas que ele pode chamar. A arquitetura é modular, com as funções separadas em diretórios separados e com um arquivo de configuração para armazenar constantes de configuração. O projeto também inclui testes para garantir que as funções estejam funcionando corretamente.