Skip to content

tasyskybenjamin/react_demo

Repository files navigation

工具集合

这是一个包含搜索和计算功能的工具集合。

功能模块

1. 搜索功能 (search.py)

基于Serper API的搜索功能实现。

2. 计算器功能 (calculator.py)

安全的数学表达式计算器,避免了直接使用eval的安全风险。

3. ReAct代理 (react_agent.py)

基于ReAct框架的智能代理,结合推理和行动来解决复杂问题。

4. OpenAI ReAct代理 (openai_react_agent.py)

基于OpenAI API的高级ReAct代理,使用大语言模型进行智能推理和决策。

安装依赖

pip install -r requirements.txt

配置

  1. 复制环境变量模板文件:
cp .env.example .env
  1. 申请API密钥:

  2. 编辑 .env 文件,填入您的实际API密钥

使用方法

搜索功能测试

python search.py

计算器功能测试

python calculator.py

ReAct代理测试

python react_agent.py

在其他代码中使用

搜索功能

from search import search

result = search("您的搜索关键词")
print(result)

计算器功能

from calculator import calculate, safe_calculate

# 使用支持数学函数的计算器
result1 = calculate("2 + 3 * 4")
result2 = calculate("sin(0) + cos(0)")

# 使用更安全的基础计算器
result3 = safe_calculate("(10 + 5) / 3")

print(result1, result2, result3)

功能特点

  • 错误处理:包含完整的异常处理机制
  • 环境变量管理:使用 .env 文件安全管理API密钥
  • 类型提示:提供完整的类型注解
  • 测试功能:包含基本的测试代码

API说明

search(query: str) -> str

参数:

  • query: 搜索关键词(字符串类型)

返回值:

  • 搜索结果的摘要文本,如果出错则返回错误信息

calculate(expression: str) -> Union[float, str]

参数:

  • expression: 数学表达式(字符串类型)

返回值:

  • 计算结果(浮点数)或错误信息(字符串)

支持的功能:

  • 基本运算:+, -, *, /, **(幂运算)
  • 括号:(, )
  • 数学函数:sin, cos, tan, log, exp, sqrt

safe_calculate(expression: str) -> Union[float, str]

参数:

  • expression: 数学表达式(字符串类型)

返回值:

  • 计算结果(浮点数)或错误信息(字符串)

支持的功能:

  • 基本运算:+, -, *, /, **(幂运算)
  • 括号:(, )
  • 一元运算符:+, -

安全特性:

  • 使用AST解析,完全避免代码注入风险
  • 只支持基本数学运算,不支持函数调用

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published