Langchain •agent runner


Tự động hóa đại lý · LangChain
Thêm CapSolver vào tác nhân LangChain của bạn — giải CAPTCHA chỉ bằng một lệnh gọi công cụ
CapSolver Agent thêm LangChain BaseTools được tạo sẵn thông qua get_langchain_tools() vào tác nhân ReAct hoặc LangGraph của bạn. Khi CAPTCHA xuất hiện, nó sẽ gọi trình giải, nhận mã thông báo và tiếp tục—được hỗ trợ bởi SDK gốc cho LangChain, công cụ trình duyệt và MCP.
Quy trình làm việc của tác nhân CAPTCHA
Phát hiện
CAPTCHA hoặc xác minh xuất hiện
Trích xuất
URL, khóa trang web, siêu dữ liệu
Giải quyết
Nhiệm vụ CapSolver
Trở lại
Giải pháp trả lại cho đại lý
Tiếp tục
Đại lý tiếp tục quy trình làm việc
Thêm giải pháp CAPTCHA cho các đại lý LangChain của bạn
Được xây dựng cho các vòng lặp đại lý
Trình giải mã CAPTCHA của LangChain rất hữu ích khi quy trình làm việc tác nhân chạm vào các trang web thực và có thể bị dừng do xác thực lưu lượng truy cập hoặc thử thách CAPTCHA.
Mẫu gốc của công cụ
Hiển thị CapSolver dưới dạng một công cụ LangChain có thể gọi được với đầu vào rõ ràng, để tác nhân chỉ yêu cầu giải CAPTCHA khi cần thiết.
Phục hồi sản xuất
Xử lý số lần thử lại, lỗi, ID yêu cầu và thời gian chờ mà không làm gián đoạn quy trình làm việc của tổng đài viên.
Xóa ranh giới công cụ
Đại lý của bạn kiểm soát quy trình làm việc. CapSolver xử lý tác vụ giải và trả về kết quả.
Tại sao các đại lý LangChain cần khôi phục CAPTCHA trong quá trình sản xuất
LangChain được thiết kế dành cho các đại lý thực hiện hành động thông qua các công cụ. Trong quy trình tự động hóa trình duyệt, vòng lặp này thường bị gián đoạn bởi reCAPTCHA hoặc Cloudflare Turnstile. Giải pháp phù hợp không phải là biến CapSolver thành một khung tác nhân — mà là biến CapSolver thành lớp cơ sở hạ tầng CAPTCHA sẵn sàng cho tác nhân mà mọi tác nhân trình duyệt trong thế giới thực đều có thể gọi khi cần.
Lớp quy trình công việc
Vai trò trong quy trình làm việc của LangChain
CapSolver bổ sung thêm những gì
Đại lý LangChain
Lập kế hoạch nhiệm vụ, chọn công cụ và duy trì trạng thái.
Công cụ khôi phục CAPTCHA có thể gọi được và chỉ có thể được gọi khi cần.
API CapSolver
Tạo các nhiệm vụ cụ thể theo thách thức và trả về giải pháp.
Xử lý reCAPTCHA v2/v3, Thử thách Cloudflare/Turnstile và các thử thách được hỗ trợ khác thông qua API.
Khả năng quan sát
Theo dõi các cuộc gọi công cụ, lỗi và trạng thái quy trình làm việc
ID tác vụ CAPTCHA, loại thử thách, trạng thái giải quyết và mã lỗi/số lần thử.
Kiến trúc
Giữ trách nhiệm rõ ràng: LangChain phối hợp, CapSolver giải CAPTCHA
Sử dụng CapSolver làm công cụ tập trung trong quy trình làm việc LangChain của bạn. Tác nhân cung cấp URL trang web, khóa trang web và chi tiết thử thách. Công cụ tạo một nhiệm vụ, kiểm tra kết quả và trả về giải pháp. LangChain quản lý quy trình làm việc của tác nhân, trong khi CapSolver xử lý việc giải CAPTCHA.
Phát hiện
Thử thách CAPTCHA hiện diện trên trang mục tiêu.
Trích xuất
Thu thập URL trang web, khóa trang web và loại thử thách.
Tạo
Gọi CapSolver createTask với đối tượng tác vụ chính xác.
Thăm dò ý kiến
Kiểm tra getTaskResult cho đến khi tác vụ sẵn sàng hoặc hết thời gian. Sử dụng độ trễ thử lại cho các lỗi giới hạn tốc độ.
Tiếp tục
Công cụ trả về mã thông báo có cấu trúc và tác nhân LangChain tiếp tục tác vụ ban đầu.
Quan sát
Ghi lại ID nhiệm vụ, trạng thái và mã lỗi/số lần thử lại.
Bắt đầu nhanh
Xây dựng công cụ Python LangChain với API CapSolver
Wrap CapSolver'screateTask+getTaskResulttrong một công cụ: thông tin có cấu trúc được đưa vào, kết quả có cấu trúc sẽ xuất hiện. Bỏ phiếu sử dụng một khoảng thời gian cố định với tổng thời gian chờ.
# pip install "capsolver-agent[langchain]" langchain-openai langgraph
# export CAPSOLVER_API_KEY=CAP-XXXXXX
# export OPENAI_API_KEY=sk-XXXXXX
import asyncio
import os
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from capsolver_agent.schema import create_executor
from _env import load_example_env # demo only: reads repo-root .env
load_example_env()
# 1. Wrap CapSolver as one LangChain tool.
# createTask + result polling are handled inside capsolver-agent.
executor = create_executor() # key from CAPSOLVER_API_KEY
@tool
async def solve_captcha(captcha_type: str, website_url: str, website_key: str) -> dict:
"""Solve a captcha (reCaptchaV2 / reCaptchaV3 / cloudflare) and return its token.
captcha_type: captcha family, e.g. reCaptchaV2
website_url: full URL of the page that loads the captcha
website_key: site key found on that page
"""
result = await executor.execute(
"solve_captcha",
{"captcha_type": captcha_type, "website_url": website_url, "website_key": website_key},
)
if not result.get("success"):
return {"ok": False, "error": result.get("error", "unknown error")}
return {"ok": True, "token": result["solution"]["token"]}
# 2. Any OpenAI-compatible chat model works; the LLM decides when to call the tool.
llm = ChatOpenAI(model=os.environ.get("OPENAI_MODEL", "gpt-4o"), temperature=0)
# 3. Give the tool to a ReAct agent.
agent = create_react_agent(llm, [solve_captcha])
# 4. Run.
PROMPT = (
"Solve the reCaptchaV2 at https://www.google.com/recaptcha/api2/demo "
"with site key 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ- "
"and report the first 40 characters of the token."
)
result = asyncio.run(agent.ainvoke({"messages": [("user", PROMPT)]}))
print(result["messages"][-1].content)
Thêm công cụ vào tác nhân LangChain
get_langchain_tools()trả về BaseTools tiêu chuẩn nằm bên cạnh trình duyệt, công cụ trích xuất dữ liệu hoặc quy trình làm việc mà đại lý của bạn đã sử dụng.
# pip install "capsolver-agent[langchain]" langchain-openai langgraph
# export CAPSOLVER_API_KEY=CAP-XXXXXX
# export OPENAI_API_KEY=sk-XXXXXX
import asyncio
import os
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from capsolver_agent.langchain_tools import get_langchain_tools
from _env import load_example_env # demo only: reads repo-root .env
load_example_env()
# CapSolver's ready-made LangChain BaseTools, backed by capsolver-core:
# solve_captcha, detect_captchas, solve_on_page, get_balance, get_supported_captchas
tools = get_langchain_tools(api_key=os.environ["CAPSOLVER_API_KEY"])
llm = ChatOpenAI(model=os.environ.get("OPENAI_MODEL", "gpt-4o"), temperature=0)
# The solver tools sit beside the browser / data / workflow tools your agent already uses
agent = create_react_agent(llm, tools)
result = asyncio.run( # CapSolver tools are async, so use ainvoke
agent.ainvoke(
{
"messages": [
{
"role": "user",
"content": "Solve the reCaptchaV2 at "
"https://www.google.com/recaptcha/api2/demo with site key "
"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ- and report the "
"first 40 characters of the token.",
}
]
}
)
)
print(result["messages"][-1].content)
và nhập trực tiếp các công cụ - không yêu cầu gói JavaScript hoặc TypeScript.
Thực hành tốt nhất về sản xuất
Xây dựng giải pháp CAPTCHA sẵn sàng sản xuất cho các đại lý LangChain
01
Quản lý bí mật
Lưu trữ CAPSOLVER_API_KEY trong các biến môi trường hoặc trình quản lý bí mật.
tại sao
Ngăn chặn việc vô tình để lộ khóa trong lời nhắc, nhật ký và kho lưu trữ.
02
Lược đồ công cụ
Giữ đầu vào công cụ thu hẹp và được gõ (website_url, website_key).
tại sao
Giảm sự nhầm lẫn của mô hình và tạo đối số không an toàn.
03
Phát hiện
Đọc loại thử thách và khóa trang web từ ngữ cảnh trang.
tại sao
Mô hình không nên đoán tham số trang từ văn bản thô.
04
Thăm dò và thử lại
Kiểm tra trạng thái nhiệm vụ theo khoảng thời gian đã đặt và dừng sau khi hết thời gian chờ. Thử lại các lỗi API có độ trễ.
tại sao
Ngăn chặn các vòng lặp tác nhân chạy và tải không cần thiết.
05
Ghi nhật ký
Ghi lại task_id, loại thử thách, trạng thái và mã lỗi/số lần thử.
tại sao
Làm cho việc gỡ lỗi và hỗ trợ dễ dàng hơn.
06
Xử lý lỗi
Ngăn chặn những thất bại lặp đi lặp lại và gửi nhiệm vụ cho con người xem xét khi cần thiết.
tại sao
Ngăn chặn việc thử lại một cách mù quáng trên các quy trình công việc nhạy cảm hoặc không chắc chắn.
07
Tuân thủ
Xem lại các điều khoản của trang web, ủy quyền của người dùng, yêu cầu về quyền riêng tư và giới hạn tỷ lệ.
tại sao
Giữ tự động hóa phù hợp với các trường hợp sử dụng đã được phê duyệt.
Hệ sinh thái phù hợp
CapSolver hoạt động với cơ sở hạ tầng trình duyệt của bạn—nó không thay thế nó
01
Cơ sở trình duyệt / Thép
02
Nhà viết kịch/Người múa rối
03
LangChain / LangGraph
Công việc chính
Quản lý phiên và thực thi trình duyệt được lưu trữ.
Kiểm soát trình duyệt và tương tác DOM.
Điều phối tác nhân và sử dụng công cụ.
Không có CapSolver
Phiên trình duyệt có thể tiếp tục chạy nhưng CAPTCHA có thể dừng quy trình làm việc.
Quá trình tự động hóa có thể phát hiện và tương tác với trang nhưng vẫn cần logic giải CAPTCHA.
Tác nhân có thể gọi các công cụ nhưng nó không có công cụ tích hợp để giải CAPTCHA.
Với CapSolver
CapSolver xử lý tác vụ CAPTCHA trong khi phiên trình duyệt vẫn hoạt động.
Quá trình tự động hóa sẽ gửi dữ liệu thử thách tới CapSolver và sử dụng giải pháp được trả về.
Tác nhân gọi CapSolver làm công cụ và tiếp tục quy trình làm việc với kết quả.
Trường hợp sử dụng phù hợp nhất
Được xây dựng cho các nhóm đại lý B2B chạy quy trình công việc của trình duyệt trong sản xuất
Tự động hóa bán hàng
Nghiên cứu bán hàng được ủy quyền và quy trình làm việc CRM có thể gặp phải CAPTCHA hoặc kiểm tra xác minh trong các tác vụ của trình duyệt.
Công nghệ nhân sự
Quy trình tuyển dụng đã được phê duyệt có thể tạm dừng khi xác minh xuất hiện trong các tác vụ trình duyệt gồm nhiều bước.
Công cụ kiểm tra và đảm bảo chất lượng
Các thử nghiệm toàn diện về đăng ký, thanh toán và biểu mẫu cần xử lý CAPTCHA rõ ràng để giảm số lần chạy thử nghiệm không thành công.
RegTech và Tuân thủ
Quy trình kiểm tra sổ đăng ký công khai và thu thập bằng chứng cần có độ tin cậy, nhật ký kiểm tra và hành vi dự phòng rõ ràng.
Tự động hóa nghiên cứu
Quy trình công việc dữ liệu công khai được ủy quyền có thể tạm dừng khi nguồn hiển thị CAPTCHA hoặc kiểm tra xác minh.
RPA nội bộ
Quy trình công việc lặp đi lặp lại do người dùng ủy quyền được hưởng lợi từ lớp khôi phục CAPTCHA rõ ràng khi xác thực lưu lượng truy cập chặn một tác vụ.
Sử dụng có trách nhiệm
Sử dụng CapSolver để tự động hóa hợp pháp và được ủy quyền
CapSolver dành cho mục đích sử dụng hợp pháp và được ủy quyền, bao gồm kiểm tra QA đã được phê duyệt, RPA nội bộ, tác vụ tác nhân do người dùng ủy quyền và quy trình làm việc dữ liệu công khai tuân thủ. Trước khi tự động hóa một trang web, hãy xem lại các điều khoản, quy tắc bảo mật hiện hành, giới hạn tỷ lệ và các yêu cầu tuân thủ của tổ chức bạn.
Kiểm tra QA được ủy quyền
RPA được phê duyệt
Quy trình làm việc dữ liệu công cộng
Nhiệm vụ của tác nhân do người dùng ủy quyền
Tự động hóa được xem xét tuân thủ
Tự động hóa thương mại điện tử
Câu hỏi thường gặp
Tích hợp liên quan
Khám phá thêm các tích hợp CapSolver cho nhóm tác nhân của bạn
Chọn một tiện ích tích hợp khác để thêm tính năng giải quyết CAPTCHA vào quy trình làm việc của tác nhân hoặc trình duyệt của bạn.
Sử dụng trình duyệt
Thêm CapSolver làm hành động cho các tác nhân AI dựa trên trình duyệt.
SDK đại lý OpenAI
Thêm giải pháp CAPTCHA thông qua các công cụ chức năng và quy trình làm việc của tác nhân.

Nếu tác nhân LangChain của bạn hoạt động trong bản demo nhưng bị đình trệ trong quá trình sản xuất, hãy thêm lớp khôi phục CAPTCHA.
Bắt đầu với trình bao bọc công cụ ở trên, xem lại tài liệu CapSolver và liên hệ với nhóm khi bạn cần hỗ trợ doanh nghiệp, số lượng lớn hơn hoặc đường dẫn tích hợp SDK gốc.
