Spaces:
Runtime error
Runtime error
import gradio as gr | |
import os | |
from llama_index import GPTSimpleVectorIndex | |
from langchain.agents import ZeroShotAgent, AgentExecutor | |
from langchain.agents import Tool | |
from langchain import OpenAI, LLMChain | |
os.environ['OPENAI_API_KEY'] = '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' | |
index = GPTSimpleVectorIndex.load_from_disk('/mnt/index/comboindex.json') | |
def querying_db(query: str): | |
response = index.query(query) | |
return response | |
tools = [ | |
Tool( | |
name="QueryingDB", | |
func=querying_db, | |
description="useful for when you need to answer questions from the database. The answer is given in bullet points.", | |
return_direct=True | |
) | |
] | |
prefix = """Give a detailed answer to the question""" | |
suffix = """Give answer in bullet points""" | |
Question: {input} | |
{agent_scratchpad}""" | |
prompt = ZeroShotAgent.create_prompt( | |
tools, | |
prefix=prefix, | |
suffix=suffix, | |
input_variables=["input", "agent_scratchpad"] | |
) | |
llm_chain = LLMChain(llm=OpenAI(temperature=0), prompt=prompt) | |
tool_names = [tool.name for tool in tools] | |
agent = ZeroShotAgent(llm_chain=llm_chain, allowed_tools=tool_names) | |
def get_answer(query_string): | |
agent_executor = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True) | |
result = agent_executor.run(query_string) | |
return result | |
def qa_app(query): | |
return get_answer(query) | |
inputs = gr.inputs.Textbox(label="Enter your question:") | |
output = gr.outputs.Textbox(label="Answer:") | |
iface = gr.Interface(fn=qa_app, inputs=inputs, outputs=output, title="Endo AI : Endocrine answering app by Dr. Om J Lakhani") | |
iface.launch() | |