முக்கிய உள்ளடக்கத்திற்கு தவிர்க்கவும்
LLAMAINDEX INTEGRATION

LlamaIndex பணம் செலுத்தும் இணைப்பு.

LlamaIndex தொகுப்பு இல்லை, மற்றும் நீங்கள் ஒன்றை தேவைப்படவில்லை. உண்மையான blockchain0x கிளையைக் ஒரு FunctionTool இல் சுற்றி வைத்து உங்கள் முகவர் USDC ஐ நகர்த்த மற்றும் Base இல் ஒரு பணம் செலுத்திய RAG கேள்வியை அடைக்க முடியும்.

குறுகிய பதில்

LlamaIndex-specific package எதுவும் இல்லை, மேலும் உங்களுக்கு அது தேவையுமில்லை. LlamaIndex ஒரு plain function-ஐ மூலம் tool-ஆக மாற்றுகிறது, ஆகவே உண்மையான Python client-ஐ ஒரு function-இல் wrap செய்து ஒரு அல்லது -க்கு சேர்க்கலாம். Agent USDC அனுப்பவும், invoices-ஐ settle செய்யவும், wallets-ஐ read செய்யவும் முடியும். ஒவ்வொரு RAG query-க்கும் charge செய்ய, உங்கள் சொந்த QueryEngineTool-ஐ அதே முறையில் gate செய்யுங்கள். Payments Base-இல் settle ஆகும்.

ஏன் LLAMAINDEX பணம் செலுத்தப்படும் RAGக்கு பொருந்துகிறது

RAG கேள்விகள் செலவானவை. ஒவ்வொரு கேள்விக்கும் கட்டணம் செலுத்துவது பொருளாதாரத்தை செயல்படுத்துகிறது.

LlamaIndex இன் பலம் மீட்டெடுக்கப்பட்ட உருவாக்கம்: நீங்கள் சொந்த ஆவணங்களில் (உங்கள் நிறுவனத்தின் ஆவணங்கள், ஆராய்ச்சி தரவுத்தொகுப்பு, சட்ட corpus) ஒரு வெக்டர் குறியீட்டை வைத்திருக்கிறீர்கள், மற்றும் முகவர் தொடர்புடைய துண்டுகளை மீட்டெடுத்து சுருக்கமாக பதிலளிக்கிறது. ஒவ்வொரு கேள்வியும் எம்பெட்டிங்கில், LLM டோக்கன்களில் மற்றும் பெரும்பாலும் மூன்றாம் தரப்பின் API அழைப்புகளில் உண்மையான பணத்தை செலவிடுகிறது. இலவச வரம்பற்ற அணுகல் பட்ஜெட்டை எரிக்கிறது; கேள்விக்கு அடிப்படையில் விலை நிர்ணயம் செலவின் வடிவத்தை ஏற்படுத்துகிறது.

இதற்காக அனுப்பிய உதவியாளர் இல்லை, மற்றும் நீங்கள் ஒன்றை தேவைப்படவில்லை. நீங்கள் அதை தானாகவே கட்டுப்படுத்துகிறீர்கள்: உங்கள் QueryEngineTool இல் உள்ள செயல்பாட்டின் உள்ளே, அழைப்பாளர் பணம் செலுத்தியுள்ளதா என்பதைச் சரிபார்க்கவும் (உங்கள் சொந்த கொடிக்கொண்டு, பணம் செலுத்தும் webhook மூலம் மாற்றப்பட்டது) மற்றும் மீட்டெடுக்கவும் அல்லது விலையை திருப்பவும். பணப்பை செயல்பாடு மற்றும் கட்டுப்பாடு இரண்டும் உண்மையான blockchain0x கிளையின்மேல் சில வரிகள், இது கொள்கையை - ஒவ்வொரு கேள்விக்கும், ஒவ்வொரு அமர்வுக்கும், இலவச நிலை பிறகு பணம் செலுத்திய - முழுமையாக உங்கள் கைகளில் வைத்திருக்கிறது.

நிறுத்துதல்

