blazingbunny's picture
Update app.py
d450b8c verified
raw
history blame contribute delete
No virus
1.19 kB
from shiny import App, ui, reactive, render, req
import nest_asyncio
import json
from scrapegraphai.graphs import SearchGraph
import streamlit as st
# Access your API keys securely
OPENAI_API_KEY = st.secrets["OPENAI_API_KEY"]
# Apply necessary settings for asyncio compatibility
nest_asyncio.apply()
app_ui = ui.page_fluid(
ui.input_text("prompt", "Enter your query:", value="List me all the attributes of 'cannabis strain'."),
ui.output_text_verbatim("results")
)
def server(input, output, session):
@reactive.Calc
def get_results():
graph_config = {
"llm": {
"api_key": OPENAI_API_KEY,
"model": "gpt-3.5-turbo",
"temperature": 0,
},
}
search_graph = SearchGraph(
prompt=input.prompt(),
config=graph_config
)
try:
result = search_graph.run()
output = json.dumps(result, indent=2)
return output
except Exception as e:
return f"An error occurred: {e}"
output.results <- render.text(lambda: get_results())
app = App(app_ui, server)
if __name__ == "__main__":
app.run()