मुख्य सामग्रीकडे जा
OPENAI एजंट्स SDK एकत्रीकरण

OpenAI एजंट्स SDK एकत्रीकरण.

एजंट्स SDK पॅकेज नाही, आणि तुम्हाला एकाची आवश्यकता नाही. @function_tool सह एक कार्य सजवा, वास्तविक blockchain0x क्लायंटला कॉल करा, आणि तुमचा एजंट Base वर USDC हलवू शकतो.

लघु उत्तर

OpenAI Agents SDK साठी कोणतेही package नाही, आणि तुम्हाला त्याची गरजही नाही. SDK decorated function ला सह tool मध्ये रूपांतरित करते, त्यामुळे तुम्ही खरा Python client एका function मध्ये wrap करता आणि तो तुमच्या मध्ये add करता. एजंट USDC पाठवू शकतो, invoices settle करू शकतो, आणि wallets read करू शकतो - single agents, handoffs, आणि underlying Responses API across. Payments Base वर settle होतात.

OPENAI AGENTS SDK का?

OpenAI चा सर्वात स्वच्छ टूल-कॉलिंग पृष्ठभाग.

OpenAI एजंट्स SDK (2025 मध्ये रिलीज) हे Responses API वर एजंट तयार करण्याचा OpenAI चा शिफारस केलेला मार्ग आहे. हे टूल नोंदणी, संदेश लूप, आणि एजंट दरम्यान हस्तांतरणाच्या भोवती बायलरप्लेटला अमूर्त करते, आणि हे स्वच्छ, टाइप केलेले Python कोड तयार करते. जर तुम्ही आज OpenAI-केंद्रित एजंट प्रकल्प सुरू करत असाल आणि तुमच्याकडे फ्रेमवर्कच्या प्राधान्यांची निवड नसेल, तर हा SDK आहे जो आम्ही शिफारस करतो.

रेसिपी हेतुपुरस्सर पातळ आहे. send_usdc एक साधी कार्य आहे जी @function_tool सह सजवलेली आहे; तुम्ही ते एजंटच्या साधनांच्या यादीत जोडता आणि धावक ते उचलतो. कोणतीही विशेष कॉन्फिगरेशन नाही, कोणतीही अतिरिक्त लपवणूक नाही, SDK चा कोणताही फोर्क नाही. जेव्हा एजंट्स SDK एक नवीन वैशिष्ट्य पाठवते (बहु-आकाराचे इनपुट, आवाज एजंट), तुमचे कार्य कार्यरत राहते कारण ते मानक साधन-कॉलिंग पृष्ठभागावर चालते - त्यात काहीही आवृत्ती-विशिष्ट राहत नाही.

इंस्टॉलेशन

Agents SDK आणि मुख्य SDK स्थापित करा. दोन की.

जोडण्यासाठी blockchain0x Agents SDK पॅकेज नाही. तुम्ही OpenAI Agents SDK (openai-agents पॅकेज, Python 3.10+) आणि वास्तविक blockchain0x कोर SDK स्थापित करता, नंतर खालील कार्य लिहिता. ती संपूर्ण अवलंबन यादी आहे.

इंस्टॉल करा
pip install openai-agents blockchain0x
पर्यावरण चल
export OPENAI_API_KEY=sk-...
export BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet

OPENAI_API_KEY ही तुमची विद्यमान OpenAI की आहे (Agents SDK ती underlying Responses API साठी वापरते). BLOCKCHAIN0X_API_KEY ही तुमच्या dashboard मधील sk_test_ testnet किंवा sk_live_ mainnet की आहे; client ती environment मधून वाचतो. जर तुमच्या agent ला पैसे देखील मिळत असतील, तर webhook handler ला BLOCKCHAIN0X_WEBHOOK_SECRET देखील लागतो.

रेसिपी

एक @function_tool जे पैसे देते, एजंटला दिले.

खाली संपूर्ण एकत्रीकरण आहे. send_usdc वास्तविक blockchain0x क्लायंटला कॉल करते; @function_tool याला टूलमध्ये बदलतो, आणि रनर कॉलचे समन्वय करतो. SDK प्रकाराच्या सूचनांमधून आणि डॉकस्ट्रिंगमधून स्कीमा तयार करते, त्यामुळे त्यांना प्रामाणिक ठेवा. ते चालवा आणि एजंट Base वर USDC हलवतो.

AGENT.PY
from agents import Agent, Runner, function_tool
from blockchain0x import Client

blockchain0x = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment

@function_tool
def send_usdc(agent_id: str, to: str, amount_wei: str) -> str:
    """Send a USDC payment from an agent wallet.

    amount_wei is USDC base units (6 decimals), so "10000" is 0.01 USDC.
    """
    return str(
        blockchain0x.payments.create(body={"agentId": agent_id, "to": to, "amountWei": amount_wei})
    )

agent = Agent(
    name="treasurer",
    instructions="You pay vendor invoices in USDC within owner-set limits.",
    tools=[send_usdc],
    model="gpt-4o",
)

