LIDA adalah perpustakaan untuk menghasilkan visualisasi data dan infografis ajaran data. Lida adalah tata bahasa agnostik (akan bekerja dengan bahasa pemrograman dan perpustakaan visualisasi misalnya matplotlib, seorn, altair, d3 dll) dan bekerja dengan beberapa penyedia model bahasa besar (openai, azure openai, palm, cohere, huggingface). Rincian tentang komponen LIDA dijelaskan dalam makalah di sini dan di buku catatan tutorial ini. Lihat halaman proyek di sini untuk pembaruan!.
Catatan tentang Eksekusi Kode: Untuk membuat visualisasi, LIDA menghasilkan dan menjalankan kode. Pastikan Anda menjalankan LIDA di lingkungan yang aman.

Lida memperlakukan visualisasi sebagai kode dan menyediakan API yang bersih untuk menghasilkan, mengeksekusi, mengedit, menjelaskan, mengevaluasi dan memperbaiki kode visualisasi.
from lida import Manager , llm
lida = Manager ( text_gen = llm ( "openai" )) # palm, cohere ..
summary = lida . summarize ( "data/cars.csv" )
goals = lida . goals ( summary , n = 2 ) # exploratory data analysis
charts = lida . visualize ( summary = summary , goal = goals [ 0 ]) # exploratory data analysis Mengatur dan memverifikasi bahwa lingkungan Python Anda adalah python 3.10 atau lebih tinggi (lebih disukai, gunakan conda). Instal perpustakaan melalui PIP.
pip install -U lida Lida tergantung pada llmx dan openai . Jika Anda menginstal perpustakaan ini sebelumnya, pertimbangkan untuk memperbaruinya.
pip install -U llmx openaiSetelah persyaratan terpenuhi, siapkan kunci API Anda. Pelajari lebih lanjut tentang menyiapkan kunci untuk penyedia LLM lainnya di sini.
export OPENAI_API_KEY= < your key > Atau Anda dapat menginstal perpustakaan dalam model dev dengan mengkloning repo ini dan menjalankan pip install -e . di root repositori.
Lida dilengkapi dengan UI dan API web yang dibundel opsional yang dapat Anda jelajahi dengan menjalankan perintah berikut:
lida ui --port=8080 --docs Kemudian arahkan ke http: // localhost: 8080/di browser Anda. Untuk melihat spesifikasi API Web, tambahkan opsi --docs ke perintah CLI, dan navigasikan ke http://localhost:8080/api/docs di browser Anda.
Cara tercepat dan disarankan untuk memulai setelah instalasi adalah dengan mencoba Web UI di atas atau menjalankan notebook tutorial.
LIDA Web API dan UI dapat diatur menggunakan Docker dan perintah di bawah ini (pastikan Anda telah menginstal Docker, dan Anda telah mengatur variabel lingkungan OPENAI_API_KEY Anda).
docker compose upDiberikan dataset, hasilkan ringkasan data yang ringkas.
from lida import Manager
lida = Manager ()
summary = lida . summarize ( "data/cars.json" ) # generate data summaryMenghasilkan serangkaian tujuan visualisasi yang diberikan ringkasan data.
goals = lida . goals ( summary , n = 5 , persona = "ceo with aerodynamics background" ) # generate goals Tambahkan parameter persona untuk menghasilkan tujuan berdasarkan kepribadian itu.
Menghasilkan, memperbaiki, menjalankan dan memfilter kode visualisasi yang diberikan ringkasan data dan tujuan visualisasi. Perhatikan bahwa LIDA mewakili visualisasi sebagai kode .
# generate charts (generate and execute visualization code)
charts = lida . visualize ( summary = summary , goal = goals [ 0 ], library = "matplotlib" ) # seaborn, ggplot ..Diberi visualisasi, edit visualisasi menggunakan bahasa alami.
# modify chart using natural language
instructions = [ "convert this to a bar chart" , "change the color to red" , "change y axes label to Fuel Efficiency" , "translate the title to french" ]
edited_charts = lida . edit ( code = code , summary = summary , instructions = instructions , library = library , textgen_config = textgen_config )Diberikan visualisasi, hasilkan penjelasan bahasa alami dari kode visualisasi (aksesibilitas, transformasi data yang diterapkan, kode visualisasi)
# generate explanation for chart
explanation = lida . explain ( code = charts [ 0 ]. code , summary = summary )Diberi visualisasi, evaluasi untuk menemukan instruksi perbaikan (yang mungkin ditulis manusia, atau dihasilkan), memperbaiki visualisasi.
evaluations = lida . evaluate ( code = code , goal = goals [ i ], library = library )Diberikan dataset, hasilkan satu set visualisasi yang disarankan.
recommendations = lida . recommend ( code = code , summary = summary , n = 2 , textgen_config = textgen_config ) Diberi visualisasi, hasilkan infografis yang setia data. Metode ini harus dianggap eksperimental, dan menggunakan model difusi yang stabil dari perpustakaan Peacasso. Anda perlu menjalankan pip install lida[infographics] untuk menginstal dependensi yang diperlukan.
infographics = lida . infographics ( visualization = charts [ 0 ]. raster , n = 3 , style_prompt = "line art" )Lida menggunakan pustaka LLMX sebagai antarmuka untuk pembuatan teks. LLMX mendukung beberapa model lokal termasuk model Huggingface. Anda dapat menggunakan model Huggingface secara langsung (dengan asumsi Anda memiliki GPU) atau terhubung ke titik akhir model lokal yang kompatibel dengan OpenAi misalnya menggunakan pustaka VLLM yang sangat baik.
!p ip3 install - - upgrade llmx == 0.0 . 17 a0
# Restart the colab session
from lida import Manager
from llmx import llm
text_gen = llm ( provider = "hf" , model = "uukuguy/speechless-llama2-hermes-orca-platypus-13b" , device_map = "auto" )
lida = Manager ( text_gen = text_gen )
# now you can call lida methods as above e.g.
sumamry = lida . summarize ( "data/cars.csv" ) # .... from lida import Manager , TextGenerationConfig , llm
model_name = "uukuguy/speechless-llama2-hermes-orca-platypus-13b"
model_details = [{ 'name' : model_name , 'max_tokens' : 2596 , 'model' : { 'provider' : 'openai' , 'parameters' : { 'model' : model_name }}}]
# assuming your vllm endpoint is running on localhost:8000
text_gen = llm ( provider = "openai" , api_base = "http://localhost:8000/v1" , api_key = "EMPTY" , models = model_details )
lida = Manager ( text_gen = text_gen )Secara alami, beberapa batasan di atas dapat ditangani oleh PR yang disambut.
Sebuah makalah pendek yang menggambarkan LIDA (diterima di ACL 2023 Conference) tersedia di sini.
@inproceedings { dibia2023lida ,
title = " {LIDA}: A Tool for Automatic Generation of Grammar-Agnostic Visualizations and Infographics using Large Language Models " ,
author = " Dibia, Victor " ,
booktitle = " Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations) " ,
month = jul,
year = " 2023 " ,
address = " Toronto, Canada " ,
publisher = " Association for Computational Linguistics " ,
url = " https://aclanthology.org/2023.acl-demo.11 " ,
doi = " 10.18653/v1/2023.acl-demo.11 " ,
pages = " 113--126 " ,
}Lida dibangun berdasarkan wawasan dalam pembuatan visualisasi otomatis dari makalah sebelumnya - Data2VIS: Generasi otomatis visualisasi data menggunakan urutan untuk urutan jaringan saraf berulang.