leaflink-ask / main.py
suneeln-duke's picture
Prompt hacked and tested various types of prompts
9a9f870
from fastapi import FastAPI
import os
from dotenv import load_dotenv
import pandas as pd
from langchain.document_loaders import DirectoryLoader
from agents import master_agent, plant_agent, eda_agent, rag_agent
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.environ.get("OPENAI_API_KEY")
os.environ['SERPAPI_API_KEY'] = os.getenv('SERPAPI_API_KEY')
master = master_agent.init_config()
print("init master agent")
plant = plant_agent.init_config()
print("init plant agent")
df = pd.read_csv('data/csv/plant_syn.csv')
eda = eda_agent.init_config(df)
print("init eda agent")
loader = DirectoryLoader("data/txt", glob="*.txt")
rag = rag_agent.init_config(loader)
loader = DirectoryLoader("data/txt", glob="*.txt")
documents = loader.load()
print("init rag agent")
app = FastAPI()
@app.get("/hello")
def hello():
return {"message": "Hello World"}
@app.post("/ask")
def ask(question: str):
category = eval(master_agent.answer_question(master, question))
temp_question = f"Referring to the Blue Indigo False Plant, {question}"
print(question)
print(temp_question)
print(category)
if category['category_number'] == 1:
response = eval(plant_agent.answer_question(plant, temp_question))
category.update(response)
elif category['category_number'] == 2:
response = eda_agent.answer_question(eda, temp_question)
category['response'] = response
elif category['category_number'] == 3:
response = rag_agent.answer_question(rag, temp_question)
category['response'] = response
category['question'] = question
return category