Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/modules/ask/agent.py

35 lines
1.1 KiB
Python
Raw Normal View History

2023-04-08 03:15:56 +00:00
from langchain.agents import AgentExecutor, LLMSingleActionAgent
from langchain import LLMChain
from langchain.chat_models import ChatOpenAI
from langchain.chat_models import ChatOpenAI
from langchain.callbacks.stdout import StdOutCallbackHandler
from langchain.callbacks.base import CallbackManager
from modules.ask.prompt import AkariPromptTemplate, AkariParser, template
from modules.ask.tools import tools, tool_names
from config import Config
prompt = AkariPromptTemplate(
template=template,
tools=tools,
input_variables=["input", "intermediate_steps"]
)
output_parser = AkariParser()
llm = ChatOpenAI(temperature=0, openai_api_key=Config('openai_api_key'), model_kwargs={'frequency_penalty': 0.0, 'presence_penalty': 0.0})
llm_chain = LLMChain(llm=llm, prompt=prompt)
manager = CallbackManager([StdOutCallbackHandler()])
agent = LLMSingleActionAgent(
llm_chain=llm_chain,
output_parser=output_parser,
stop=["\nObservation:"],
allowed_tools=tool_names,
)
agent_executor = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True, callback_manager=manager)