Spaces:
Runtime error
Runtime error
First test
Browse files- .python-version +1 -0
- app.py +32 -4
- packages.txt +2 -0
- poetry.lock +0 -0
- poetry.toml +3 -0
- pyproject.toml +15 -0
.python-version
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
3.9.15
|
app.py
CHANGED
@@ -1,7 +1,35 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
def
|
4 |
-
|
|
|
|
|
5 |
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
+
from pandas import DataFrame
|
3 |
+
from pandasai import PandasAI
|
4 |
+
from pandasai.llm.starcoder import Starcoder
|
5 |
+
from datasets import load_dataset
|
6 |
|
7 |
+
def send_prompt(token: str, df: DataFrame, prompt: str) -> str:
|
8 |
+
llm = Starcoder(api_token=token)
|
9 |
+
pandas_ai = PandasAI(llm, conversational=False)
|
10 |
+
return pandas_ai(df, prompt=prompt)
|
11 |
|
12 |
+
def get_result(token, dataset, config, split, prompt) -> str:
|
13 |
+
try:
|
14 |
+
dataset = load_dataset(dataset, config, split=split)
|
15 |
+
df = dataset.to_pandas()
|
16 |
+
return send_prompt(token, df, prompt=prompt)
|
17 |
+
except Exception as e:
|
18 |
+
return str(e)
|
19 |
+
|
20 |
+
with gr.Blocks() as demo:
|
21 |
+
gr.Markdown(" ## PandasAI demo using datasets library")
|
22 |
+
gr.Markdown(" pandasai library https://github.com/gventuri/pandas-ai")
|
23 |
+
gr.Markdown(" datasets library https://huggingface.co/docs/datasets/index")
|
24 |
+
|
25 |
+
hf_token = gr.Textbox(label="hugging face token", placeholder="hf_xxx", type="password")
|
26 |
+
dataset = gr.Textbox(label="dataset", placeholder="mstz/iris")
|
27 |
+
config = gr.Textbox(label="config", placeholder="iris")
|
28 |
+
split = gr.Textbox(label="split", placeholder="train")
|
29 |
+
prompt = gr.Textbox(label="prompt (str)", placeholder="How many records do I have?. Give me the median of sepal_width. Show me the first 5 rows.")
|
30 |
+
output = gr.Textbox(label="Output Box")
|
31 |
+
get_result_button = gr.Button("Submit")
|
32 |
+
get_result_button.click(get_result, inputs=[hf_token, dataset, config, split, prompt], outputs=output)
|
33 |
+
|
34 |
+
if __name__ == "__main__":
|
35 |
+
demo.launch()
|
packages.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
pandasai
|
2 |
+
datasets
|
poetry.lock
ADDED
The diff for this file is too large to render.
See raw diff
|
|
poetry.toml
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
[virtualenvs]
|
2 |
+
in-project = true
|
3 |
+
prefer-active-python = true
|
pyproject.toml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[tool.poetry]
|
2 |
+
name = "pandasai-datasets-demo"
|
3 |
+
version = "0.1.0"
|
4 |
+
description = "Demo for pandasai using datasets library"
|
5 |
+
authors = ["Andrea Soria <[email protected]>"]
|
6 |
+
|
7 |
+
[tool.poetry.dependencies]
|
8 |
+
gradio = "3.28.1"
|
9 |
+
python = "^3.9.15"
|
10 |
+
pandasai = "^0.2.14"
|
11 |
+
datasets = "^2.12.0"
|
12 |
+
|
13 |
+
[build-system]
|
14 |
+
requires = ["poetry-core"]
|
15 |
+
build-backend = "poetry.core.masonry.api"
|