Hubungkan OpenAI Agents SDK ke Anoman AI
Ganti base URL pada AsyncOpenAI untuk menambahkan guardrail, batch routing, dan observability pada setiap agent run. Tidak perlu mengubah definisi agent atau tool Anda.
Prasyarat
- Akun Anoman AI dengan API key aktif
- Python 3.9+
- OpenAI Agents SDK terinstal
Langkah 1: Instal dependensi
pip install openai-agentsLangkah 2: Konfigurasikan client dengan Anoman
Berikan client AsyncOpenAI kustom dengan base URL Anoman ke set_default_openai_client. Semua agent yang dibuat setelah panggilan ini otomatis menggunakan Anoman.
from openai import AsyncOpenAI
from agents import set_default_openai_client, Agent, Runner
# Point the SDK at Anoman
client = AsyncOpenAI(
api_key="anm-sk-your-key-here",
base_url="https://api.anoman.io/v1",
)
set_default_openai_client(client)Langkah 3: Definisikan dan jalankan agent
Definisi agent dan tool Anda tetap persis seperti apa adanya. Setiap panggilan LLM dalam satu run melewati pipeline guardrail Anoman.
import asyncio
from agents import Agent, Runner
agent = Agent(
name="Research assistant",
instructions="You are a helpful research assistant.",
model="gpt-4o-mini",
)
async def main():
result = await Runner.run(
agent,
"Summarize the key provisions of Indonesia's UU PDP law.",
)
print(result.final_output)
asyncio.run(main())Agent dengan tool
Definisi tool tidak berubah. Lapisan tata kelola MCP Anoman dapat menerapkan kebijakan allow/deny per tool jika sebuah kebijakan MCP terpasang pada API key Anda.
from agents import Agent, Runner, function_tool
@function_tool
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 28°C."
agent = Agent(
name="Weather assistant",
instructions="Answer weather questions.",
model="gpt-4o-mini",
tools=[get_weather],
)
async def main():
result = await Runner.run(agent, "What is the weather in Jakarta?")
print(result.final_output)
asyncio.run(main())Saat guardrail terpicu
Jika pipeline guardrail memblokir sebuah permintaan, Anoman mengembalikan 403. SDK memunculkan openai.APIStatusError yang muncul di Runner.run.
import openai
try:
result = await Runner.run(agent, user_message)
except openai.APIStatusError as e:
if e.status_code == 403:
print("Blocked by guardrail:", e.body)
raiseLihat docs/openapi/ untuk skema error terkini.
Header transparansi guardrail
Setiap respons menyertakan header hasil guardrail. Periksa header ini di log API Anda untuk memastikan pipeline berjalan pada setiap langkah agent.
X-Anoman-Guardrail-Injection: pass score=0.06
X-Anoman-Guardrail-Pii: pass
X-Anoman-Guardrail-Content: pass
X-Anoman-Cache: noneButuh bantuan dengan integrasi Anda?
Bergabunglah dengan Founding 50 untuk akses awal dan dukungan langsung dari tim Anoman.
Gabung Founding 50