Introducción
🤖 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.
pip install -U saptiva-agents
✅ Última versión estable: v0.1.2
🧪 Instalar desde PyPI
Para instalar desde PyPI:
pip install saptiva-agents==0.1.2
🚀 Inicio rápido
👋 Hola Mundo
Crea un agente asistente usando llama3.3:70b
con Saptiva-Agents:
import asyncio
from saptiva_agents import LLAMA_MODEL
from saptiva_agents.base import SaptivaAIChatCompletionClient
from saptiva_agents.agents import AssistantAgent
async def main() -> None:
model_client = SaptivaAIChatCompletionClient(
model=LLAMA_MODEL,
api_key="TU_SAPTIVA_API_KEY"
)
agent = AssistantAgent("assistant", model_client=model_client)
print(await agent.run(task="Say 'Hello World!'"))
await model_client.close()
asyncio.run(main())
python hello_world.py
🌐 Equipo de Agentes para Navegación Web
Crea un equipo de agentes con navegador usando Playwright:
# pip install saptiva-agents
# playwright install --with-deps chromium
import asyncio
from saptiva_agents import QWEN_MODEL
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=QWEN_MODEL,
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("salir", 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."))
# Al escribir el texto de finalización en la consola (salir), el script se detendrá
finally:
await web_surfer.close()
await model_client.close()
asyncio.run(main())
python web_surfer.py
🧰 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. Acá te mostramos un ejemplo corto de como utilizar las tools
import asyncio
from saptiva_agents import LLAMA_MODEL
from saptiva_agents.base import SaptivaAIChatCompletionClient
from saptiva_agents.agents import AssistantAgent
from saptiva_agents.tools import (
# Para este ejemplo usaremos la saptiva_bot_query
saptiva_bot_query,
)
SAPTIVA_API_KEY = os.getenv("SAPTIVA_API_KEY", "<TU SAPTIVA KEY>")
model_client = SaptivaAIChatCompletionClient(
model=LLAMA_MODEL,
api_key=SAPTIVA_API_KEY,
)
agent = AssistantAgent(
"sample_agent",
model_client=model_client,
system_message="You are an agent that helps users by the usage of the `tools` you have been provided with.",
tools=[saptiva_bot_query]
)
async def run():
result = await agent.run(task="invoka `saptiva_bot_query` ¿Cuáles son los productos de Saptibank?")
result_json = json.dumps(result.messages[2].content[0].content, ensure_ascii=False, indent=2) print("result:")
print(result_json)
# Corre el agente
if __name__ == "__main__":
asyncio.run(run())
Acá te dejamos la lista de tools disponibles (versión: 0.1.3)
get_verify_sat
Permite verificar SAT urls através de portal Vulcanix
obtener_texto_en_documento
Envía un documento convertido en base64 para extraer sus contenidos mediante el Saptiva API extractor
saptiva_bot_query
Permite hacer consultas al Saptiva bot
consultar_curp_get
Permite consumir fase de extracción de CURPS mediante la plataforma Vulcanix
consultar_curp_post
Permite consumir fase de envío de CURPS mediante la plataforma Vulcanix
consultar_cfdi
Permite consultar CFDI mediante la plataforma Vulcanix
upload_csv
Permite subir CSV al Saptibank analyzer service
wikipedia_search
Permite hacer búsquedas simples en Wikipedia
get_weather
Una tool de testing para practicar la integración de tools en agentes, contiene texto estático respecto al clima de una ciudad.
📚 Modelos Disponibles
Saptiva-Agents soporta una variedad de modelos para tareas tanto de texto como multimodales.
🧠 Modelos de texto
llama3.3:70b
Modelo de última generación basado en Meta LLaMA 3, ideal para tareas complejas de lenguaje natural.
qwen2.5:72b-instruct
Modelo avanzado ajustado con instrucciones de Alibaba DAMO, diseñado para seguir indicaciones del usuario.
🖼️ Modelos multimodales
gemma3:27b
Modelo multimodal capaz de razonar sobre entradas visuales y textuales. Ideal para tareas interactivas y exploración web.
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT.
🌐 Enlaces
Última actualización