rise-ai / agent /toolset.py
markpeace's picture
first commit
76c5345
raw
history blame
1.33 kB
from langchain.agents import tool
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores.faiss import FAISS
from langchain.chains import RetrievalQA
from langchain_openai import OpenAI
@tool
def FAQ(input: str):
"""Provides answers to questions that students might have about Rise and Futureme. Please add ### to the beginning of your answer"""
# Load from local storage
embeddings = OpenAIEmbeddings()
persisted_vectorstore = FAISS.load_local("_rise_faq_db", embeddings)
# Use RetrievalQA chain for orchestration
qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=persisted_vectorstore.as_retriever())
result = qa.invoke(input)
return result
@tool
def recommend_activity(question: str):
"""Recommends an activity from Rise catalogue."""
# Load from local storage
embeddings = OpenAIEmbeddings()
persisted_vectorstore = FAISS.load_local("_rise_product_db", embeddings)
# Use RetrievalQA chain for orchestration
qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=persisted_vectorstore.as_retriever())
result = qa.invoke(input)
return result
@tool
def placeholder_tool():
"""This is just a placeholder function"""
return "placeholder"
tools = [placeholder_tool, FAQ]