我正在开发一个需要分析 CSV 文件的聊天机器人。通常,我使用 Langchain 并创建一个像这样的 csv_agent
agent= create_csv_agent(
ChatOpenAI(temperature=0, model='gpt-4'),
'csv_pat.csv',
verbose=True,
)
agent.run("chat sentence about csv, e.g whats the best performing month, can you predict future sales based on data.")
但是,我想让聊天机器人变得更先进,让它能够记住以前的对话。为了实现这一目标,我尝试使用具有相同代理设置的 ConversationChain,但失败了。
这是我尝试过的:
chain_agent = create_csv_agent(
ChatOpenAI(temperature=0, model='gpt-4'),
'file_path.csv',
verbose=True,
)
context_template = """The conversation is between person and Analyst chatbot.
Current conversation:
{history}
Human: {input}
bot:"""
PROMPT = PromptTemplate(
input_variables= ["history", "input"], template=context_template
)
conversation = ConversationChain(
prompt=PROMPT,
llm=chain_agent,
verbose=True,
memory=ConversationBufferMemory(ai_prefix="Analyst Bot")
)
类型错误:call() 收到意外的关键字参数“stop”
当我用下面的 ChatOpenAI 替换 chain_agent 时,如下所示:
chain_agent = ChatOpenAI(temperature= 0, model_name= 'gpt-4')
错误消失,但机器人无法分析 CSV 文件,并建议使用数据分析工具。
答案如下;
但是,作为一个基于文本的机器人,我无法直接执行这些操作。您可以使用数据分析工具或编程语言(例如 Python 或 R)来执行此操作。
您可能知道任何解决方案吗?
你试过这个吗?
https://python.langchain.com/docs/integrations/toolkits/csv
(来自示例)
agent = create_csv_agent(
ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613"),
["titanic.csv", "titanic_age_fillna.csv"],
verbose=True,
agent_type=AgentType.OPENAI_FUNCTIONS,
)
agent.run("how many rows in the age column are different between the two dfs?")