本项目旨在提供一个框架,测试多种商业大型语言模型(LLMs)对Function-Calling功能的支持,以及利用工具解决广泛的复杂任务的能力。分析多种商业大模型的Function-Calling实现细节。并进行实验测试。项目使用 Poetry 进行依赖管理和安装,方便在不同环境中快速部署和运行。
📜 LICENSE
📜 README.md
📜 llms.py
📂 logs
├── 📝 gpt_tools.log
├── 📝 main.log
├── 📝 main_all.log
└── 📝 main_gpt.log
📜 main.py
📜 poetry.lock
📜 pyproject.toml
📂 tools
├── 🔧 tools.py
└── 🔧 tools_desc.py
- Python 3.9 及以上
- Poetry 包管理器
- 克隆本项目到本地:
git clone https://github.com/SijiaCui/function-calling.git cd ./function-calling
- 使用poetry安装依赖
poetry lock poetry install / poetry update
- 配置 OpenAI Key 🔑
# 将API key写入到~/.bashrc文件中 export OPENAI_API_KEY=<your_openai_api_key>
- 运行项目
▶️ poetry shell python main.py
1. "今天是几月几日,现在是几点几分?", # 外部世界交互
2. "9264857101的因子有哪些?", # 大数计算
3. "查询本地的root用户(密码是123456)的所有数据库。", # 私有知识库查询
4. "2024年10月21号至2024年10月25号之间,微软公司的最高股票价格是多少?" # 金融数据查询
1. "抱歉,我无法提供实时的日期和时间信息。请您查看设备上的日期和时间。"❌
2. "要找出9264857101的因子,我们可以先进行质因数分解。经过计算,9264857101的质因数分解为:\n\n9264857101 = 7 × 132064101\n\n接下来,我们可以继续对132064101进行质因数分解。经过计算,132064101的质因数分解为:\n\n132064101 = 101 × 1309991\n\n因此,9264857101的完整质因数分解为:\n\n9264857101 = 7 × 101 × 1309991\n\n从这个分解中,我们可以得出9264857101的因子包括:\n\n1, 7, 101, 1309991, 707, 1309991 × 7, 101 × 1309991, 9264857101\n\n所以9264857101的因子有:1, 7, 101, 707, 1309991, 1309991 × 7, 101 × 1309991, 9264857101。"❌
3. "要查询本地的 root 用户(密码是 123456)所拥有的所有数据库,您可以使用 MySQL 数据库管理系统。以下是步骤:\n\n1. **打开终端或命令提示符**。\n2. **登录 MySQL**:\n 输入以下命令并按回车:\n ```bash\n mysql -u root -p\n ```\n 然后输入密码 `123456`。\n\n3. **查询所有数据库**:\n 登录成功后,输入以下 SQL 命令:\n ```sql\n SHOW DATABASES;\n ```\n\n4. **查看结果**:\n 这将列出所有可用的数据库。\n\n请注意,使用简单密码(如 `123456`)是不安全的,建议使用更复杂的密码以保护数据库安全。"❌
4. "抱歉,我无法提供2024年10月21日至2024年10月25日之间微软公司的股票价格信息,因为我的数据更新到2023年10月,无法获取未来的市场数据。建议您查看金融新闻网站或股票市场应用程序以获取最新的股票价格信息。"❌
1. "今天是2024年10月27日,现在是13点52分。"✅
2. "9264857101的因子有:1, 109, 149, 16241, 570461, 62180249, 84998689, 9264857101。"✅
3. "使用root用户(密码为123456)查询本地的所有数据库,结果如下:\n\n1. information_schema\n2. mysql\n3. performance_schema\n4. sys\n\n这些数据库都是系统数据库,用于管理MySQL的运行和存储信息。"✅
4. "在2024年10月21号至2024年10月25号之间,微软公司的最高股票价格是431.08美元。"✅
- 更多商业大模型测试:
- 对于工具/函数的支持
- function-calling的实现方式
- 工具调用格式