মুখ্য সামগ্ৰীৰ পৰা এৰাই চাওক
OPENAI AGENTS SDK একত্ৰণ

OpenAI Agents SDK সংহতি।

এজেন্টৰ SDK পেকেজ নাই, আৰু আপোনাৰ একো প্ৰয়োজন নাই। @function_tool সৈতে এটা ফাংশন সজাওক, বাস্তৱ blockchain0x ক্লায়েন্টক কল কৰক, আৰু আপোনাৰ এজেন্ট Base ত USDC স্থানান্তৰ কৰিব পাৰে।

ছোট উত্তৰ

OpenAI Agents SDK-ৰ বাবে কোনো package নাই, আৰু আপোনাক তাৰ প্ৰয়োজনো নহয়। SDK-এ সৈতে এটা decorated function-ক tool-লৈ ৰূপান্তৰ কৰে, সেয়ে আপুনি real Python client-টো এটা function-ত wrap কৰি আপোনাৰ -ত যোগ কৰে। Agent-এ USDC পঠিয়াব পাৰে, invoice settle কৰিব পাৰে, আৰু wallet পঢ়িব পাৰে - single agent, handoff, আৰু underlying Responses API-ৰ মাজেৰে। Payment-সমূহ Base-ত settle হয়।

OPENAI AGENTS SDK কিয়

সৰ্বাধিক পৰিষ্কাৰ টুল-ক'লিং পৃষ্ঠ OpenAI পঠিয়ায়।

OpenAI এজেন্ট SDK (2025 চনত মুক্ত) হৈছে OpenAIৰ পৰামৰ্শিত উপায় এজেন্টসমূহ নিৰ্মাণ কৰিবলৈ Responses APIৰ ওপৰত। ই টুল ৰেজিষ্ট্ৰেশ্যন, বাৰ্তা লুপ, আৰু এজেন্টসমূহৰ মাজত হেণ্ডঅফৰ চাৰিওফালে বয়লাৰপ্লেটটোক বিমুক্ত কৰে, আৰু সেয়া পৰিষ্কাৰ, টাইপ কৰা পাইথন কোড উৎপন্ন কৰে। যদি আপুনি আজিৰ পৰা OpenAI-কেন্দ্ৰিক এজেন্ট প্ৰকল্প আৰম্ভ কৰিছে আৰু ফ্ৰেমৱৰ্কৰ প্ৰাধান্য নাই, তেন্তে এইটো হৈছে SDK যিয়ে আমি পৰামৰ্শ দিওঁ।

