VisEval هو معيار مصمم لتقييم أساليب إنشاء التصور. في هذا المستودع، نقدم كلاً من مجموعة الأدوات لدعم المقارنة المرجعية، بالإضافة إلى البيانات المستخدمة للمعايير.
يقوم VisEval بتقييم المرئيات التي تم إنشاؤها من ثلاثة أبعاد:
pip install --upgrade vis-evaluator
# or `git clone https://github.com/microsoft/VisEval.git && cd VisEval && pip install --upgrade -e .`
للوصول إلى مجموعة البيانات، يرجى اتباع الخطوات التالية:
للحصول على معلومات إضافية حول مجموعة البيانات، يرجى الرجوع إلى وثائق مجموعة البيانات.
بعد التثبيت، يمكنك استخدام VisEval بالرجوع إلى examples/evaluate.py
أو المتابعة:
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 وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التحقق من الحالة، التعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع اتفاقيات إعادة الشراء باستخدام CLA الخاصة بنا.
اعتمد هذا المشروع قواعد سلوك Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] إذا كانت لديك أي أسئلة أو تعليقات إضافية.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المصرح به للعلامات التجارية أو الشعارات الخاصة بشركة 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},
}