GPT LangChain实验性代理 – 允许危险代码

我在VS Code中创建一个聊天机器人,它将通过Streamlit界面的提示接收csv文件。然而,从文件加载的那一刻起,它就显示了一条包含以下内容的消息:

值错误:此代理依赖于可以执行任意代码的Python REPL工具。这可能是危险的,需要一个特别的沙箱环境才能安全使用。请阅读此函数文档字符串中的安全通知。您必须通过设置allow_dangerous_code=True来选择使用此功能。有关一般安全指南,请参见:https://python.langchain.com/v0.2/docs/security/

追溯

File "c:\Users\  \langchain-ask-csv\.venv\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 589, in _run_script    exec(code, module.__dict__)File "C:\Users\ \langchain-ask-csv\main.py", line 46, in <module>    main()File "C:\Users\  \langchain-ask-csv\main.py", line 35, in main    agent = create_csv_agent( OpenAI(), csv_file, verbose=True)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "c:\Users\\langchain-ask-csv\.venv\Lib\site-packages\langchain_experimental\agents\agent_toolkits\csv\base.py", line 66, in create_csv_agent    return create_pandas_dataframe_agent(llm, df, **kwargs)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "c:\Users\ T\langchain-ask-csv\.venv\Lib\site-packages\langchain_experimental\agents\agent_toolkits\pandas\base.py", line 248, in create_pandas_dataframe_agent    raise ValueError(

这是我传递文件的代码的一部分:

def main():    load_dotenv()        # 从环境变量中加载OpenAI API密钥    if os.getenv("OPENAI_API_KEY") is None or os.getenv("OPENAI_API_KEY") == "":        print("OPENAI_API_KEY未设置")        exit(1)    else:        print("OPENAI_API_KEY已设置")    st.set_page_config(page_title="询问您的CSV")    st.header("询问您的CSV 📈")    csv_file = st.file_uploader("上传一个CSV文件", type="csv")    if csv_file is not None:        agent = create_csv_agent( OpenAI(), csv_file, verbose=True)        user_question = st.text_input("关于您的CSV提问:")                if user_question is not None and user_question != "":            with st.spinner(text="处理中..."):                st.write(agent.run(user_question))      if __name__ == "__main__":    main()

我查看了建议的链接,也尝试搜索类似报告,但没有成功。

可能出了什么问题,如何修复它?


回答:

引用的安全通知位于https://api.python.langchain.com/en/latest/agents/langchain_experimental.agents.agent_toolkits.pandas.base.create_pandas_dataframe_agent.html

只需按照消息的指示去做。进行安全分析,为您的程序创建一个沙箱环境,然后在传递给create_csv_agent的参数中添加allow_dangerous_code=True,该参数会直接传递给create_pandas_dataframe_agent,并在沙箱中运行它。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注