Tarsier:项目的核心功能/场景
项目介绍
Tarsier 是一款由 Reworkd 开发的前沿网页交互 Agent 辅助工具。在自动化网页交互的过程中,如何将网页内容有效地传递给大型语言模型(LLM),如何将模型的响应映射回网页元素,以及如何向一个文本型的 LLM 描述页面的视觉结构,这些问题一直困扰着开发者。Tarsier 通过其独特的视觉标注系统,为网页 Agent 提供了一种高效的感知能力。
项目技术分析
Tarsier 通过对网页上的可交互元素进行视觉标记(如 [23]
),为 LLM 提供了一种将操作映射到具体元素的方法。这种标记方式不仅包括按钮、链接和输入字段等传统可交互元素,还可以通过参数设置来标记所有文本元素。此外,Tarsier 还开发了一种 OCR 算法,可以将网页截图转换为类似 ASCII 艺术的字符串,使得即便没有视觉能力的 LLM 也能理解页面的内容。
在内部基准测试中,Tarsier 结合单模态的 GPT-4 在性能上超过了 GPT-4V,这一结果充分证明了 Tarsier 在网页交互任务中的有效性。
项目及技术应用场景
Tarsier 适用于各种需要自动化网页交互的场景,如自动化测试、数据抓取、网页监控等。例如,在构建一个自动化测试框架时,Tarsier 可以帮助测试 Agent 准确地识别和操作网页元素;在数据抓取任务中,Tarsier 可以辅助 Agent 快速定位并提取需要的数据。
项目特点
- 高效的视觉标记系统:Tarsier 通过对网页元素进行视觉标记,简化了 LLM 的操作映射过程。
- 跨平台的 OCR 支持:支持 Google Vision 和 Microsoft Azure 两种 OCR 服务,提供了灵活的选择。
- 易于集成和使用:Tarsier 提供了详细的文档和示例,可以快速集成到现有的项目或框架中。
- 性能优势:在内部基准测试中,Tarsier 展现出了显著的性能优势。
以下是一个使用 Tarsier 的基本示例:
import asyncio
from playwright.async_api import async_playwright
from tarsier import Tarsier, GoogleVisionOCRService
async def main():
google_cloud_credentials = {
"key_path": "path_to_your_service_account_key.json"
}
ocr_service = GoogleVisionOCRService(google_cloud_credentials)
tarsier = Tarsier(ocr_service)
async with async_playwright() as p:
browser = await p.chromium.launch(headless=False)
page = await browser.new_page()
await page.goto("https://news.ycombinator.com")
page_text, tag_to_xpath = await tarsier.page_to_text(page)
print(tag_to_xpath) # 打印标签到XPath的映射
print(page_text) # 打印页面的文本表示
if __name__ == '__main__':
asyncio.run(main())
Tarsier 的推出为网页自动化交互领域带来了新的可能性,无论是对于研究人员还是开发者,都是一个不可多得的好工具。通过其独特的视觉标注和 OCR 算法,Tarsier 不仅提高了自动化任务的效率和准确性,还扩展了 LLM 在网页交互任务中的应用范围。随着项目的不断发展和完善,Tarsier 有望成为网页自动化交互领域的行业标准。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考