result = await Runner.run(
    agent,
    input="Pay 0.01 USDC from agent agt_123 to 0xVendor for the dataset.",
)
print(result.final_output)

When the agent decides to pay, it calls send_usdc, the SDK submits the transfer, and you get a transaction hash back. amount_wei is base units, so 0.01 USDC is "10000". A sk_test_ key keeps it on Base Sepolia until you switch to sk_live_. Add more functions - read a wallet, settle an invoice - the same way; each is another @function_tool in the list.

वेबहुक हाताळणी

स्वाक्षरी केलेल्या वेबहुकसह इनबाउंड पेमेंटची पुष्टी करा.

जर तुमचा एजंट USDC देखील प्राप्त करतो, तर ते वेबहुकद्वारे पुष्टी करा, मतदानाद्वारे नाही. सत्यापन सहाय्यक Node SDK मध्ये पाठवला जातो; एका Python सेवेमध्ये तुम्ही दस्तऐवजीकरण केलेल्या HMAC विरुद्ध हाताने सत्यापित करता, जे सर्व सहाय्यक करते. खालील FastAPI उदाहरण; समान कोड कोणत्याही असिंक्रोनस Python फ्रेमवर्कमध्ये कार्य करतो.

WEBHOOK.PY
import hmac, hashlib, os, time
from fastapi import FastAPI, Request, HTTPException

app = FastAPI()
SECRET = os.environ["BLOCKCHAIN0X_WEBHOOK_SECRET"].encode()

