Lida เป็นห้องสมุดสำหรับการสร้างการสร้างภาพข้อมูลและอินโฟกราฟิกที่ซื่อสัตย์ของข้อมูล Lida เป็นไวยากรณ์ผู้ไม่เชื่อเรื่องพระเจ้า (จะทำงานกับภาษาการเขียนโปรแกรมและไลบรารีการสร้างภาพข้อมูลเช่น Matplotlib, Seoborn, Altair, D3 ฯลฯ ) และทำงานร่วมกับผู้ให้บริการแบบจำลองภาษาขนาดใหญ่หลายแห่ง (Openai, Azure Openai, Palm, Cohere, Huggingface) รายละเอียดเกี่ยวกับส่วนประกอบของ LIDA มีการอธิบายไว้ในกระดาษที่นี่และในสมุดบันทึกการสอนนี้ ดูหน้าโครงการที่นี่สำหรับการอัปเดต!
หมายเหตุเกี่ยวกับการดำเนินการรหัส: เพื่อสร้างการสร้างภาพข้อมูล LIDA จะสร้าง และ เรียกใช้ รหัส ตรวจสอบให้แน่ใจว่าคุณเรียกใช้ Lida ในสภาพแวดล้อมที่ปลอดภัย

Lida ถือว่า การสร้างภาพข้อมูลเป็นรหัส และให้ API ที่สะอาดสำหรับการสร้างดำเนินการแก้ไขอธิบายการประเมินและซ่อมแซมรหัสการสร้างภาพข้อมูล
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 การตั้งค่าและตรวจสอบว่าสภาพแวดล้อม Python ของคุณคือ python 3.10 หรือสูงกว่า (ควรใช้ conda) ติดตั้งไลบรารีผ่าน PIP
pip install -U lida Lida ขึ้นอยู่กับ llmx และ openai หากคุณติดตั้งไลบรารีเหล่านี้ก่อนหน้านี้ให้พิจารณาอัปเดต
pip install -U llmx openaiเมื่อตรงตามข้อกำหนดแล้วให้ตั้งค่าคีย์ API ของคุณ เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่าคีย์สำหรับผู้ให้บริการ LLM รายอื่นที่นี่
export OPENAI_API_KEY= < your key > อีกทางเลือกหนึ่งคุณสามารถติดตั้งไลบรารีในรุ่น Dev ได้โดยการโคลน repo นี้และเรียกใช้ pip install -e . ในรูทที่เก็บ
Lida มาพร้อมกับ UI และ Web API ที่ให้มาพร้อมกับคุณสามารถสำรวจได้โดยเรียกใช้คำสั่งต่อไปนี้:
lida ui --port=8080 --docs จากนั้นนำทางไปที่ http: // localhost: 8080/ในเบราว์เซอร์ของคุณ หากต้องการดูข้อมูลจำเพาะของ Web API ให้เพิ่มตัวเลือก --docs ลงในคำสั่ง CLI และนำทางไปยัง http://localhost:8080/api/docs ในเบราว์เซอร์ของคุณ
วิธีที่เร็วที่สุดและแนะนำในการเริ่มต้นหลังจากการติดตั้งคือลองใช้เว็บ UI ด้านบนหรือเรียกใช้สมุดบันทึกการสอน
Lida Web API และ UI สามารถตั้งค่าได้โดยใช้ Docker และคำสั่งด้านล่าง (ตรวจสอบให้แน่ใจว่าคุณติดตั้ง Docker และคุณได้ตั้งค่าตัวแปรสภาพแวดล้อม OPENAI_API_KEY ของคุณ)
docker compose upกำหนดชุดข้อมูลให้สร้างข้อมูลสรุปขนาดกะทัดรัดของข้อมูล
from lida import Manager
lida = Manager ()
summary = lida . summarize ( "data/cars.json" ) # generate data summaryสร้างชุดของเป้าหมายการสร้างภาพข้อมูลที่ได้รับสรุปข้อมูล
goals = lida . goals ( summary , n = 5 , persona = "ceo with aerodynamics background" ) # generate goals เพิ่มพารามิเตอร์ persona เพื่อสร้างเป้าหมายตาม persona นั้น
สร้าง, ปรับแต่ง, ดำเนินการและกรองรหัสการสร้างภาพข้อมูลโดยให้สรุปข้อมูลและเป้าหมายการสร้างภาพข้อมูล โปรดทราบว่า LIDA แสดงถึง การสร้างภาพข้อมูลเป็นรหัส
# generate charts (generate and execute visualization code)
charts = lida . visualize ( summary = summary , goal = goals [ 0 ], library = "matplotlib" ) # seaborn, ggplot ..ให้การสร้างภาพข้อมูลแก้ไขการสร้างภาพโดยใช้ภาษาธรรมชาติ
# 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 )ให้การสร้างภาพข้อมูลสร้างคำอธิบายภาษาธรรมชาติของรหัสการสร้างภาพ (การเข้าถึงการแปลงข้อมูลที่ใช้รหัสการสร้างภาพข้อมูล)
# generate explanation for chart
explanation = lida . explain ( code = charts [ 0 ]. code , summary = summary )ให้การสร้างภาพข้อมูลประเมินเพื่อค้นหาคำแนะนำในการซ่อมแซม (ซึ่งอาจเป็นมนุษย์ที่ประพันธ์หรือสร้างขึ้น) ซ่อมแซมการสร้างภาพข้อมูล
evaluations = lida . evaluate ( code = code , goal = goals [ i ], library = library )กำหนดชุดข้อมูลให้สร้างชุดของการสร้างภาพข้อมูลที่แนะนำ
recommendations = lida . recommend ( code = code , summary = summary , n = 2 , textgen_config = textgen_config ) ให้การสร้างภาพข้อมูลสร้างอินโฟกราฟิกที่ซื่อสัตย์ของข้อมูล วิธีการนี้ควรได้รับการพิจารณาการทดลองและใช้แบบจำลองการแพร่กระจายที่เสถียรจากห้องสมุด Peacasso คุณจะต้องเรียกใช้ pip install lida[infographics] เพื่อติดตั้งการอ้างอิงที่ต้องการ
infographics = lida . infographics ( visualization = charts [ 0 ]. raster , n = 3 , style_prompt = "line art" )Lida ใช้ไลบรารี LLMX เป็นส่วนต่อประสานสำหรับการสร้างข้อความ LLMX รองรับรุ่นท้องถิ่นหลายรุ่นรวมถึง HuggingFace Models คุณสามารถใช้โมเดล HuggingFace ได้โดยตรง (สมมติว่าคุณมี GPU) หรือเชื่อมต่อกับจุดสิ้นสุดรุ่นท้องถิ่นที่เข้ากันได้ของ OpenAI เช่นโดยใช้ไลบรารี VLLM ที่ยอดเยี่ยม
!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 )โดยธรรมชาติแล้วข้อ จำกัด บางประการข้างต้นอาจได้รับการแก้ไขด้วยการประชาสัมพันธ์ที่ได้รับการต้อนรับอย่างมาก
กระดาษสั้นที่อธิบาย LIDA (ยอมรับในการประชุม ACL 2023) มีให้ที่นี่
@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 สร้างข้อมูลเชิงลึกในการสร้างการสร้างภาพข้อมูลอัตโนมัติจากกระดาษก่อนหน้านี้ - DATA2VIS: การสร้างการสร้างภาพข้อมูลอัตโนมัติโดยใช้ลำดับเพื่อลำดับเครือข่ายประสาทที่เกิดขึ้นอีก