Skip to main content

Saptiva-Agents es un potente framework para construir aplicaciones de IA multiagente que pueden actuar de forma autónoma o colaborar con humanos.

Project description

🤖 Saptiva Agents

Python PyPI version License Documentation

Saptiva-Agents es un potente framework para construir aplicaciones de IA multiagente que pueden actuar de forma autónoma o colaborar con humanos.


⚙️ Instalación

Saptiva-Agents requiere Python 3.10 o superior. Para instalar desde PyPI:

pip install -U saptiva-agents

🚀 Inicio rápido

👋 Hola, Mundo

Crea un agente asistente usando Saptiva Legacy con Saptiva-Agents:

import asyncio

from saptiva_agents import SAPTIVA_LEGACY
from saptiva_agents.base import SaptivaAIChatCompletionClient
from saptiva_agents.agents import AssistantAgent

async def main() -> None:
    model_client = SaptivaAIChatCompletionClient(
        model=SAPTIVA_LEGACY, 
        api_key="TU_SAPTIVA_API_KEY"
    )
    agent = AssistantAgent("assistant", model_client=model_client)
    response = await agent.run(task="Di '¡Hola Mundo!'")
    print(response.messages[1].content)
    
    await model_client.close()

asyncio.run(main())
python hello_world.py

🌐 Equipo de Agentes para Navegación Web

Create a browser-based agent team using Playwright:

# pip install saptiva-agents
# playwright install --with-deps chromium

import asyncio

from saptiva_agents import SAPTIVA_OPS
from saptiva_agents.agents import UserProxyAgent
from saptiva_agents.base import SaptivaAIChatCompletionClient
from saptiva_agents.conditions import TextMentionTermination
from saptiva_agents.teams import RoundRobinGroupChat
from saptiva_agents.web_surfer import MultimodalWebSurfer
from saptiva_agents.ui import Console

async def main() -> None:
    model_client = SaptivaAIChatCompletionClient(
        model=SAPTIVA_OPS, 
        api_key="TU_SAPTIVA_API_KEY"
    )
    web_surfer = MultimodalWebSurfer(
        "web_surfer", 
        model_client, 
        headless=False, 
        animate_actions=True, 
        start_page="https://www.google.com"
    )
    user_proxy = UserProxyAgent("user_proxy")
    termination = TextMentionTermination("exit", sources=["user_proxy"])
    team = RoundRobinGroupChat([web_surfer, user_proxy], termination_condition=termination)

    try:
        await Console(team.run_stream(task="Navega a saptiva.com y consigue información sobre Saptiva AI."))
    finally:
        await web_surfer.close()
        await model_client.close()

asyncio.run(main())
python web_surfer.py

🎭 Orquestación Multiagente

Puedes usar AgentTool para crear una configuración básica de orquestación multiagente.

import asyncio

from saptiva_agents.tools import AgentTool
from saptiva_agents.agents import AssistantAgent
from saptiva_agents.ui import Console
from saptiva_agents.base import SaptivaAIChatCompletionClient


async def main() -> None:
    model_client = SaptivaAIChatCompletionClient(
        model="Saptiva Legacy", 
        api_key="TU_SAPTIVA_API_KEY"
    )
    math_agent = AssistantAgent(
        "math_expert",
        model_client=model_client,
        system_message="Eres un experto en matemáticas.",
        description="Un asistente experto en matemáticas.",
        model_client_stream=True,
    )
    math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)

    chemistry_agent = AssistantAgent(
        "chemistry_expert",
        model_client=model_client,
        system_message="Eres un experto en química.",
        description="Un asistente experto en química.",
        model_client_stream=True,
    )
    chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)

    agent = AssistantAgent(
        "assistant",
        system_message="Eres un asistente general. Usa las herramientas de expertos cuando sea necesario.",
        model_client=model_client,
        model_client_stream=True,
        tools=[math_agent_tool, chemistry_agent_tool],
        max_tool_iterations=10,
    )

    await Console(agent.run_stream(task="¿Cuál es la integral de x^2?"))
    await Console(agent.run_stream(task="¿Cuál es el peso molecular del agua?"))

asyncio.run(main())

📚 Modelos Disponibles

Saptiva-Agents soporta una variedad de modelos para tareas tanto de texto como multi-modales. En caso de requerir implementación de herramientas (tools) te recomendamos usar los siguientes modelos que soportan dicha caracteristica:


🧠 Modelos de texto

Nombre Modelo Base Mejor para Caso de Uso
Saptiva Cortex qwen3-tk Tareas de razonamiento Agentes con lógica, comprensión profunda
Saptiva Turbo qwen3-tk Casos complejos con tools y SDK Agentes autónomos, RAG, websearch
Saptiva Legacy llama3.3:70b Compatibilidad con herramientas legacy SDK avanzado, pruebas, compatibilidad técnica

🖼️ Modelos multi-modal

Nombre Modelo Base Mejor para Caso de Uso
Saptiva Multimodal gemma3:27b Procesamiento combinado de texto e imágenes, largos contextos multilingües. Visual Q&A, OCR + extracción y estructuración de contenido, asistencia técnica con apoyo visual, análisis multimedia.

🔗 Ver lista completa de modelos disponibles en Saptiva


🧰 Custom Tools

Junto a la SDK viene un grupo de tools pre-determinadas con funcionalidades que puedes adherir en la fase de inicialización de tus agentes, estas tools dan acceso a funcionalidades tales como extracción de documentos, consultas CURP, CFDI y demás.

Haz clic en el siguiente link para más información:

💼 Custom Tools

Nota:
La lista de tools pre-determinadas está disponible a partir de la versión 0.1.3 de nuestro SDK.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT.


🌐 Enlaces

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saptiva_agents-0.2.3.tar.gz (42.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

saptiva_agents-0.2.3-py3-none-any.whl (57.8 kB view details)

Uploaded Python 3

File details

Details for the file saptiva_agents-0.2.3.tar.gz.

File metadata

  • Download URL: saptiva_agents-0.2.3.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for saptiva_agents-0.2.3.tar.gz
Algorithm Hash digest
SHA256 1ef35df57e6753658566a07c2f7b024afb682646bce29294de8527c1d0f5e378
MD5 e5630304de26e1d71444e7976b342c7c
BLAKE2b-256 40d02f882c1a02358c8b5fd404b7a4ffa2b41d697b89398b28a238123b0a877e

See more details on using hashes here.

File details

Details for the file saptiva_agents-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: saptiva_agents-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 57.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for saptiva_agents-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 85de0eeb2e8da56975168f9481b78b8e12da787d172ab54193008938b457cb54
MD5 ad58396ce1aff7dbcf453ae9c37aa94e
BLAKE2b-256 a689687ff10c3eb22058794e5b6ba68b57c1752507c8579060e3b02b3c815dde

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page