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
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. |
🧰 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:
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ef35df57e6753658566a07c2f7b024afb682646bce29294de8527c1d0f5e378
|
|
| MD5 |
e5630304de26e1d71444e7976b342c7c
|
|
| BLAKE2b-256 |
40d02f882c1a02358c8b5fd404b7a4ffa2b41d697b89398b28a238123b0a877e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85de0eeb2e8da56975168f9481b78b8e12da787d172ab54193008938b457cb54
|
|
| MD5 |
ad58396ce1aff7dbcf453ae9c37aa94e
|
|
| BLAKE2b-256 |
a689687ff10c3eb22058794e5b6ba68b57c1752507c8579060e3b02b3c815dde
|