Cara menyelesaikan CAPTCHA dalam agen LlamaIndex

Emma Foster
Machine Learning Engineer
31-Jul-2026
LlamaIndex agent mengatur alur kerja pengambilan data, indeks, dan pertanyaan di berbagai sumber. Ketika agen ini mengakses sumber data berbasis web yang dilindungi tantangan CAPTCHA, mereka memerlukan mekanisme penyelesaian untuk melanjutkan pengumpulan data. Paket capsolver-agent dari CapSolver menyediakan skema alat yang kompatibel dengan sistem FunctionTool LlamaIndex, memungkinkan agen Anda menyelesaikan reCAPTCHA, Cloudflare Turnstile, dan tantangan verifikasi lainnya sebagai bagian dari alur kerja data Anda.
TL;DR
- Agent LlamaIndex terhambat saat sumber data web dilindungi oleh verifikasi CAPTCHA
- CapSolver terintegrasi melalui wrapper
FunctionToolLlamaIndex dengan penyelesaian asinkron - Executor
capsolver-agentmenangani penyelesaian dan mengembalikan hasil terstruktur untuk loop pemikiran agen - Mendukung reCAPTCHA v2/v3 dan Cloudflare Turnstile — jenis verifikasi web paling umum
- Integrasi memakan waktu kurang dari 15 baris menggunakan
create_executor()danFunctionTool.from_defaults()
Mengapa Agent LlamaIndex Membutuhkan Pemecahan CAPTCHA
LlamaIndex unggul dalam membangun agen yang mengambil, mengindeks, dan menanyakan data dari berbagai sumber. Ketika sumber ini mencakup halaman web, API, atau database yang dilindungi sistem CAPTCHA, pipeline pengumpulan data agen terhambat. Agent RAG yang perlu mengindeks dokumentasi dari situs yang dilindungi CAPTCHA, atau agent penelitian yang menanyakan beberapa sumber web, tidak dapat melanjutkan tanpa penyelesaian verifikasi.
Masalah ini terutama parah untuk ekosistem koneksi data LlamaIndex. Koneksi berbasis web yang mengambil halaman untuk pengindeksan menghadapi CAPTCHA setelah akses berulang. Tanpa alat penyelesaian, agen akan melewatkan sumber (data tidak lengkap) atau gagal sepenuhnya (pipeline rusak).
Integrasi alat CapSolver mengikuti pola standar LlamaIndex: definisikan fungsi, bungkus sebagai FunctionTool, dan tambahkan ke daftar alat agen. Mesin pemikiran agen menentukan kapan memanggil penyelesaian berdasarkan konteks tugas.
Apa yang Anda Butuhkan Sebelum Memulai
bash
# Paket CapSolver
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
# LlamaIndex
pip install llama-index llama-index-llms-openai
bash
export CAPSOLVER_API_KEY="your-capsolver-api-key"
export OPENAI_API_KEY="your-openai-api-key"
Langkah 1 — Membuat FunctionTool Pemecah CAPTCHA
python
import asyncio
from llama_index.core.tools import FunctionTool
from capsolver_agent.schema import create_executor
executor = create_executor(api_key="YOUR_CAPSOLVER_API_KEY")
def solve_captcha(tipe_captcha: str, url_website: str, kunci_website: str) -> str:
"""Selesaikan tantangan CAPTCHA dan kembalikan token verifikasi.
Gunakan saat mengakses sumber web yang dilindungi verifikasi CAPTCHA.
Args:
tipe_captcha: 'reCaptchaV2', 'reCaptchaV3', atau 'cloudflare'
url_website: URL lengkap halaman yang dilindungi CAPTCHA
kunci_website: Kunci situs (nilai atribut data-sitekey)
Returns:
String token yang selesai atau pesan kesalahan
"""
result = asyncio.run(executor.execute("solve_captcha", {
"captcha_type": tipe_captcha,
"website_url": url_website,
"website_key": kunci_website
}))
if result["success"]:
return f"CAPTCHA selesai. Token: {result['solution']['token']}"
return f"Gagal: {result['error']}"
# Bungkus sebagai FunctionTool LlamaIndex
captcha_tool = FunctionTool.from_defaults(
fn=solve_captcha,
name="solve_captcha",
description="Selesaikan tantangan CAPTCHA (reCAPTCHA v2/v3, Cloudflare Turnstile) di halaman web yang dilindungi"
)
Langkah 2 — Membangun Agent LlamaIndex dengan Kemampuan CAPTCHA
python
from llama_index.core.agent import ReActAgent
from llama_index.llms.openai import OpenAI
# Buat LLM
llm = OpenAI(model="gpt-4o", temperature=0)
# Buat agen dengan alat penyelesaian CAPTCHA
agent = ReActAgent.from_tools(
tools=[captcha_tool],
llm=llm,
verbose=True
)
# Jalankan agen
response = agent.chat(
"Saya perlu mengakses https://example.com/data yang memiliki reCAPTCHA v2. "
"Kunci situsnya adalah 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI. "
"Selesaikan dan beri saya tokennya."
)
print(response)
Langkah 3 — Terintegrasi dengan Koneksi Data LlamaIndex
Untuk agen yang mengumpulkan data web, gabungkan penyelesaian CAPTCHA dengan pemuatan data:
python
from llama_index.core import VectorStoreIndex, Document
def fetch_protected_page(url: str, kunci_website: str) -> str:
"""Ambil halaman yang dilindungi CAPTCHA dengan menyelesaikan terlebih dahulu."""
# Selesaikan CAPTCHA
token = solve_captcha("reCaptchaV2", url, kunci_website)
if "Gagal" in token:
return ""
# Gunakan token untuk mengakses halaman
import requests
response = requests.post(url, data={"g-recaptcha-response": token.split("Token: ")[1]})
return response.text
# Buat alat khusus untuk pengumpulan data yang dilindungi
protected_fetch_tool = FunctionTool.from_defaults(
fn=fetch_protected_page,
name="fetch_protected_page",
description="Ambil konten dari halaman web yang dilindungi CAPTCHA dengan menyelesaikan verifikasi terlebih dahulu"
)
# Agen dengan kemampuan penyelesaian dan pengambilan
data_agent = ReActAgent.from_tools(
tools=[captcha_tool, protected_fetch_tool],
llm=llm,
verbose=True
)
Langkah 4 — Pola Produksi
python
def solve_captcha_with_retry(tipe_captcha: str, url_website: str, kunci_website: str, max_retries: int = 3) -> str:
"""Penyelesaian CAPTCHA dengan logika retry untuk produksi."""
for attempt in range(max_retries):
result = asyncio.run(executor.execute("solve_captcha", {
"captcha_type": tipe_captcha,
"website_url": url_website,
"website_key": kunci_website
}))
if result["success"]:
return f"Selesai (percobaan {attempt+1}). Token: {result['solution']['token']}"
if attempt < max_retries - 1:
import time
time.sleep(3)
return f"Gagal setelah {max_retries} percobaan: {result.get('error')}"
# Alat produksi dengan retry
production_captcha_tool = FunctionTool.from_defaults(
fn=solve_captcha_with_retry,
name="solve_captcha",
description="Selesaikan CAPTCHA dengan retry otomatis saat gagal"
)
| Jenis CAPTCHA | Parameter | Waktu Penyelesaian | Biaya per 1K |
|---|---|---|---|
| reCAPTCHA v2 | reCaptchaV2 |
5-12 detik | $2-3 |
| reCAPTCHA v3 | reCaptchaV3 |
3-8 detik | $1-2 |
| Cloudflare Turnstile | cloudflare |
2-5 detik | $1-2 |
Dapatkan Kode Bonus Anda: Gunakan kode WEBS di Dashboard CapSolver untuk mendapatkan bonus tambahan 5% pada setiap pengisian ulang.
Dokumentasi API CapSolver menjelaskan parameter tambahan. Untuk mengidentifikasi jenis CAPTCHA, gunakan ekstensi CapSolver. Panduan pencarian web CapSolver menjelaskan pola pengumpulan data yang berlaku untuk koneksi data LlamaIndex.
Kesimpulan
Mengintegrasikan penyelesaian CAPTCHA ke dalam agent LlamaIndex memerlukan pembungkus executor CapSolver dalam FunctionTool dan menambahkannya ke daftar alat agen ReAct. Loop pemikiran agen menentukan kapan memanggil penyelesaian berdasarkan konteks tugas. CapSolver menyediakan infrastruktur penyelesaian yang menangani reCAPTCHA dan Cloudflare Turnstile melalui API yang terpadu, menjaga alur kerja data LlamaIndex tetap berjalan tanpa gangguan.
FAQ
Apakah CapSolver berjalan dengan agen async LlamaIndex?
Ya. Executor capsolver-agent sepenuhnya asinkron. Untuk agen async LlamaIndex, gunakan await executor.execute() secara langsung alih-alih membungkus dengan asyncio.run().
Apakah saya bisa menggunakan ini dengan koneksi pembaca web LlamaIndex?
Ya. Gabungkan alat penyelesaian CAPTCHA dengan pembaca web khusus yang menangani verifikasi sebelum mengambil konten halaman. Agen dapat menyelesaikan CAPTCHA terlebih dahulu, lalu meneruskan token ke pembaca web untuk akses terotentikasi.
Apa yang terjadi jika agen LlamaIndex saya menghadapi jenis CAPTCHA yang tidak dikenal?
Alat get_supported_captchas mengembalikan daftar jenis yang didukung. Jika agen menghadapi jenis yang tidak didukung, ia menerima pesan kesalahan yang jelas dan dapat melaporkannya ke pengguna alih-alih gagal diam-diam.
Bagaimana perbandingannya dengan menggunakan capsolver-mcp dengan LlamaIndex?
capsolver-mcp digunakan untuk klien MCP (Claude Desktop, Cursor). Untuk agen LlamaIndex yang berjalan dalam kode, gunakan capsolver-agent dengan FunctionTool — ini memberi Anda kontrol programatik langsung dalam kerangka LlamaIndex.
Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.
Lebih lanjut

