VisEval은 시각화 생성 방법을 평가하도록 설계된 벤치마크입니다. 이 저장소에서는 벤치마킹을 지원하는 툴킷과 벤치마크에 사용되는 데이터를 모두 제공합니다.
VisEval은 세 가지 차원에서 생성된 시각화를 평가합니다.
pip install --upgrade vis-evaluator
# or `git clone https://github.com/microsoft/VisEval.git && cd VisEval && pip install --upgrade -e .`
데이터세트에 액세스하려면 다음 단계를 따르세요.
데이터세트에 대한 자세한 내용은 데이터세트 설명서를 참조하세요.
설치 후에는 examples/evaluate.py
또는 다음을 참조하여 VisEval을 사용할 수 있습니다.
Agent
클래스에서 상속하여 생성 방법을 만듭니다 . examples/agent
디렉터리에서 세 가지 예를 찾을 수 있습니다. from viseval . agent import Agent , ChartExecutionResult
class YourAgent ( Agent ):
def __init__ ( self , llm ):
self . llm = llm
def generate (
self , nl_query : str , tables : list [ str ], config : dict
) -> Tuple [ str , dict ]:
"""Generate code for the given natural language query."""
pass
def execute (
self , code : str , context : dict , log_name : str = None
) -> ChartExecutionResult :
"""Execute the given code with context and return the result"""
pass
evaluator = Evaluator ( webdriver_path , vision_model )
(웹 드라이버 및 비전 모델 없이 평가기를 구성할 수 있으며, 이 경우 생성된 시각화의 가독성 평가를 건너뜁니다.)
웹드라이버를 설치합니다.
# download
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
# install
apt install google-chrome-stable_current_amd64.deb
# verify
google-chrome --version
비전 모델을 로드합니다(예: GPT4-v).
from langchain_openai import AzureChatOpenAI
import dotenv
# Copy .env.example to .env and put your API keys in the file.
dotenv . load_dotenv ()
vision_model = AzureChatOpenAI (
model_name = "gpt-4-turbo-v" ,
max_retries = 999 ,
temperature = 0.0 ,
request_timeout = 20 ,
max_tokens = 4096 ,
)
from viseval import Dataset
# Configure dataset with the benchmark dataset folder path ( folder),
# specify the number of tables required to generate visualizations (table_type`: all, single, or multiple),
# and indicate whether to include irrelevant tables (`with_irrelevant_tables`).
dataset = Dataset ( folder , table_type , with_irrelevant_tables )
config = { "library" : args . library }
result = evaluator . evaluate ( agent , dataset , config )
score = result . score ()
print ( f"Score: { score } " )
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기여는 귀하가 귀하의 기여를 사용할 수 있는 권리를 갖고 있으며 실제로 그렇게 하고 있음을 선언하는 기여자 라이센스 계약(CLA)에 동의해야 합니다. 자세한 내용을 보려면 https://cla.opensource.microsoft.com을 방문하세요.
끌어오기 요청을 제출하면 CLA 봇이 자동으로 CLA 제공이 필요한지 여부를 결정하고 PR을 적절하게 장식합니다(예: 상태 확인, 댓글). 봇이 제공하는 지침을 따르기만 하면 됩니다. CLA를 사용하여 모든 저장소에서 이 작업을 한 번만 수행하면 됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 행동 강령 FAQ를 참조하거나 추가 질문이나 의견이 있는 경우 [email protected]으로 문의하세요.
이 프로젝트에는 프로젝트, 제품 또는 서비스에 대한 상표나 로고가 포함될 수 있습니다. Microsoft 상표 또는 로고의 승인된 사용에는 Microsoft의 상표 및 브랜드 지침이 적용되며 이를 따라야 합니다. 이 프로젝트의 수정된 버전에 Microsoft 상표 또는 로고를 사용하더라도 혼동을 일으키거나 Microsoft 후원을 암시해서는 안 됩니다. 제3자 상표 또는 로고의 사용에는 해당 제3자의 정책이 적용됩니다.
이 프로젝트는 Microsoft 개인 정보 보호 정책을 채택했습니다.
VisEval이 귀하의 연구에 도움이 된다고 판단되면 이를 인용해 보십시오.
@misc{chen2024viseval,
title={VisEval: A Benchmark for Data Visualization in the Era of Large Language Models},
author={Nan Chen and Yuge Zhang and Jiahang Xu and Kan Ren and Yuqing Yang},
year={2024},
eprint={2407.00981},
archivePrefix={arXiv},
primaryClass={cs.HC},
}