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
2023-04-30 11:30:59 +08:00

37 lines
1.1 KiB
Python

from langchain import LLMChain
from langchain.agents import AgentExecutor, LLMSingleActionAgent
from langchain.callbacks.base import CallbackManager
from langchain.callbacks.stdout import StdOutCallbackHandler
from langchain.chat_models import ChatOpenAI
from config import Config
from modules.ask.prompt import AkariPromptTemplate, AkariParser, template
from modules.ask.tools import tools, tool_names
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)