|
from lida import Manager, TextGenerationConfig , llm |
|
from dotenv import load_dotenv |
|
import os |
|
import openai |
|
import base64 |
|
from PIL import Image |
|
from io import BytesIO |
|
|
|
load_dotenv() |
|
|
|
openai.api_key = os.getenv('OPENAI_API_KEY') |
|
|
|
def base64_to_image(base64_string): |
|
|
|
byte_data = base64.b64decode(base64_string) |
|
|
|
|
|
return Image.open(BytesIO(byte_data)) |
|
|
|
def save_image(base64_str, save_path): |
|
img = base64_to_image(base64_str) |
|
img.save(save_path) |
|
print(f"Image saved at {save_path}") |
|
|
|
lida = Manager(text_gen = llm("openai")) |
|
textgen_config = TextGenerationConfig(n=1, temperature=0.2, use_cache=True) |
|
summary = lida.summarize("2019.csv", summary_method="default", textgen_config=textgen_config) |
|
|
|
user_query = "Which country has the most GDP per capita?" |
|
charts = lida.visualize(summary=summary, goal=user_query, textgen_config=textgen_config) |
|
charts[0] |
|
|
|
image_base64 = charts[0].raster |
|
|
|
save_image(image_base64, "filename1.png") |
|
|
|
|