@app.post("/webhooks/payment")
async def receive(request: Request):
    raw = await request.body()  # RAW bytes - do not parse first
    sig = request.headers.get("X-Blockchain0x-Signature", "")
    ts = request.headers.get("X-Blockchain0x-Timestamp", "")
    parts = dict(p.split("=", 1) for p in sig.split(",") if "=" in p)
    t, v1 = parts.get("t", ts), parts.get("v1", sig)
    want = hmac.new(SECRET, t.encode() + b"." + raw, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(want, v1) or abs(time.time() - int(t)) > 300:
        raise HTTPException(status_code=401)
    if request.headers.get("X-Blockchain0x-Event-Type") == "payment.received":
        await trigger_followup()  # USDC landed - run the next step
    return {"ok": True}

अल्गोरिदम t.rawBody वर HMAC-SHA256 आहे, एक स्थिर-वेळ तुलना, आणि 300-सेकंद पुनरावृत्ती विंडो. कच्चा शरीर await request.body() द्वारे वाचा, कधीही request.json() पुन्हा-सीरियलाइझ केलेले नाही, कारण ते सिग्नेचरच्या कव्हर केलेल्या बाइट्समध्ये बदल करते. शिप केलेले इव्हेंट्स आहेत payment.received, payment.sent, wallet.deployed, आणि webhook.test. मोठ्या फॉलो-अप कामासाठी, एक काम (Celery, arq) एनक्यू करा आणि हँडलरला ब्लॉक करण्याऐवजी त्वरित 200 प्रतिसाद द्या.

स्रोत आणि दस्तऐवज

तुम्ही लपवलेला क्लायंट ओपन आहे. त्याला वाचा.

Clone करण्यासाठी Agents SDK starter package नाही - वरचा recipe हीच integration आहे. blockchain0x SDKs GitHub वर open source आहेत; हा recipe Python SDK (blockchain0x-python) wrap करतो, आणि पूर्ण method surface docs मध्ये आहे. function bodies साठी reference म्हणून ते वाचा.

github.com/tosh-labs/blockchain0x-python

पूर्ण SDK method surface आणि scopes यांचे दस्तऐवजीकरण the docs येथे आहे. Base Sepolia वर sk_test_ key ने सुरुवात करा, आणि function अपेक्षेप्रमाणे काम करू लागल्यावर sk_live_ वर स्विच करा.

सामान्य अडथळे

पहिल्या एकत्रीकरणावर लक्ष ठेवण्यासारख्या पाच गोष्टी.

हे आमच्या समर्थन इनबॉक्समधून येतात. त्यांना आधीच माहित असणे प्रत्येकाला एक तास वाचवते.

PITFALL 1

एजंट्स SDK पॅकेज नाही - तुम्ही SDK लपवता.

Blockchain0x LangChain आणि CrewAI साठी अडॅप्टर्स आणि MCP सर्व्हर पाठवते; येथे कोणतीही समर्पित OpenAI Agents SDK पॅकेज नाही. वरील रेसिपी हा मार्ग आहे: @function_tool सह एक साधी टाइप केलेली कार्यक्षमता सजवा, वास्तविक blockchain0x क्लायंटला आत कॉल करा, आणि Agent(tools=[...]) मध्ये जोडा. SDK स्वाक्षरी आणि डॉकस्ट्रिंग वाचतो जेणेकरून टूल स्कीमा तयार करता येईल, त्यामुळे डॉकस्ट्रिंग अचूक ठेवा.

PITFALL 2

एजंट SDK सहाय्यक API नाही

OpenAI एजंट्स SDK (openai-agents पॅकेज, एजंट्स म्हणून आयात केलेले) जुने सहाय्यक API पेक्षा भिन्न उत्पादन आहे. रेसिपी एजंट्स SDK वर लक्ष केंद्रित करते: एजंट + धावक + @function_tool प्रतिसाद API वर. जर तुम्ही client.beta.assistants.create(...) कॉल करत असाल, तर तुम्ही जुनी धागे/धावणी मॉडेलवर आहात ज्याला OpenAI कमी करत आहे - एजंट्स SDK कडे हलवा आणि वरील कार्य थेट आत येते.

PITFALL 3

रक्कम USDC बेस युनिट्स आहेत, स्ट्रिंग्स म्हणून

payments.create takes amountWei: a string of USDC base units, not a float. USDC has 6 decimals, so 0.01 USDC is "10000" and 5 USDC is "5000000". Type the function argument as str; a float will lose precision before it reaches the API. Keep it a string end to end.

PITFALL 4

send_payment लवकर 503 उत्तर देऊ शकते

payments.create डिफॉल्टने पुनःप्रयत्न करत नाही आणि तुमच्या नेटवर्कसाठी चेन अडॅप्टर वायर्ड होईपर्यंत 503 परत करू शकते. तुमच्या कार्यामध्ये त्रुटी पकडा आणि मॉडेलवर कार्य करण्यासाठी स्पष्ट संदेश परत करा, रनर लूप करण्याऐवजी. स्वयंचलितपणे तयार केलेला idempotency की म्हणजे एक मॅन्युअल पुनःप्रयत्न दुहेरी पेमेंट करणार नाही.

PITFALL 5

फक्त असिंक्रोनस रनटाइम

एजंट्स SDK असिंक्रोनस-प्रथम आहे - await Runner.run(...). तुमच्या साधनामध्ये blockchain0x कॉल समकालिक आहे, जो एकाच जलद देयकासाठी चांगला आहे, परंतु लोड अंतर्गत लूपला अडथळा आणतो. जर तुम्ही अनेक समांतर एजंट चालवत असाल, तर SDK कॉलला asyncio.to_thread सह लपवा. समकालिक प्रवेश बिंदूपासून, asyncio.run() शीर्ष स्तरावर.

वारंवार विचारले जाते

तीन OpenAI Agents SDK प्रश्न.

इंस्टॉल करण्यासाठी एक समर्पित OpenAI Agents SDK पॅकेज आहे का?

नाही. Agents SDK आधीच एक सजवलेली कार्य @function_tool सह साधनात रूपांतरित करतो, त्यामुळे प्रामाणिक मार्ग म्हणजे वास्तविक blockchain0x क्लायंटला स्वतः लपेटणे, जसे वर दर्शविले आहे. एकमेव शिप केलेले फ्रेमवर्क पॅकेजेस म्हणजे blockchain0x-langchain आणि blockchain0x-crewai (दोन्ही Python) आणि @blockchain0x/mcp सर्व्हर. Agents SDK, इतर अडॅप्टरशिवाय फ्रेमवर्कसारखे, हा काही ओळ रेसिपी आहे.

मी हे Agents SDK शिवाय थेट OpenAI Responses API बरोबर वापरू शकतो का?

हो. Responses API हा tool-calling layer आहे ज्यावर Agents SDK उभा आहे. तुम्ही client.responses.create() थेट कॉल केल्यास, त्याच function ला request च्या tools list मध्ये tool म्हणून declare करा आणि model ने मागितल्यावर call स्वतः dispatch करा - body फक्त recipe मधील blockchain0x.payments.create कॉल असतो. Agents SDK हा सर्वात सोपा मार्ग आहे कारण @function_tool तुमच्यासाठी tool schema आणि dispatch तयार करतो.

हे बहु-एजंट हस्तांतरणासह कार्य करते का?

हो, आणि wallet कोणत्या agent कडे आहे ते तुम्ही ठरवता. स्वच्छ pattern म्हणजे payment function एका front-facing agent ला द्या आणि प्रत्यक्ष काम wallet tools नसलेल्या specialist agents कडे सोपवा. Spending authority एका ठिकाणी राहते, त्यामुळे चुकीच्या agent कडून charge होण्याचा प्रश्न नाही. read आणि settle functions सुद्धा त्याच प्रकारे जोडा - blockchain0x.transactions.get, blockchain0x.agents.get, blockchain0x.payment_requests.settle - प्रत्येक स्वतःचा @function_tool म्हणून.

तुमच्या Agents SDK बिल्डमध्ये पेमेंट जोडा.

वास्तविक क्लायंटला लपेटणाऱ्या काही ओळी, स्थापित करण्यासाठी कोणतेही पॅकेज नाही. सुरू करण्यासाठी मोफत.