AI-Functions 是一个简易使用的 AI 功能实现库,主要通过 OpenAI 的 GPT-4(或其他版本)来执行各种任务。该项目受 Ask Marvin 的启发,旨在让用户能够更轻松地利用 AI 执行特定功能。
AI-Functions 的设计让用户可以使用 AI 执行多种任务。项目通过一个名为 ai_function 的函数实现,这个函数可以根据用户提供的函数签名、参数以及描述来生成相应的结果。例如:
function_string = "def fake_people(n: int) -> list[dict]:" args = ["4"] description_string = """Generates n examples of fake data representing people, each with a name and an age.""" result = ai_functions.ai_function(function_string, args, description_string)
上述示例会生成一个包含伪造人物数据的列表,每个人物都有一个姓名和年龄。
要使用 AI-Functions,需按照以下步骤进行安装:
克隆代码库:
git clone https://github.com/YourUsername/SuperSimpleAIFunctions.git
安装所需的依赖库:
pip install -r requirements.txt
获取一个 OpenAI API 密钥,并将其存放在与脚本同一目录下的 keys.py 文件中,或设置为环境变量。
在使用过程中,用户需要通过 ai_functions.py 中的 ai_function 函数来指定函数特征、参数及其描述。以下是一个简单的使用示例:
import ai_functions function = "def add(a: int, b: int) -> int:" args = ["5", "7"] description = "Adds two integers." result = ai_functions.ai_function(function, args, description) print(result) # 输出: 12
尽管 AI-Functions 在某些任务中表现良好,但在涉及到复杂数学计算和精确度的任务中,它并不是最佳选择。例如,在三角形面积的计算中,GPT-4 和 GPT-3.5-turbo 会因错误的浮点值或响应格式而失败。因此,在需要数学精度的场景中,传统的算法和库可能会产生更为准确的结果。
以下是不同 GPT 模型在任务中的成功率比较:
| 描述 | GPT-4 成果 | GPT-3.5-turbo 成果 | 原因 |
|---|---|---|---|
| 生成伪造人物 | 成功 | 失败 | 回复格式不正确 |
| 生成随机密码 | 成功 | 成功 | 无 |
| 计算三角形面积 | 失败 | 失败 | 浮点值错误(GPT-4),回复格式不正确(GPT-3.5-turbo) |
| 计算第 n 个质数 | 成功 | 成功 | 无 |
| 加密文本 | 成功 | 成功 | 无 |
| 查找缺失数字 | 成功 | 成功 | 无 |
test_ai_functions.py 提供了对 ai_function 的测试用例。用户可以通过运行脚本来查看测试结果和成功率:
python test_ai_functions.py
欢迎大家做出贡献!无论是添加更多测试用例,还是改进现有代码,贡献者都可以通过提交 Pull Request 来参与项目的开发。