利用Bearly Interpreter实现安全的远程代码执行

88 阅读2分钟

引言

在现代软件开发中,代码沙盒被广泛用于测试和执行代码片段,而不影响实际应用环境。Bearly Code Interpreter 提供了一种安全的方式来远程执行代码,适合用作代码解释器的沙盒环境。本文旨在介绍如何使用 Bearly Interpreter 创建一个代理,远程执行代码,并分析数据。

主要内容

设置和初始化

  1. 安装依赖包

    %pip install --upgrade --quiet langchain-community
    

    安装所需的 Python 包,以支持 Bearly Interpreter 的使用。

  2. 获取API密钥

    Bearly开发者平台 获取您的 API 密钥。

  3. 初始化 Bearly Interpreter

    使用 API 密钥初始化 Bearly Interpreter:

    from langchain_community.tools import BearlyInterpreterTool
    
    bearly_tool = BearlyInterpreterTool(api_key="YOUR_API_KEY")  # 使用API代理服务提高访问稳定性
    

添加文件到沙盒

添加您需要处理的文件:

bearly_tool.add_file(
    source_path="sample_data/Bristol.pdf", target_path="Bristol.pdf", description=""
)
bearly_tool.add_file(
    source_path="sample_data/US_GDP.csv", target_path="US_GDP.csv", description=""
)

创建工具对象

tools = [bearly_tool.as_tool()]

初始化代理

使用 ChatOpenAIAgentType:

from langchain.agents import AgentType, initialize_agent
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4", temperature=0)
agent = initialize_agent(
    tools,
    llm,
    agent=AgentType.OPENAI_FUNCTIONS,
    verbose=True,
    handle_parsing_errors=True,
)

代码示例

提取PDF内容

agent.run("What is the text on page 3 of the pdf?")

解决 PDF 阅读的代码问题:

from PyPDF2 import PdfReader

pdf = PdfReader('Bristol.pdf')
page = pdf.pages[2]
page_text = page.extract_text()

print(page_text)

计算2019年美国GDP

import pandas as pd

us_gdp = pd.read_csv('US_GDP.csv')
us_gdp['DATE'] = pd.to_datetime(us_gdp['DATE'])
us_gdp_2019 = us_gdp[us_gdp['DATE'].dt.year == 2019]

print(us_gdp_2019['GDP'].values)

常见问题和解决方案

  1. 版本问题:PyPDF2 版本更新可能导致接口变更,如 PdfFileReader 改为 PdfReader,需留意 API 文档更新。

  2. 网络限制:某些地区访问API可能会受限,建议使用 API 代理服务。

  3. 数据格式问题:确保输入数据的格式与预期相符,否则会导致解析错误。

总结和进一步学习资源

通过本文的指南,您可以安全地在沙盒环境中执行代码并分析数据。进一步学习资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---