GPU-Tools für Agent-Frameworks

GPU-Tools mit festen Kostengrenzen für Agenten mit LangChain, LlamaIndex, OpenAI Agents SDK oder Claude Agent SDK, Sitzungen stoppen beim Beenden.

Vier kleine Python-Pakete geben einem Agenten die GPU-Tools von Node Lodge: Maschinen auflisten, Guthaben prüfen, eine Sitzung starten, verfolgen und stoppen. Sie teilen sich ein Toolkit, das Ihre Kostengrenzen einhält und jede vom Agenten gestartete Sitzung stoppt, sobald Ihr Code es nicht mehr braucht.

Paket Framework
nodelodge-langchain LangChain
nodelodge-llamaindex LlamaIndex
nodelodge-agents[openai] OpenAI Agents SDK
nodelodge-agents[claude] Claude Agent SDK

Für Agenten, die MCP nativ sprechen, etwa Claude Desktop oder Claude Code, verwenden Sie stattdessen den MCP-Server.

Die Kostengrenzen

from nodelodge.agent_tools import GpuToolkit

with GpuToolkit(max_cost_usd_per_session=5, max_total_usd=20) as toolkit:
    ...  # give the toolkit's tools to your agent
# every session the agent launched is stopped here
  • max_cost_usd_per_session ist erforderlich. Ein Start darüber wird abgelehnt, bevor etwas an Node Lodge gesendet wird.
  • max_total_usd begrenzt die Summe der Budgets der Sitzungen, die dieses Toolkit startet.
  • Node Lodge setzt zusätzlich die Limits des API-Schlüssels durch: Geben Sie dem Agenten unter Keys einen eigenen Schlüssel mit Spending limits.
  • Das Verlassen des with-Blocks, der Aufruf von toolkit.close() oder das Ende des Python-Prozesses stoppt jede Sitzung, die das Toolkit gestartet hat.
  • Eine Ablehnung (eine Kostengrenze, Ihr Guthaben, ein Limit des Schlüssels, eine ungültige Eingabe) erreicht das Modell als Fehler mit Begründung. So kann es anhalten und Sie informieren, statt es mit einem höheren Betrag erneut zu versuchen.

Der Schlüssel kommt aus NODELODGE_API_KEY, der SSH-Schlüssel aus ~/.ssh/id_ed25519.pub, und die zum Verbinden zugelassene Adresse ist Ihre öffentliche IPv4-Adresse. Jeden dieser Werte können Sie stattdessen an GpuToolkit übergeben.

LangChain

from langchain.agents import create_agent
from nodelodge_langchain import nodelodge_tools

with GpuToolkit(max_cost_usd_per_session=5) as toolkit:
    agent = create_agent("anthropic:claude-sonnet-5-5", tools=nodelodge_tools(toolkit))
    agent.invoke({"messages": [{"role": "user", "content": "Launch the cheapest GPU with 48 GB of VRAM."}]})

LlamaIndex

from llama_index.core.agent.workflow import FunctionAgent
from nodelodge_llamaindex import nodelodge_tools

with GpuToolkit(max_cost_usd_per_session=5) as toolkit:
    agent = FunctionAgent(tools=nodelodge_tools(toolkit), llm=llm)
    await agent.run("Launch the cheapest GPU with 48 GB of VRAM.")

OpenAI Agents SDK

from agents import Agent, Runner
from nodelodge_agents import openai_agents_tools

with GpuToolkit(max_cost_usd_per_session=5) as toolkit:
    agent = Agent(name="gpu-ops", tools=openai_agents_tools(toolkit))
    result = await Runner.run(agent, "Launch the cheapest GPU with 48 GB of VRAM.")

Das Starten und das Stoppen einer Sitzung unterbrechen den Lauf, bis Sie zustimmen (result.interruptions im SDK). Übergeben Sie require_approval=False, damit der Agent innerhalb der Kostengrenzen selbstständig handelt.

Claude Agent SDK

from claude_agent_sdk import ClaudeAgentOptions, query
from nodelodge_agents import claude_allowed_tools, claude_mcp_server

with GpuToolkit(max_cost_usd_per_session=5) as toolkit:
    options = ClaudeAgentOptions(
        mcp_servers={"nodelodge": claude_mcp_server(toolkit)},
        allowed_tools=claude_allowed_tools(["list_offers", "get_balance", "get_session", "list_sessions"]),
    )
    async for message in query(prompt="Launch the cheapest GPU with 48 GB of VRAM.", options=options):
        print(message)

Die Tools laufen als In-Process-MCP-Server in Ihrem Prozess. Wenn Sie wie oben nur die lesenden Tools vorab freigeben, bleiben Starten und Stoppen hinter der Berechtigungsabfrage des SDK.

Tools

Tool Funktion
list_offers Jetzt buchbare Maschinen, günstigste zuerst, mit GPU, VRAM, Stundenpreis und Standort.
get_balance Für eine neue Sitzung verfügbares Guthaben und der Betrag, den das Toolkit noch ausgeben darf.
launch_session Startet eine Maschine mit einem Budget. max_cost_usd ist erforderlich, wird auf Ihrem Guthaben reserviert und ist durch das Toolkit begrenzt. Abgerechnet wird die tatsächliche Laufzeit, nie mehr.
get_session Status, bisherige Kosten, der Startschritt während des Starts (launch_step) und der ssh-Befehl, sobald die Maschine läuft.
stop_session Stoppt eine Sitzung: Die Abrechnung endet, Maschine und Festplatte werden gelöscht.
raise_session_budget Erhöht das Budget einer laufenden Sitzung, innerhalb der Grenzen des Toolkits und der Limits des Schlüssels.
list_sessions Laufende oder beendete Sitzungen.

Zuletzt aktualisiert

Ergebnisse erscheinen beim Tippen. Mit den Pfeiltasten wechseln Sie zwischen ihnen.