![見出し画像](https://assets.st-note.com/production/uploads/images/110357825/rectangle_large_type_2_f4304cf2d9983f702b5d04b30879d3b9.png?width=1200)
PandasAI:with Streamlit
PandasAIに対してStreamlitを使って日本語で質問してみました。
PandasAIは開発途上とのことですが、どこまで出来る様になるのかウォッチできればと思っています。(データは有名なタイタニックのデータ)
import os
from dotenv import load_dotenv
import pandas as pd
import streamlit as st
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
from pandasai.middlewares.streamlit import StreamlitMiddleware
load_dotenv()
API_KEY = os.environ['OPENAI_API_KEY']
llm = OpenAI(api_token=API_KEY)
pandas_ai = PandasAI(
llm,
verbose=True,
enable_cache=False,
enforce_privacy=True,
conversational=True,
middlewares=[StreamlitMiddleware()],
)
st.markdown(
"<h1 style='font-size: 28px;'>Prompt-driven analysis with PandasAI</h1>",
unsafe_allow_html=True
)
upload_file = st.file_uploader(
"Please upload a csv-file for analysis", type=['csv']
)
if upload_file is not None:
df = pd.read_csv(upload_file, encoding='utf-8')
st.write(df.head(3))
prompt = st.text_area("Enter your prompt:")
if st.button("Generate"):
if prompt:
with st.spinner("PandasAI is generating an answer, please wait..."):
st.write(pandas_ai.run(df, prompt=prompt))
else:
st.warning("Please enter a prompt.")
![](https://assets.st-note.com/img/1688886559019-O85XwSPPnw.png?width=1200)
こちらのYoutubeを参考にさせて頂きました。
https://www.youtube.com/watch?v=oSC2U2iuMRg
この記事が気に入ったらサポートをしてみませんか?