iShare's picture
Create app.py
fab737a
import os
from langchain import OpenAI
from langchain.chat_models import ChatOpenAI
from langchain.chains.conversation.memory import ConversationBufferWindowMemory
turbo_llm = ChatOpenAI(
temperature=0,
model_name='gpt-3.5-turbo'
)
from langchain.tools import DuckDuckGoSearchTool
from langchain.agents import Tool
from langchain.tools import BaseTool
search = DuckDuckGoSearchTool()
# defining a single tool
tools = [
Tool(
name = "search",
func=search.run,
description="useful for when you need to answer questions about current events. You should ask targeted questions"
)
]
def meaning_of_life(input=""):
return 'The meaning of life is 42 if rounded but is actually 42.17658'
life_tool = Tool(
name='Meaning of Life',
func= meaning_of_life,
description="Useful for when you need to answer questions about the meaning of life. input should be MOL "
)
import random
def random_num(input=""):
return random.randint(0,5)
#random_num()
random_tool = Tool(
name='Random number',
func= random_num,
description="Useful for when you need to get a random number. input should be 'random'"
)
from langchain.agents import initialize_agent
tools = [search, random_tool, life_tool]
# conversational agent memory
memory = ConversationBufferWindowMemory(
memory_key='chat_history',
k=3,
return_messages=True
)
# create our agent
conversational_agent = initialize_agent(
agent='chat-conversational-react-description',
tools=tools,
llm=turbo_llm,
verbose=True,
max_iterations=3,
early_stopping_method='generate',
memory=memory
)
ai_res=conversational_agent("What time is it in Beijing China?")
print(ai_res)