Cara Menyelesaikan CAPTCHA dengan TinyFish AgentQL – Panduan Langkah demi Langkah Menggunakan CapSolver
Pelajari cara mengintegrasikan CapSolver dengan TinyFish AgentQL untuk secara otomatis menyelesaikan CAPTCHAs seperti reCAPTCHA dan Cloudflare Turnstile. Tutorial langkah demi langkah dengan contoh SDK Python dan JavaScript untuk otomasi web yang ditenagai AI yang mulus.

Aloísio Vítor
05-Aug-2026

Cara menyelesaikan CAPTCHA dalam agen LlamaIndex
Integrasikan penyelesaian CAPTCHA ke dalam agen LlamaIndex menggunakan FunctionTool dan CapSolver untuk pipeline pengumpulan data web.

Emma Foster
31-Jul-2026

Cara Menyelesaikan CAPTCHA dengan MCP: Model Konteks Protokol Layanan CapSolver
Atur layanan CapSolver MCP untuk penyelesaian CAPTCHA tanpa kode di Claude Desktop, Cursor, dan setiap klien MCP.

Emma Foster
31-Jul-2026

Cara Menyelesaikan reCAPTCHA v3 di OpenAI Agents SDK
Hasilkan token reCAPTCHA v3 dengan skor tinggi di OpenAI Agents SDK menggunakan function_tool CapSolver.

Emma Foster
30-Jul-2026

Cara menyelesaikan Cloudflare Turnstile dalam Agen CrewAI
Integrasikan penyelesaian Cloudflare Turnstile ke dalam alur kerja multi-agen CrewAI menggunakan CapSolver.

Emma Foster
30-Jul-2026

Cara menyelesaikan CAPTCHA di Agen AutoGen
Panduan lengkap mengintegrasikan penyelesaian CAPTCHA ke dalam percakapan multi-agennya Microsoft AutoGen dengan menggunakan CapSolver dengan register_function dan pola percakapan grup.

Emma Foster
29-Jul-2026

