Cassie Buhler commited on
Commit
b4f621d
·
unverified ·
2 Parent(s): f5662d1 5571994

Merge pull request #42 from boettiger-lab/feat/more-LLMs

Browse files
Files changed (2) hide show
  1. app/app.py +6 -3
  2. app/system_prompt.txt +9 -1
app/app.py CHANGED
@@ -148,9 +148,11 @@ with open('app/system_prompt.txt', 'r') as file:
148
 
149
  from langchain_openai import ChatOpenAI
150
 
151
-
152
- llm = ChatOpenAI(model = "kosbu/Llama-3.3-70B-Instruct-AWQ", api_key = st.secrets['CIRRUS_LLM_API_KEY'], base_url = "https://llm.cirrus.carlboettiger.info/v1/", temperature=0)
153
  # llm = ChatOpenAI(model="gpt-4", temperature=0)
 
 
 
154
 
155
  managers = ca.sql("SELECT DISTINCT manager FROM mydata;").execute()
156
  names = ca.sql("SELECT name FROM mydata GROUP BY name HAVING SUM(acres) >10000;").execute()
@@ -182,7 +184,6 @@ def run_sql(query,color_choice):
182
  output = few_shot_structured_llm.invoke(query)
183
  sql_query = output.sql_query
184
  explanation =output.explanation
185
-
186
  if not sql_query: # if the chatbot can't generate a SQL query.
187
  st.success(explanation)
188
  return pd.DataFrame({'id' : []})
@@ -273,6 +274,8 @@ with st.container():
273
  key: (True if key in cols else value)
274
  for key, value in chatbot_toggles.items()
275
  }
 
 
276
  else:
277
  ids = []
278
  except Exception as e:
 
148
 
149
  from langchain_openai import ChatOpenAI
150
 
151
+ #llm = ChatOpenAI(model = "kosbu/Llama-3.3-70B-Instruct-AWQ", api_key = st.secrets['CIRRUS_LLM_API_KEY'], base_url = "https://llm.cirrus.carlboettiger.info/v1/", temperature=0)
 
152
  # llm = ChatOpenAI(model="gpt-4", temperature=0)
153
+ # llm = ChatOpenAI(model = "llama3", api_key=st.secrets['NRP_API_KEY'], base_url = "https://llm.nrp-nautilus.io/", temperature=0)
154
+ llm = ChatOpenAI(model = "groq-tools", api_key=st.secrets['NRP_API_KEY'], base_url = "https://llm.nrp-nautilus.io/", temperature=0)
155
+
156
 
157
  managers = ca.sql("SELECT DISTINCT manager FROM mydata;").execute()
158
  names = ca.sql("SELECT name FROM mydata GROUP BY name HAVING SUM(acres) >10000;").execute()
 
184
  output = few_shot_structured_llm.invoke(query)
185
  sql_query = output.sql_query
186
  explanation =output.explanation
 
187
  if not sql_query: # if the chatbot can't generate a SQL query.
188
  st.success(explanation)
189
  return pd.DataFrame({'id' : []})
 
274
  key: (True if key in cols else value)
275
  for key, value in chatbot_toggles.items()
276
  }
277
+ for key, value in chatbot_toggles.items():
278
+ st.session_state[key] = value # Update session state
279
  else:
280
  ids = []
281
  except Exception as e:
app/system_prompt.txt CHANGED
@@ -160,5 +160,13 @@ sql_query:
160
  SELECT SUM("fire" * "acres") / SUM("acres") * 100 AS percent_fire
161
  FROM mydata
162
  WHERE "status" = '30x30-conserved';
163
-
 
 
 
 
 
 
 
 
164
  Question: {input}
 
160
  SELECT SUM("fire" * "acres") / SUM("acres") * 100 AS percent_fire
161
  FROM mydata
162
  WHERE "status" = '30x30-conserved';
163
+
164
+ ## Example:
165
+ example_user: "Show me all land managed by the United States Forest Service"
166
+ sql_query:
167
+ SELECT "id", "geom", "name", "acres", "manager" FROM mydata
168
+ WHERE LOWER("manager") LIKE '%united states forest service%';
169
+
170
+
171
+
172
  Question: {input}