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 開源行為準則。
該項目可能包含項目、產品或服務的商標或標誌。 Microsoft 商標或標誌的授權使用須遵守且必須遵循 Microsoft 的商標和品牌指南。在此項目的修改版本中使用 Microsoft 商標或標誌不得混淆或暗示 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},
}