- 이 글은 GPT 모델로 자동 요약한 설명으로, 잘못된 내용이 있을 수 있으니 원문을 참고해주세요!
- 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다!
Tarsier: Vision utilities for web interaction agents
개요
Tarsier라는 웹 상호작용 에이전트를 위한 시각 유틸리티입니다. 이 라이브러리는 다양한 프로젝트에서 공통적으로 발생하는 문제를 해결하기 위해 Reworkd 팀에서 개발하였습니다.
Tarsier 소개
Tarsier는 웹 요소를 LLM(대규모 언어 모델)에 매핑하는 방법, LLM이 웹 페이지의 작업 공간을 더 잘 이해할 수 있도록 페이지를 마크업하는 방법, 스크린샷을 텍스트 전용 LLM에 공급하는 방법 등 웹 상호작용을 자동화하는 데 있어서 공통적인 문제들을 해결하는 데 도움을 주는 도구입니다.
작동 원리
Tarsier는 페이지의 상호작용 가능한 Element(요소)들을 대괄호와 ID를 사용하여 시각적으로 "태깅(tagging)"합니다. 이를 통해 Element와 ID 간의 매핑을 제공하여 GPT-4(V) 같은 언어 모델이 웹 페이지에서 원하는 작업을 수행할 수 있게 합니다.
또한, 이 방법은 비시각적인 LLM에게도 페이지의 텍스트 표현을 제공할 수 있어, 기존의 시각 언어 모델의 성능 문제를 해결하는 데 도움이 됩니다. 또한, Tarsier는 OCR 유틸리티를 제공하여 페이지 스크린샷을 LLM이 이해할 수 있는 공백 구조 문자열로 변환합니다.
설치 방법
Tarsier는 Python 패키지 관리자를 통해 설치할 수 있습니다. 설치 명령어는 다음과 같습니다:
pip install tarsier
사용 방법
아래 노트북을 참고하여 LangChain 및 LlamaIndex와 함께 사용하는 방법을 확인할 수 있습니다.
또는, 아래 제공하는 Taiser 기본 예시를 참고할 수도 있습니다. 여기서는 Playwright와 함께 사용하여, 페이지의 텍스트 표현과 태그를 XPath에 매핑하는 과정을 예시로 보여줍니다.
import asyncio
from playwright.async_api import async_playwright
from tarsier import Tarsier, GoogleVisionOCRService
async def main():
google_cloud_credentials = {}
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) # Mapping of tags to x_paths
print(page_text) # My Text representation of the page
if __name__ == '__main__':
asyncio.run(main())
지원 중인 OCR 서비스 및 로드맵
현재 Google Cloud Vision을 지원하여 OCR 기능을 제공하고 있습니다. 또한, Amazon Textract 및 Microsoft Azure Computer Vision 지원이 곧 추가될 예정입니다.
향후 로드맵에는 문서 및 예제 추가, 인터페이스 정리 및 단위 테스트 추가, OCR 텍스트 성능 개선 등이 포함되어 있습니다.
더 읽어보기
GitHub 저장소
Reworkd 홈페이지
소개 내용 (@ Twitter)
https://twitter.com/khoomeik/status/1723432848739483976