LlamaIndex மற்றும் மைய SDK ஐ நிறுவவும். ஒரு சுற்றுப்புற மாறி.

சேர்க்க blockchain0x LlamaIndex தொகுப்பு இல்லை. நீங்கள் LlamaIndex ஐ (Python 3.10+, நவீன FunctionAgent / ReActAgent / Workflows APIs) மற்றும் உண்மையான blockchain0x மைய SDK ஐ நிறுவுகிறீர்கள், பிறகு கீழே உள்ள செயல்பாட்டைப் எழுதுகிறீர்கள். எந்த வெக்டர் சேமிப்பிடத்திற்கும் இணைந்து செயல்படுகிறது - Pinecone, Qdrant, Chroma, Weaviate, LlamaIndex Cloud.

நிறுத்தவும்
pip install llama-index blockchain0x
சூழல் மாறி
export BLOCKCHAIN0X_API_KEY=sk_test_...   # sk_test_ = Base Sepolia, sk_live_ = Base mainnet

BLOCKCHAIN0X_API_KEY என்பது உங்கள் dashboard-இல் உள்ள sk_test_ testnet அல்லது sk_live_ mainnet key ஆகும்; client அதை environment-இலிருந்து வாசிக்கிறது. நீங்கள் paid queries-ஐ gate செய்தால், webhook handler-க்கு கூடுதலாக BLOCKCHAIN0X_WEBHOOK_SECRET தேவைப்படும், webhook-ஐ create அல்லது rotate செய்யும் போது dashboard அதை ஒருமுறை வழங்கும்.

செய்முறை

ஒரு செயல்பாடு, செலுத்தும், ஒரு FunctionTool ஆகக் கட்டியமைக்கப்பட்டுள்ளது.

கீழே முழு ஒருங்கிணைப்பு உள்ளது. send_usdc உண்மையான blockchain0x கிளையினை அழைக்கிறது; FunctionTool.from_defaults அதை சுற்றி வைக்கிறது, மற்றும் FunctionAgent அதை அழைக்கக்கூடிய கருவியாக எடுத்துக்கொள்கிறது. LlamaIndex வகை குறிப்புகள் மற்றும் ஆவணத்தைப் படிக்கிறது, வடிவமைப்பை உருவாக்குகிறது. உங்கள் சொந்த QueryEngineTool ஐ பட்டியலில் சேர்க்கவும், அதே முகவர் RAG கேள்விகளுக்கு பதிலளிக்கவும் முடியும்.

AGENT.PY
from llama_index.core.tools import FunctionTool
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from blockchain0x import Client

blockchain0x = Client()  # reads BLOCKCHAIN0X_API_KEY from the environment

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})
    )

# Wrap the plain function as a LlamaIndex tool. No dedicated package needed.
pay_tool = FunctionTool.from_defaults(fn=send_usdc)

agent = FunctionAgent(
    tools=[pay_tool],  # plus your own QueryEngineTool over a RAG index
    llm=OpenAI(model="gpt-4o"),
    system_prompt="You pay vendor invoices in USDC within owner-set limits.",
)

response = await agent.run(
    "Pay 0.01 USDC from agent agt_123 to 0xVendor for the dataset."
)

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_. To charge for a query instead, put the same paid check at the top of your QueryEngineTool's function.

WEBHOOK கையாளுதல்

webhook தரையில் விழுந்தால் செலுத்தப்பட்ட கொடியை மாற்றுங்கள்.

ஒரு பணம் நிலைநிறுத்தும் போது, Blockchain0x உங்கள் வெப்கோக் URL க்கு ஒரு கையொப்பமிடப்பட்ட payment.received நிகழ்வை POST செய்கிறது. சரிபார்க்கும் உதவியாளர் Node SDK இல் அனுப்பப்படுகிறது; ஒரு Python சேவையில் நீங்கள் ஆவணப்படுத்தப்பட்ட HMAC க்கு எதிராக கைமுறையாக சரிபார்க்கிறீர்கள். உங்கள் சொந்த கடையில் அழைப்பாளரை செலுத்தியதாகக் குறிக்கவும், உங்கள் கட்டுப்படுத்தப்பட்ட கேள்வி கருவி அடுத்த அழைப்பை அனுமதிக்கிறது. FastAPI எடுத்துக்காட்டு கீழே.

