Metadata-Version: 2.1
Name: teste_lr_eagle_020602025
Version: 0.0.0
Summary: Implements LangGraph based agents following the CoALA framework.
Author: Pedro Henrique Thompson Furtado
Author-email: pedrothompson@petrobras.com.br
Requires-Python: >=3.10,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: SQLAlchemy (>=1.4,<2.0.42)
Requires-Dist: aiohttp (>=3.8.3,<3.12.7)
Requires-Dist: arxiv (>=2.1.3)
Requires-Dist: async-timeout (>=4.0.0,<5.0.0)
Requires-Dist: curl-cffi (>=0.10.0)
Requires-Dist: duckduckgo-search (>=8.0.1)
Requires-Dist: fastparquet (>=2024.5.0)
Requires-Dist: filelock (>=3.17.0)
Requires-Dist: func-timeout (>=4.3.5)
Requires-Dist: ipywidgets (>=8.1.3)
Requires-Dist: jinja2 (>=3.1.5)
Requires-Dist: jupyter-contrib-nbextensions (>=0.7.0)
Requires-Dist: jupyterlab (>=4.4.2)
Requires-Dist: langchain (>=0.3.17)
Requires-Dist: langchain-community (>=0.3.16)
Requires-Dist: langchain-openai (>=0.3.3)
Requires-Dist: langgraph (>=0.2.69)
Requires-Dist: langsmith (>=0.1.17,<0.3.44)
Requires-Dist: lark (>=1.1.9)
Requires-Dist: matplotlib (>=3.10.0)
Requires-Dist: networkx (>=3.4.2)
Requires-Dist: numpy (>1.26.4,<2.2.6)
Requires-Dist: openpyxl (>=3.1.4)
Requires-Dist: opensearch-py (>=2.7.1)
Requires-Dist: osisoft-pidevclub-piwebapi-thompsonp17 (>=1.2.0)
Requires-Dist: pandas (>=2.1.4)
Requires-Dist: plotly (>=6.0.0)
Requires-Dist: pyarrow (>=16.1.0)
Requires-Dist: pydantic (>=2.10.6)
Requires-Dist: python-dotenv (>=1.0.1)
Requires-Dist: python-levenshtein (>=0.25.1)
Requires-Dist: pyvis (>=0.3.2)
Requires-Dist: requests (>=2.32.3)
Requires-Dist: restrictedpython (>=7.0)
Requires-Dist: scikit-learn (>=1.5.0)
Requires-Dist: tabulate (>=0.9.0)
Requires-Dist: tenacity (>=8.4.0,<9.0.0)
Requires-Dist: xlrd (>=2.0.1)
Requires-Dist: yfinance (>=0.2.59)
Description-Content-Type: text/markdown

<p align="center">
    <img src="./assets/EAGLE.jpg" alt="EAGLE Logo" />
</p>

# Enhanced Agents for Generative Language Excellence

## Do que se trata este projeto?

Esse projeto implementa a visão do [framework CoALA (Cognitive Architectures for Language Agents)](https://github.com/ysymyth/awesome-language-agents) no contexto do [LangGraph](https://www.langchain.com/langgraph), com agentes, ferramentas e estratégias de integração multiagentes para servirem de exemplo para novas implementações.

## Instalação

### Pré-requisitos (considerando o uso do Conda para gerenciar o ambiente python)

- [Miniforge 3](https://conda-forge.org/download/): O Miniforge é uma distribuição mínima do conda, que é um gerenciador de pacotes e ambientes virtuais. Ele será usado para criar um ambiente virtual para instalar as dependências do projeto.

### Criando o ambiente virtual

1. Uma vez instalado o Conda, abra o terminal e digite o seguinte comando:

```bash
conda create -n eagle python=3.10
```

2. Após a criação do ambiente, ative-o com o comando:

```bash
conda activate eagle
```

3. Instale a versão mais recente do Poetry com o comando:

```bash
pip install poetry==1.8.5
```

1. Instale as dependências do projeto com o comando:

```bash
poetry install
```

## Testes
Para executar os testes, execute os seguintes passos:

1. Ative o ambiente virtual com o comando:

```bash
conda activate eagle
```

2. Copie o arquivo `sample.test.env` para `.test.env` e preencha as variáveis de ambiente com as informações necessárias para o seu amnbiente de testes.

```bash
cp sample.test.env .test.env
```

### Ponto de Atenção

Os testes e exemplos dos notebooks estão baseados nos modelos `AzureChatOpenAI` para os LLMs e `AzureOpenAIEmbeddings` para os embeddings. Caso seja necessário utilizar outros nomes de modelos, tipos ou ajustar as relações com as variáveis de ambiente, essas alterações podem ser feitas na pasta [`tests/models`](tests/models).

## Exemplos de uso das funcionalidades

A pasta `notebooks` contém exemplos de uso das ferramentas. Para executar os exemplos:

1. Ative o ambiente virtual com o comando:

```bash
conda activate eagle
```

2. Ative a extensão de widgets do jupyter com o comando:

```bash
jupyter nbextension enable --py widgetsnbextension
```

3. Ative o jupyter lab com o comando:

```bash
jupyter lab
```

4. Abra o browser e execute os notebooks da pasta `notebooks`.

