OpenAI Agents SDK ஒருங்கிணைப்பு.
Agents SDK தொகுப்பு இல்லை, மற்றும் நீங்கள் ஒன்றை தேவைப்படவில்லை. @function_tool உடன் ஒரு செயல்பாட்டை அலங்கரிக்கவும், உண்மையான blockchain0x கிளையைக் அழைக்கவும், உங்கள் முகவர் Base இல் USDC ஐ நகர்த்த முடியும்.
OpenAI Agents SDK package எதுவும் இல்லை, மேலும் உங்களுக்கு அது தேவையுமில்லை. SDK ஒரு decorated function-ஐ மூலம் tool-ஆக மாற்றுகிறது, ஆகவே உண்மையான Python client-ஐ ஒரு function-இல் wrap செய்து உங்கள் -க்கு சேர்க்கலாம். Agent USDC அனுப்பவும், invoices-ஐ settle செய்யவும், wallets-ஐ read செய்யவும் முடியும் - single agents, handoffs, மற்றும் underlying Responses API முழுவதிலும். Payments Base-இல் settle ஆகும்.
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 blockchain0xexport OPENAI_API_KEY=sk-... export BLOCKCHAIN0X_API_KEY=sk_test_... # sk_test_ = Base Sepolia, sk_live_ = Base mainnet
OPENAI_API_KEY என்பது உங்கள் ஏற்கனவே உள்ள OpenAI key (Agents SDK அதைப் பின்னணி Responses API-க்கு பயன்படுத்துகிறது). BLOCKCHAIN0X_API_KEY என்பது உங்கள் dashboard-இல் உள்ள sk_test_ testnet அல்லது sk_live_ mainnet key; client அதை environment-இலிருந்து வாசிக்கிறது. உங்கள் agent பணத்தையும் பெறுமானால், webhook handler-க்கு கூடுதலாக BLOCKCHAIN0X_WEBHOOK_SECRET தேவைப்படும்.
ஒரு @function_tool, செலுத்தும், ஒரு முகவருக்கு வழங்கப்படுகிறது.
கீழே முழு ஒருங்கிணைப்பு உள்ளது. send_usdc உண்மையான blockchain0x கிளையினை அழைக்கிறது; @function_tool அதை ஒரு கருவியாக மாற்றுகிறது, மற்றும் Runner அழைப்பை ஒழுங்குபடுத்துகிறது. SDK வகை குறிப்புகள் மற்றும் ஆவணத்தைப் படிக்கிறது, எனவே அவற்றை நேர்மையாக வைத்திருக்கவும். அதை இயக்கவும், முகவர் Base இல் USDC ஐ நகர்த்துகிறது.
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.
ஒரு கையொப்பம் செய்யப்பட்ட webhook உடன் உள்ளே வரும் கட்டணங்களை உறுதிப்படுத்தவும்.
உங்கள் எஜெண்ட் USDC ஐப் பெறுமானால், polling மூலம் அல்ல, webhook மூலம் உறுதிப்படுத்துங்கள். verify உதவியாளர் Node SDK இல் அனுப்பப்படுகிறது; ஒரு Python சேவையில் நீங்கள் ஆவணப்படுத்தப்பட்ட HMAC க்கு எதிராக கையால் சரிபார்க்கிறீர்கள், இது உதவியாளர் செய்யும் அனைத்தும். கீழே உள்ள FastAPI எடுத்துக்காட்டு; ஒரே குறியீடு எந்த அசிங்க் Python கட்டமைப்பிலும் வேலை செய்கிறது.
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_ க்கு மாற்றவும்.
முதல் ஒருங்கிணைப்பில் கவனிக்க வேண்டிய ஐந்து விஷயங்கள்.
இவை எங்கள் ஆதரவு மின்னஞ்சலிலிருந்து வருகின்றன. இவற்றைப் முன்கூட்டியே தெரிந்து கொண்டால் ஒவ்வொன்றும் ஒரு மணி நேரத்தைச் சேமிக்கிறது.
Agents SDK தொகுப்பு இல்லை - நீங்கள் SDK ஐ சுற்றி வைத்திருக்கிறீர்கள்
Blockchain0x LangChain மற்றும் CrewAI க்கான அடாப்டர்களை மற்றும் MCP சேவையகத்தை அனுப்புகிறது; தனிப்பட்ட OpenAI Agents SDK தொகுப்பு இல்லை. மேலே உள்ள செய்முறை பாதை: @function_tool உடன் ஒரு சாதாரண வகை செயல்பாட்டை அலங்கரிக்கவும், உண்மையான blockchain0x கிளையண்டை உள்ளே அழைக்கவும், மற்றும் அதை Agent(tools=[...]) இல் சேர்க்கவும். SDK கையொப்பம் மற்றும் ஆவணத்தை வாசித்து கருவியின் வடிவமைப்பை உருவாக்குகிறது, எனவே ஆவணத்தை சரியானதாக வைத்திருக்கவும்.
Agents SDK என்பது Assistants API அல்ல
OpenAI முகவர்கள் SDK (openai-agents தொகுப்பு, முகவரிகள் என இறக்குமதி செய்யப்பட்டது) பழைய உதவியாளர்கள் API இல் இருந்து மாறுபட்ட தயாரிப்பு. செய்முறை முகவர்கள் SDK ஐ குறிக்கிறது: முகவர் + ஓட்டம் + @function_tool பதில்கள் API இல். நீங்கள் client.beta.assistants.create(...) ஐ அழைக்கிறீர்கள் என்றால், நீங்கள் OpenAI முடிவுறுத்தும் பழைய நூல்கள்/ஓட்டங்கள் மாதிரியில் உள்ளீர்கள் - முகவர்கள் SDK க்கு நகரவும் மற்றும் மேலே உள்ள செயல்பாடு நேரடியாக விழுகிறது.
தொகைகள் 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.
send_payment ஆரம்ப கட்டத்தில் 503 answer செய்யக்கூடும்
payments.create default-ஆக retry செய்யாது, மேலும் உங்கள் network-க்கு chain adapter இணைக்கப்படும் வரை 503 return செய்யக்கூடும். Runner loop ஆக விடாமல், உங்கள் function-க்குள் error-ஐ catch செய்து, model செயல்படக்கூடிய தெளிவான message-ஐ return செய்யவும். Auto-minted idempotency key காரணமாக manual retry double-pay செய்யாது.
அசிங்க்-மட்டுமே ரன்டைம்
முகவர்களின் SDK முதலில் async ஆக உள்ளது - await Runner.run(...). உங்கள் கருவியில் உள்ள blockchain0x அழைப்பு ஒத்திசைவு ஆக உள்ளது, இது ஒரு தனி விரைவு கட்டணத்திற்கு சரியாக உள்ளது, ஆனால் சுமையிலுள்ள சுற்றத்தை மறுக்கிறது. நீங்கள் பல ஒரே நேரத்தில் முகவரிகளை இயக்கினால், SDK அழைப்பை asyncio.to_thread உடன் சுற்றி வைக்கவும். ஒத்திசைவு நுழைவு புள்ளியில், asyncio.run() மேலே.