வெப்கோக்.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 - serve the paid query
    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 செய்ய LlamaIndex 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_ க்கு மாற்றவும்.

பொதுவான தவறுகள்

தவிர்க்க வேண்டிய ஐந்து LlamaIndex-சிறப்பு சிக்கல்கள்.

இவை எங்கள் ஆதரவு மின்னஞ்சலிலிருந்து வருகின்றன. நீங்கள் இதைப் பற்றிய தகவல் தெரிந்தால் ஒவ்வொன்றும் குறைந்தது ஒரு மணி நேரம் பிழைதிருத்தத்தைச் சேமிக்கிறது.

PITFALL 1

LlamaIndex தொகுப்பு இல்லை - நீங்கள் SDK ஐ சுற்றி வைத்திருக்கிறீர்கள்

Blockchain0x LangChain மற்றும் CrewAI க்கான அடாப்டர்களை மற்றும் MCP சேவையகத்தை அனுப்புகிறது; தனிப்பட்ட LlamaIndex தொகுப்பு இல்லை. மேலே உள்ள செய்முறை பாதை: உண்மையான blockchain0x கிளையண்டை அழைக்கும் ஒரு சாதாரண வகை செயல்பாடு, FunctionTool.from_defaults உடன் மூடியது. LlamaIndex கையொப்பம் மற்றும் ஆவணத்தை வாசித்து வடிவமைப்பை உருவாக்குகிறது, எனவே ஆவணத்தை சரியானதாக வைத்திருக்கவும்.

PITFALL 2

QueryEngineTool ஐ நீங்கள் தானாகவே கட்டுப்படுத்துங்கள் - எந்த உதவியாளர் அதைச் செய்யவில்லை

செலுத்தப்பட்ட-RAG மாதிரி உண்மையானது மற்றும் நல்லது, ஆனால் paid_query_engine_tool உதவியாளர் இல்லை. நீங்கள் இதைப் கட்டமைக்கிறீர்கள்: உங்கள் கேள்வி கருவியின் செயல்பாட்டில், அழைப்பாளர் கட்டணம் செலுத்தியுள்ளதா என்பதைச் சரிபார்க்கவும் (உங்கள் சொந்த கடை, கீழே உள்ள வலைப்பின்னலால் புதுப்பிக்கப்பட்டது) மற்றும் அவர்கள் செலுத்தினால் மட்டுமே மீட்டெடுக்கவும், இல்லையெனில் ஒரு விலையை திருப்பவும். இது சில வரிகள் ஆகும், மற்றும் நீங்கள் அடைக்கும்விதியை கட்டுப்படுத்துகிறீர்கள்.

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 tool argument as str. LlamaIndex passes tool args through pydantic, which will happily coerce a float and lose precision, so keep it a string end to end.

PITFALL 4

FunctionAgent.run அசிங்க்; SDK அழைப்பு ஒத்திசைவு

LlamaIndex முகவர்கள் அசிங்க்-முதலில் உள்ளனர் - await agent.run(...). உங்கள் கருவியின் உள்ளே உள்ள blockchain0x கிளையனின் அழைப்பு ஒத்திசைவாக உள்ளது, இது ஒரு தனி விரைவு செலவுக்கு சரியானது ஆனால் சுமைக்கு கீழ் மடல்களை அடைக்கிறது. நீங்கள் பல ஒரே நேரத்தில் கேள்விகளை வழங்கினால், SDK அழைப்பை asyncio.to_thread உடன் சுற்றி விடுங்கள், எனவே நிகழ்வு மடல் பதிலளிக்கும் நிலையில் இருக்கும்.

PITFALL 5

send_payment ஆரம்ப கட்டத்தில் 503 answer செய்யக்கூடும்

