AgentSDK-HelloWorld / 02_tools_agent.py
smlflg's picture
Initial public upload from Projekte/AgentSDK-HelloWorld
2eb8e3f verified
Raw History Blame Contribute Delete
1.38 kB
"""
Agent mit Custom Tools — OpenAI Agents SDK mit MiniMax
Zeigt Function Calling: Agent kann Funktionen aufrufen.
"""
import os
import json
from datetime import datetime
from dotenv import load_dotenv
from openai import AsyncOpenAI
from agents import Agent, Runner, OpenAIChatCompletionsModel, set_tracing_disabled, function_tool
load_dotenv()
set_tracing_disabled(True)
client = AsyncOpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama",
)
model = OpenAIChatCompletionsModel(model="mistral-nemo", openai_client=client)
@function_tool
def get_current_time() -> str:
"""Gibt die aktuelle Uhrzeit und das Datum zurueck."""
return datetime.now().strftime("%d.%m.%Y, %H:%M Uhr")
@function_tool
def list_files(directory: str) -> str:
"""Listet Dateien in einem Verzeichnis auf."""
try:
files = os.listdir(os.path.expanduser(directory))
return json.dumps(files[:20], ensure_ascii=False)
except OSError as e:
return f"Fehler: {e}"
agent = Agent(
name="ToolBot",
instructions="Du bist ein hilfreicher Assistent mit Zugriff auf Tools. Nutze sie wenn noetig.",
model=model,
tools=[get_current_time, list_files],
)
if __name__ == "__main__":
result = Runner.run_sync(agent, "Wie spaet ist es, und welche Dateien liegen in ~/Projekte?")
print(f"\n--- Ergebnis ---\n{result.final_output}")