semvec/pypi-packages huggingface dataset:
smartagent-sf 0.2.0
Biblioteca Python para criar agentes de IA com execução determinística
License: MIT
Requires Python: >=3.8


# SmartAgent 🤖

Biblioteca Python leve para criar agentes de IA com execução determinística em 3 fases.

## Características ✨

- **Multi-Provider**: Suporta Groq, OpenAI, Gemini, Grok, Ollama e Llama
- **Sem Schemas**: Não precisa de Pydantic ou definições complexas
- **3 Fases**: Análise → Execução → Resposta
- **Econômico**: Minimiza uso de tokens
- **Simples**: Menos de 500 linhas de código

## Instalação

```bash
# Instalar dependências
pip install requests
```

## Uso Rápido

```python
from agent import Agent

# Criar agente
agent = Agent(provider="groq")

# Registrar ferramentas
@agent.tool
def get_products(max_price=100):
    return [{"nome": "Mouse", "preço": 50}]

# Executar
response = agent.chat("Quais produtos baratos?")
print(response)
```

## Instruções Customizadas

Você pode adicionar instruções personalizadas ao agente:

```python
agent = Agent(
    provider="groq",
    info="""
    Você é um assistente especializado em e-commerce.
    - Sempre sugira produtos relacionados
    - Use tom amigável e profissional
    - Destaque promoções quando disponíveis
    """
)
```

## Providers Suportados

- **Groq**: `Agent(provider="groq", api_key="...")`
- **OpenAI**: `Agent(provider="openai", api_key="...")`
- **Gemini**: `Agent(provider="gemini", api_key="...")`
- **Grok**: `Agent(provider="grok", api_key="...")`
- **Ollama**: `Agent(provider="ollama")` (local)
- **Llama**: `Agent(provider="llama", api_key="...")`

## Variáveis de Ambiente

```bash
# Provider default global (opcional)
export SMARTAGENT_PROVIDER="groq"

export GROQ_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
export GEMINI_API_KEY="your-key"
export XAI_API_KEY="your-key"
export LLAMA_API_KEY="your-key"

# Modelo global (novo)
export SMARTAGENT_MODEL="modelo-ai"

# Modelo por provider (opcional)
export SMARTAGENT_OPENAI_MODEL="gpt-4o-mini"
export SMARTAGENT_GROQ_MODEL="qwen/qwen3-32b"

# Rede (opcional)
export SMARTAGENT_TIMEOUT="30"
export SMARTAGENT_RETRIES="2"

# Compatibilidade legada (ainda suportado)
export LLM="modelo-ai"
```

## Compatibilidade (1-2 versões)

- `model=\"groq\"` (estilo antigo) ainda funciona, mas o recomendado é `provider=\"groq\"`.
- As variáveis `*_API_KEY` continuam suportadas.
- `LLM` continua suportada como fallback para modelo global.

## Arquitetura

1. **Analyzer**: Determina quais ferramentas executar
2. **Executor**: Executa ferramentas com parâmetros
3. **Responder**: Gera resposta humanizada

## Exemplo Completo

Veja `examples/minimal_agent.py`
tomwer 1.6.16
Tomography workflow tools
License: MIT
Requires Python: >=3.10
Keywords: orange3 add-on, ewoks

.. image:: doc/img/tomwer.png
   :alt: Tomwer Logo
   :align: left
   :width: 400px

Introduction
------------

**Tomwer** provides tools to automate acquisition and reconstruction processes for tomography. The package includes:

- A library to individually access each acquisition process.
- Graphical User Interface (GUI) applications to control key processes such as reconstruction and data transfer, which can be executed as standalone applications.
- An Orange add-on to help users define custom workflows (`Orange3 <http://orange.biolab.si>`_).

Tomwer relies on `Nabu <https://gitlab.esrf.fr/tomotools/nabu>`_ for tomographic reconstruction.

**Note**: Currently, the software is only compatible with Linux.

Documentation
-------------

The latest version of the documentation is available `here <https://tomotools.gitlab-pages.esrf.fr/tomwer/>`_.

Installation
------------

Step 1: Installing Tomwer
'''''''''''''''''''''''''

To install Tomwer with all features:

.. code-block:: bash

    pip install tomwer[full]

Alternatively, you can install the latest development branch from the repository:

.. code-block:: bash

    pip install git+https://gitlab.esrf.fr/tomotools/tomwer/#egg=tomwer[full]


Step 2: (Optional) Update Orange-CANVAS-CORE and Orange-WIDGET-BASE
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

If you need access to additional 'processing' wheels and 'reprocess action,' you may want to update these Orange forks. This is optional, as the project works with the native Orange libraries.

.. code-block:: bash

    pip install git+https://github.com/payno/orange-canvas-core --no-deps --upgrade
    pip install git+https://github.com/payno/orange-widget-base --no-deps --upgrade


Launching Applications
-----------------------

After installation, Tomwer includes several applications. You can launch an application by running:

.. code-block:: bash

    tomwer <appName> [options]

- If you run `tomwer` without arguments, a manual page will be displayed.
- For application-specific help, run:

.. code-block:: bash

    tomwer <appName> --help


Tomwer Canvas - Orange Canvas
-----------------------------

You can launch the Orange canvas to create workflows using the available building blocks:

.. code-block:: bash

    tomwer canvas

- Alternatively, you can use `orange-canvas`.
- If you're using a virtual environment, remember to activate it:

.. code-block:: bash

    source myvirtualenv/bin/activate


Building Documentation
-----------------------

To build the documentation:

.. code-block:: bash

    sphinx-build doc build/html

The documentation will be generated in `doc/build/html`, and the entry point is `index.html`. To view the documentation in a browser:

.. code-block:: bash

    firefox build/html/index.html

**Note**: Building the documentation requires `sphinx` to be installed, which is not a hard dependency of Tomwer. If needed, install it separately.