এই ৰেচিপিখন ইচ্ছাকৃতভাৱে পাতল। send_usdc হৈছে এটা সাধাৰণ ফাংশন যি @function_toolৰ সৈতে সজ্জিত; আপুনি ইয়াক এজন এজেণ্টৰ টুলৰ তালিকাত যোগ কৰে আৰু ৰাণাৰটোৱে ইয়াক গ্ৰহণ কৰে। কোনো বিশেষ কনফিগাৰেচন নাই, কোনো অতিৰিক্ত ৰেপাৰ নাই, SDKৰ কোনো ফৰ্ক নাই। যেতিয়া এজেণ্ট SDKএ এটা নতুন বৈশিষ্ট্য (বহু-ম'ডেল ইনপুট, ভয়েছ এজেণ্ট) প্ৰেৰণ কৰে, আপোনাৰ ফাংশনে কাম কৰি থাকে কাৰণ ই মানক টুল-ক’লিং পৃষ্ঠাত চলি থাকে - ইয়াত কোনো সংস্কৰণ-নির্দিষ্ট বস্তু নাই।

স্থাপন

এজেণ্টছ 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 হৈছে আপোনাৰ ডেছব'ৰ্ডৰ পৰা sk_test_ testnet বা sk_live_ mainnet চাবি; ক্লায়েন্টে ইয়াক পৰিবেশৰ পৰা পঢ়ে। যদি আপোনাৰ এজেণ্টে ধনো গ্ৰহণ কৰে, তেন্তে webhook হেণ্ডলাৰে লগতে 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 উদাহৰণ; একে কোড যিকোনো async 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}

এলগৰিদমটো HMAC-SHA256 হৈছে t.rawBodyৰ ওপৰত, এটা ধ্ৰুৱক-সময় তুলনা, আৰু 300-ছেকেণ্ডৰ পুনৰ খেলা জাননী। কাঁচা বডী পঢ়ক await request.body()ৰ জৰিয়তে, কেতিয়াও request.json() পুনৰ-ডিছাৰিয়েলাইজ নকৰিব, কাৰণ সেয়া স্বাক্ষৰ যি বাইটসমূহ ঢাকিছে সেয়া সলনি কৰে। পঠিওৱা ইভেন্টসমূহ হৈছে payment.received, payment.sent, wallet.deployed, আৰু webhook.test। গম্ভীৰ অনুসৰণৰ কাৰ্যৰ বাবে, এটা চাকৰি (Celery, arq) কিউত ৰাখক আৰু 200 তৎক্ষণাত প্ৰতিক্ৰিয়া জনাওক যাৰ ফলত হেণ্ডলাৰটো ব্লক নকৰে।

সূত্ৰ আৰু ডক্স

আপুনি যি ক্লায়েন্টক মুড়ি দিছে সেয়া খোলা। সিহঁত পঢ়ক।

এজেণ্ট SDKৰ ক্লোন কৰিবলৈ কোনো ষ্টাৰ্টাৰ পেকেজ নাই - ওপৰৰ ৰেচিপিখন হৈছে একীকৰণ। blockchain0x SDKসমূহ GitHubত খুলি আছে; এই ৰেচিপিখনে Python SDK (blockchain0x-python)ক মোড়ে, ডক্সত সম্পূৰ্ণ পদ্ধতি পৃষ্ঠাৰ সৈতে। ফাংশন বডীসমূহৰ বাবে ইয়াক এটা উল্লেখ হিচাপে পঢ়ক।

github.com/tosh-labs/blockchain0x-python

সম্পূৰ্ণ SDK পদ্ধতি পৃষ্ঠ আৰু স্কোপসমূহ ডক্সসমূহত নথিভুক্ত কৰা হৈছে। Base Sepoliaৰ বিৰুদ্ধে sk_test_ চাবিৰ সৈতে আৰম্ভ কৰক, তাৰপিছত ফাংচন আপোনাৰ আশা কৰা কাম কৰিলে sk_live_লৈ সলনি কৰক।

সাধাৰণ বিপদ

প্ৰথম একীকৰণত লক্ষ্য কৰিবলগীয়া পাঁচটা কথা।

এইবোৰ আমাৰ সমৰ্থন ইনবক্সৰ পৰা আহে। আগতীয়াকৈ জানিলে প্ৰতিটোতে এক ঘণ্টা বাচে।

PITFALL 1

এজেন্টৰ SDK পেকেজ নাই - আপুনি SDK মুঠ কৰে

Blockchain0x LangChain আৰু CrewAIৰ বাবে এডাপ্টাৰ আৰু MCP ছাৰ্ভাৰ প্ৰেৰণ কৰে; ইয়াত কোনো নিৰ্দিষ্ট OpenAI Agents SDK পেকেজ নাই। ওপৰৰ ৰেচিপি হৈছে পথ: @function_toolৰ সৈতে এটা সাধাৰণ টাইপ কৰা ফাংচন সজ্জিত কৰক, ভিতৰত বাস্তৱ blockchain0x ক্লায়েন্ট কল কৰক, আৰু ইয়াক Agent(tools=[...])ত যোগ কৰক। SDKয়ে টুল স্কিমা নিৰ্মাণ কৰিবলৈ স্বাক্ষৰ আৰু ডকষ্ট্ৰিং পঢ়ে, সেয়ে ডকষ্ট্ৰিং সঠিক ৰাখক।

PITFALL 2

এজেন্টস SDK হৈছে Assistants API নহয়

OpenAI এজেণ্টৰ SDK (openai-agents পেকেজ, এজেণ্ট হিচাপে আমদানি কৰা) পুৰণি সহায়ক APIৰ পৰা এটা ভিন্ন উৎপাদ। ৰেচিপিটো এজেণ্টৰ SDKৰ লক্ষ্য: এজেণ্ট + ৰাণাৰ + @function_tool Responses 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টো async-প্ৰথম - await Runner.run(...)। আপোনাৰ সঁজুলিৰ ভিতৰত blockchain0x কলটো সমকালীন, যি এটা একমাত্ৰ তৎক্ষণাত পেমেন্টৰ বাবে ঠিক আছে কিন্তু লোডৰ তলত লুপটো বন্ধ কৰে। যদি আপুনি বহুতো সমকালীন এজেণ্ট চলাইছে, SDK কলটো asyncio.to_threadৰ সৈতে মুড়ি দিয়ক। এটা সমকালীন প্ৰৱেশ বিন্দুৰ পৰা, asyncio.run() শীৰ্ষ স্তৰত।

সাধাৰণতে সোধা হয়

এটা ওপেনএআই এজেন্টছ SDKৰ তিনিটা প্ৰশ্ন।

ইনষ্টল কৰিবলৈ এক নিবিড় OpenAI Agents SDK পেকেজ আছে নেকি?

নাই। Agents SDK ইতিমধ্যে এখন সজোৱা ফাংশনক @function_toolৰ সৈতে এখন টুললৈ পৰিণত কৰে, সেয়ে সৎ পথ হৈছে বাস্তৱ blockchain0x ক্লায়েন্টক নিজে মুড়ি দিয়ক, যেন উপৰোক্তত দেখুওৱা হৈছে। মাত্ৰ প্ৰেৰণ কৰা ফ্ৰেমৱৰ্ক পেকেজসমূহ হৈছে blockchain0x-langchain আৰু blockchain0x-crewai (দুয়োটা Python) আৰু @blockchain0x/mcp ছাৰ্ভাৰ। Agents SDK, আন এডাপ্টাৰ নথকা অন্যান্য ফ্ৰেমৱৰ্কৰ দৰে, এই কেইটামান লাইনৰ ৰেচিপি।

মই কি এইটো OpenAI Responses APIৰ সৈতে সোজাকৈ ব্যৱহাৰ কৰিব পাৰিম, Agents SDKৰ অবিহনে?

হয়। Responses API হৈছে টুল-ক'লিং স্তৰ যি Agents SDK ত নিৰ্মাণ কৰে। যদি আপুনি client.responses.create() সোজাকৈ কল কৰে, তেন্তে অনুৰোধৰ টুলসমূহৰ তালিকাত সেই একে ফাংশনটো টুল হিচাপে ঘোষণা কৰক আৰু মডেলটোৱে ইয়াক বিচাৰিলে আপুনি নিজেই কলটো প্ৰেৰণ কৰক - দেহটো কেৱল blockchain0x.payments.create ৰেচিপিৰ পৰা আহে। Agents SDK হৈছে সৰ্বনিম্ন প্ৰতিবন্ধকতাৰ পথ, কাৰণ @function_tool সেই টুল স্কিমা আৰু প্ৰেৰণ আপোনাৰ বাবে নিৰ্মাণ কৰে।

এইটো বহু-এজেন্ট হেণ্ডঅফৰ সৈতে কাম কৰে নে?

হয়, আৰু আপুনি নিৰ্ধাৰণ কৰে কোন এজেণ্টৰ ৱালেটৰ মালিক। পৰিষ্কাৰ প্যাটাৰ্ন হৈছে পেমেন্ট ফাংশনটো এটা একমুখী এজেণ্টক দিয়াৰ লগতে ইয়াক বিশেষজ্ঞ এজেণ্টসমূহলৈ বাস্তৱ কামৰ হাতৰ পৰা সঁপা যিসকলৰ কোনো ৱালেট টুল নাই। খৰচৰ অধিকাৰ এটা ঠাইতে থাকে, সেয়ে ভুল-এজেণ্টৰ মাচুল লোৱা নাই। একে ৰূপে পঢ়া আৰু স্থিৰ কৰা ফাংশনসমূহ যোগ কৰক - blockchain0x.transactions.get, blockchain0x.agents.get, blockchain0x.payment_requests.settle - প্ৰতিটো নিজৰ @function_tool হিচাপে।

আপোনাৰ Agents SDK নিৰ্মাণত পেমেন্ট যোগ কৰক।

এখন কেইটামান লাইন বাস্তৱ ক্লায়েন্টৰ চাৰিওকাষে, ইনষ্টল কৰিবলৈ কোনো পেকেজ নাই। আৰম্ভ কৰিবলৈ মুক্ত।