payments.create default-ஆக retry செய்யாது, மேலும் உங்கள் network-க்கு chain adapter இணைக்கப்படும் வரை 503 return செய்யக்கூடும். agent loop ஆக விடாமல், உங்கள் tool function-க்குள் error-ஐ catch செய்து, model செயல்படக்கூடிய தெளிவான message-ஐ return செய்யவும். Auto-minted idempotency key காரணமாக manual retry double-pay செய்யாது.

அடிக்கடி கேட்கப்படும்

மூன்று LlamaIndex-சிறப்பு கேள்விகள்.

நிறுத்துவதற்கு ஒரு குறிப்பிட்ட LlamaIndex தொகுப்பு உள்ளதா?

இல்லை. LlamaIndex ஏற்கனவே ஒரு சாதாரண செயல்பாட்டை FunctionTool.from_defaults உடன் ஒரு கருவியாக மாற்றுகிறது, எனவே நேர்மையான பாதை உங்கள் blockchain0x கிளையனை நீங்கள் தான் சுற்றி விடுவது, மேலே காட்டப்பட்டுள்ளபடி. அனுப்பப்பட்ட ஒரே கட்டமைப்பு தொகுப்புகள் blockchain0x-langchain மற்றும் blockchain0x-crewai (இரண்டுமே Python) மற்றும் @blockchain0x/mcp சேவையகம். LlamaIndex, ஒரு தனிப்பட்ட இணைப்பாளர் இல்லாத மற்ற கட்டமைப்புகளின் போல், இந்த சில வரி செய்முறை.

எப்படி நான் RAG கேள்விக்கு (செலுத்தப்பட்ட QueryEngine மாதிரி) கட்டணம் வசூலிக்க வேண்டும்?

உங்கள் சொந்தமாக உருவாக்குங்கள் - இதற்கு அனுப்பப்பட்ட உதவியாளர் இல்லை, மற்றும் இது சில வரிகளே. உங்கள் QueryEngineTool இன் செயல்பாட்டை மூடுங்கள், எனவே அது முதலில் அழைப்பாளர் செலுத்தியுள்ளதா என்பதை சரிபார்க்கிறது (கீழே உள்ள webhook கட்டணம் பெற்றது என்பதற்கான உங்கள் சொந்த கடையில் ஒரு கொடுப்பனவாக) மற்றும் மீட்டெடுக்க அல்லது விலை சவால் திரும்ப அளிக்கிறது. இது உங்கள் கைகளில் உள்ள கட்டுப்பாட்டு கொள்கையை வைத்திருக்கிறது: ஒவ்வொரு கேள்விக்கும், ஒவ்வொரு அமர்வுக்கும், இலவச அடுக்கு பின்னர் கட்டணம் செலுத்துதல், எது பொருந்துமோ.

செய்முறை LlamaIndex வேலைப்பாட்டுகளுடன் வேலை செய்கிறதா?

ஆம். பணம் செலுத்தும் தரவியல் ஒரு சாதாரண செயல்பாடு, எனவே இது ஒரு குறிப்பிட்ட முகவர் அடிப்படையுடன் தொடர்பு கொள்ளவில்லை. ReActAgent, FunctionAgent, அல்லது LlamaIndex Workflow இல் ஒரு படியில் இருந்து அதை அழைக்கவும். ஒரு Workflow இல், send_usdc (அல்லது உங்கள் கட்டுப்படுத்தப்பட்ட கேள்வி) ஐ ஒரு படியின் உள்ளே அழைப்பது இயல்பான வடிவமாகும் மற்றும் முடிவை அடுத்த படி உண்ணும் நிகழ்வாக வெளியிடுகிறது. உள்ளீட்டு பணங்கள் கீழே உள்ள payment.received வெப்கோக் மூலம் உறுதிப்படுத்தப்படுகின்றன.

உங்கள் RAG பதில்களுக்கு கட்டணம் செலுத்தவும்.

உண்மையான கிளையன்டை FunctionTool இல் மடிக்கவும், உங்கள் கேள்வியை அதே வழியில் கதவிடவும். தொடங்குவதற்கு இலவசம்.