timeki commited on
Commit
584bae4
·
2 Parent(s): b091848 9ab8c87

Merge branch 'main' of https://huggingface.co/spaces/Ekimetrics/climate-question-answering

Browse files
climateqa/engine/talk_to_data/workflow.py CHANGED
@@ -1,6 +1,6 @@
1
  import os
2
 
3
- from typing import Any, Callable, NotRequired, TypedDict
4
  import pandas as pd
5
 
6
  from plotly.graph_objects import Figure
@@ -35,9 +35,9 @@ class TableState(TypedDict):
35
  """
36
  table_name: str
37
  params: dict[str, Any]
38
- sql_query: NotRequired[str]
39
- dataframe: NotRequired[pd.DataFrame | None]
40
- figure: NotRequired[Callable[..., Figure]]
41
  status: str
42
 
43
  class PlotState(TypedDict):
@@ -59,7 +59,7 @@ class State(TypedDict):
59
  user_input: str
60
  plots: list[str]
61
  plot_states: dict[str, PlotState]
62
- error: NotRequired[str]
63
 
64
  async def drias_workflow(user_input: str) -> State:
65
  """Performs the complete workflow of Talk To Drias : from user input to sql queries, dataframes and figures generated
@@ -187,8 +187,8 @@ async def find_param(state: State, param_name:str, table: str) -> dict[str, Any]
187
 
188
  class Location(TypedDict):
189
  location: str
190
- latitude: NotRequired[str]
191
- longitude: NotRequired[str]
192
 
193
  async def find_location(user_input: str, table: str) -> Location:
194
  print(f"---- Find location in table {table} ----")
 
1
  import os
2
 
3
+ from typing import Any, Callable, TypedDict, Optional
4
  import pandas as pd
5
 
6
  from plotly.graph_objects import Figure
 
35
  """
36
  table_name: str
37
  params: dict[str, Any]
38
+ sql_query: Optional[str]
39
+ dataframe: Optional[pd.DataFrame | None]
40
+ figure: Optional[Callable[..., Figure]]
41
  status: str
42
 
43
  class PlotState(TypedDict):
 
59
  user_input: str
60
  plots: list[str]
61
  plot_states: dict[str, PlotState]
62
+ error: Optional[str]
63
 
64
  async def drias_workflow(user_input: str) -> State:
65
  """Performs the complete workflow of Talk To Drias : from user input to sql queries, dataframes and figures generated
 
187
 
188
  class Location(TypedDict):
189
  location: str
190
+ latitude: Optional[str]
191
+ longitude: Optional[str]
192
 
193
  async def find_location(user_input: str, table: str) -> Location:
194
  print(f"---- Find location in table {table} ----")
requirements.txt CHANGED
@@ -1,13 +1,13 @@
1
  gradio==5.0.2
2
  azure-storage-file-share==12.11.1
3
- azure-storage-blob
4
  python-dotenv==1.0.0
5
  langchain==0.2.1
6
  langchain_openai==0.1.7
7
  langgraph==0.2.70
8
  pinecone-client==4.1.0
9
  sentence-transformers==2.6.0
10
- huggingface-hub
11
  pyalex==0.13
12
  networkx==3.2.1
13
  pyvis==0.3.2
@@ -20,4 +20,8 @@ msal==1.31
20
  matplotlib==3.9.2
21
  gradio-modal==0.0.4
22
  vanna==0.7.5
23
- geopy==2.4.1
 
 
 
 
 
1
  gradio==5.0.2
2
  azure-storage-file-share==12.11.1
3
+ azure-storage-blob==12.23.0
4
  python-dotenv==1.0.0
5
  langchain==0.2.1
6
  langchain_openai==0.1.7
7
  langgraph==0.2.70
8
  pinecone-client==4.1.0
9
  sentence-transformers==2.6.0
10
+ huggingface-hub==0.25.2
11
  pyalex==0.13
12
  networkx==3.2.1
13
  pyvis==0.3.2
 
20
  matplotlib==3.9.2
21
  gradio-modal==0.0.4
22
  vanna==0.7.5
23
+ geopy==2.4.1
24
+ duckdb==1.2.1
25
+ openai==1.61.1
26
+ pydantic==2.9.2
27
+ pydantic-settings==2.2.1