<h2 align='center'> chatgpt-tool-hub / ChatGPT工具引擎 </h2>
<p align='center'>给ChatGPT装上手和脚,拿起工具提高你的生产力</p>
<p align="center">
<a style="text-decoration:none" href="https://github.com/goldfishh" target="_blank">
<img src="https://img.shields.io/pypi/pyversions/chatgpt-tool-hub" alt="Language" />
</a>
<a style="text-decoration:none" href="https://github.com/goldfishh" target="_blank">
<img src="https://img.shields.io/github/license/goldfishh/chatgpt-tool-hub" alt="license " />
</a>
<a style="text-decoration:none" href="https://github.com/goldfishh" target="_blank">
<img src="https://img.shields.io/github/commit-activity/w/goldfishh/chatgpt-tool-hub" alt="commit-activity-week " />
</a>
<a style="text-decoration:none" href="https://pypi.org/project/chatgpt-tool-hub/" target="_blank">
<img src="https://img.shields.io/pypi/dw/chatgpt-tool-hub" alt="pypi-download-dw" />
</a>
</p>
---
简体中文 | [English](./docs/README_en.md)
> 大语言模型涌现能力让人惊艳,ChatGPT出现给NLP技术带来革命,除此之外还让我意识到一种新的人机交互的可能性
<div>
<h2 style="display:inline; margin:0; padding:0;">🌱 5.4 LLM-OS demo在线演示</h2>
<a style="display:inline-block; align:center" src="https://colab.research.google.com/assets/colab-badge.svg" href="https://colab.research.google.com/drive/11nYPGFCYiaZ73H8nTHSN8ifbo0u3W_8p">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="demo in Colab"/>
</a>
</div>
<br/>
<div align="center">
<a style="text-decoration:none" href="https://www.bilibili.com/video/BV1eL411h7Nk/" target="_blank">
<img src="https://i.328888.xyz/2023/04/29/iJQNi3.jpeg" width = "659" height = "410" alt="LLM-OS" align=center />
</a>
</div>
<br/>
#### [更新日志](./docs/update_log.md) | [Q&A](./docs/q_and_a.md)
## 简介
---
这是一个能让ChatGPT使用多个神奇工具的执行引擎,你能用自然语言命令ChatGPT使用联网、搜索、数学运算、控制电脑、执行代码等工具,扩大ChatGPT使用范围提高你的生产力。
本项目因关注到ChatGPT开放插件而诞生,该插件定制性较差,且生态封闭,这不是一个好的趋势,我相信未来国内LLM一定百花齐放,同时我从ChatGPT看到了使用工具的可行性,和潜在价值,因此我希望做一个能兼容未来LLM的工具生态。
如果把ChatGPT的插件比作Apple的App Store,那么这个项目最终形态就是Android OS的开放式生态,简称LLM-OS。在这个生态里所有工具组成一个操作系统,用户仅需输入或传述文字即可做任何事情。
鉴于目前状况,本项目的定位是:一个开源的ChatGPT工具生态系统,您可以将工具与ChatGPT结合使用,使用自然语言来完成任何事情。
<p align="center">
<img src="./assets/llm-os.jpg" width="50%" height="50%">
</p>
## 特性
---
#### 1. 可在 LLM-OS demo 单独使用tool-hub
#### 2. tool-hub以插件形式为 [chatgpt-on-wechat](https://github.com/zhayujie/chatgpt-on-wechat) 提供工具能力. 详见 ([tool插件使用教程](https://github.com/goldfishh/chatgpt-on-wechat/tree/master/plugins/tool))
#### 3. 支持中、英文互动
#### 4. 支持上下文记忆
#### 5. 支持proxy
#### 6. 支持大量工具 [工具指南 快速更新中](./docs/tool_tutorial.md)
#### 7. 支持多种工具同时且自动调用、树状编排工具
### ⛳ 看看tool-hub未来计划更新的特性:[tool-hub todo-list](#plan)
### 📭 去 [issues](https://github.com/goldfishh/chatgpt-tool-hub/issues) 提提建议
## ✈️ 快速开始
---
### 1. LLM-OS demo
#### (1). 克隆仓库
```bash
git clone https://github.com/goldfishh/chatgpt-tool-hub.git
cd chatgpt-tool-hub
```
#### (2). 使用pip安装本项目依赖
```bash
pip3 install -r requirements.txt
```
#### (3). 重命名.env.template 和 config.json.template文件,去掉.template后缀 打开文件填入配置参数
`.env` 用于配置全局参数 文件配置示例
```text
LLM_API_KEY=sk-xx // 必填,你的OPENAI API Key, 如何申请请见Q&A
MODEL_NAME=gpt-3.5-turbo // 选填,OPENAI LLM模型
THINK_DEPTH=3 // 选填,默认为3,控制LLM-OS的最大调用工具次数,过大不一定能提高回复质量
REQUEST_TIMEOUT=90 // 选填,默认120,等待openai api回复的最大时间
PROXY=http://192.168.7.1:7890 // 选填,当你需要代理访问openai时可填
DEBUG=false // 选填,debug模式
```
`config.json` 用于配置工具参数 文件配置示例
```json
{
"tools": [], // 填入你想用到的额外工具名
"kwargs": {
"no_default": false // 是否不使用默认工具, 默认使用python, terminal, url-get, meteo
// 需要额外申请api-key的工具,在这里填入
}
}
```
需要额外申请工具config.json配置示例见:[工具申请方法与配置说明](./docs/apply_optional_tool.md)
#### (4). 执行terminal_io.py
```bash
python3 terminal_io.py
```
#### (5). 进入LLM-OS后你可以自行探索 或者进一步浏览详细教程:[LLM_OS demo使用说明](https://github.com/goldfishh/llm-os/blob/main/README.md)
---
### 2. 我给[chatgpt-on-wechat](https://github.com/zhayujie/chatgpt-on-wechat)开发了tool插件
> 使用本方法,你将可以用微信作为前端更方便地使用tool-hub
#### 查阅chatgpt-on-wechat文档中的[项目简介](https://github.com/zhayujie/chatgpt-on-wechat#%E7%AE%80%E4%BB%8B) 和 [快速开始](https://github.com/zhayujie/chatgpt-on-wechat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
#### Note: 你需要安装拓展依赖才能使用tool插件
#### [tool插件教程](https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/README.md)
---
### 3. 你是其他项目开发者,想要接入本工具引擎
> 本项目已发布到PyPI上,你只需使用pip命令即可安装
#### (1). 安装chatgpt-tool-hub包
```bash
pip install -i https://pypi.python.org/simple chatgpt-tool-hub
```
#### (2). 快速开始
```python
import os
from chatgpt_tool_hub.apps import AppFactory
os.environ["LLM_API_KEY"] = "YOUR_LLM_API_KEY" # 必填
os.environ["PROXY"] = "YOUR_PROXY_ADDRESS" # 选填
app = AppFactory().create_app(tools_list=[], **{})
reply = app.ask("YOUR_QUESTION_TO_HERE")
print(reply)
```
#### (3). 以插件形式接入tool-hub可参考tool插件实现
[tool.py](https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/tool.py)
> 如果有需求,我会更新更详细接入的文档,欢迎提issue
---
## 工具指南
### 🚀 [工具指南 工具快速开发中](./docs/tool_tutorial.md)
---
## 原理
---
工具引擎的实现原理本质是**Chain-of-Thought**:[Chain-of-Thought Prompting Elicits Reasoning in Large Language Models](https://arxiv.org/abs/2201.11903)
我将通过用6个自问自答的问题解释chatgpt-tool-hub的工作原理
#### 1. 事务型工具(如terminal、python)是在哪运行,以及如何执行的
事务型工具是在你本地运行的,事务型工具本质是一个python编写的函数,terminal、python、url-get工具分别用到了封装调用subprocess库、python解释器和requests库的函数
---
#### 2. ChatGPT是如何触发调用这些函数
借助ChatGPT api提供的temperature参数,该参数越低,ChatGPT输出的结果会更集中和确定,当temperature为0时,相同的问题会得到统一回答
我在prompt构建时会提供给ChatGPT此时用到的工具列表信息,每个工具信息包含:工具名 和 工具描述:
```text
TOOLS:
------
You have access to the following tools:
> Python REPL: A Python shell. Use this to execute python commands.
> url-get: A portal to the internet. Use this when you need to get specific content from a website.
> Terminal: Executes commands in a terminal.
> Bing Search: A wrapper around Bing Search. Useful for when you need to answer questions about current events.
```
有了工具prompt,这时ChatGPT就能理解这些工具名字和使用场景,调用事务函数还需要进一步细化我和ChatGPT之间的通信协议(仍是通过prompt):
通信协议限制ChatGPT使用工具时返回内容的格式,只能返回三种前缀的内容:
```text
1. Thought: Do I need to use a tool? Yes or No
2. Action: 工具名字
3. Action Input: 工具的输入
```
通信协议完整prompt:
```text
To use a tool, please use the following format:
Thought: Do I need to use a tool? Yes
Action: the action to take, should be one of [Python REPL, url-get, Terminal, Bing Search]
Action Input: the input to the action
Observation: the result of the action
```
此时,工具引擎有专用的文本解析模块负责解析这些内容,当解析成功后,将调度到具体事务函数执行,然后返回固定前缀的结果:
```text
Observation: 当事务函数执行完成返回时的内容
```
带Observation前缀的内容往往是使用事务型工具的用户想知道的答案
---
#### 3. ChatGPT怎么知道该用的工具和输入,是否每次都严格按照prompt生成格式化内容
ChatGPT微调时进行大量Q&A、CoT预料的学习和RLHF调优,目前ChatGPT对于工具和内容生成的质量是有保证的
但是目前不是100%,因为会有低质量prompt或者不合适工具的输入,这些问题在工具引擎会进行鲁棒性的处理来保证生成内容的稳定性
我创建一个issue,可以方便大家来获取和分享使用tool过程解决的有趣问题和思路、每个tool使用时prompt技巧、遇到问题的处理办法:
[更好的使用tool的技巧交流](https://github.com/goldfishh/chatgpt-tool-hub/issues/3)
---
#### 4. 如果需要多个工具交替配合解决某个问题,引擎是怎么做的?
当事务函数处理完成返回结果后,默认不会直接返回给用户,而是根据结果内容CoT,在整个prompt中,还有两个子prompt负责用户对话历史记录和中间结果
用户对话历史记录:
```text
Human: A question
AI: A answer
......
```
中间结果:
```text
Thought: Do I need to use a tool? Yes
Action: Wolfram Alpha
Action Input: gdp china vs. usa
Observation: China\nUnited States | GDP | nominal \nAnswer: China | $14.72 trillion per year\nUnited States | $20.95 trillion per year\n(2020 estimates)
Thought:
```
每轮工具CoT过程均会作为下次推理判断工具的依据,由此迭代地进行工具判断、执行,最后当识别到特定前缀时,CoT结果将返回给用户
CoT结束prompt:
```text
When you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format:
Thought: Do I need to use a tool? No
AI: the response to the original input question in chinese
```
ChatGPT使用工具过程并不顺利:当遇到迭代次数到达预设值时,会根据历史过程,返回给用户最后结果
---
#### 5. 事务性工具交给ChatGPT是否具有不可预料的危险性?
是的,当你用事务性工具时,你就给予了ChatGPT在你本地运行程序的权利,你需要权限限制来规避可能的风险
如果无法信任ChatGPT主导你的机器,请不要使用
---
#### 6. 非事务型工具的实现原理是什么
参考[ChatGPT 官方插件](https://github.com/openai/chatgpt-retrieval-plugin),非事务性工具也称为插件型工具,该工具可视为开放性的ChatGPT插件
---
## 🎯 计划
<span id="plan"></span>
---
### feature todolist
[✓] 结果可解释性输出 -> LLM-OS的内心独白
[✓] 一个前端demo -> LLM-OS
[✓] 长文本场景 -> summary工具
[✓] 长工具顺序控制 -> 实现了toolintool机制
[✓] 粒度配置 -> 每个tool封装的LLM可独立配置
[○] tokens计算,精确管理
[○] gpt_index长文本(pdf、html)检索
[○] 接口并发支持
[○] 接入国内LLM
[○] 兼容不使用tool的场景
[○] 互斥tool控制
[○] subtree 动态注册&反注册
[○] 工具中断
[○] 定时调度
[○] 语音输入、输出
### tool todolist
[○] stable-diffusion 中文prompt翻译
[✓] ImageCaptioning
[○] 小米智能家居控制
[○] 支持ChatGPT官方插件
[○] 让LLM来实现tool
[○] 支持图片处理工具
[○] 支持视频处理工具
[✗] Wechat
## 工具开发指南
---
目前工具分为两类:事务型工具、插件型工具
[工具开发教程](./docs/tool_development_guide.md)
## 背景
我将很快更新这部分内容
---
## ☕ 宣传
#### 如果你想支持本项目,欢迎给项目点个star、提issue和pr
#### 如果你想进一步支持项目作者少掉头发,努力开发,可以给和我一起开发项目的伙伴 或 单独给我来杯 ☕
---
## 感谢
感谢以下项目对本项目提供的有力支持:
#### 1. [langchain](https://github.com/hwchase17/langchain)
受langchain的启发,本项目重写了langchain v0.0.123 工具有关的实现
#### 2. [Auto-GPT](https://github.com/Significant-Gravitas/Auto-GPT)
启发了browser tool跨平台的实现、tool engine的json通信、部分prompt描述
#### 3. [chatgpt-in-terminal](https://github.com/xiaoxx970/chatgpt-in-terminal)
llm-os demo 改写自该项目
---
Raw data
{
"_id": null,
"home_page": "https://github.com/goldfishh/chatgpt-tool-hub",
"name": "chatgpt-tool-hub",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "goldfishh",
"author_email": "goldfish.buaa@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/64/60/07daa0a9c82250db6e61d9e935d49fb328dba6351ba3d485deac02a9e2d4/chatgpt-tool-hub-0.5.0.tar.gz",
"platform": null,
"description": "<h2 align='center'> chatgpt-tool-hub / ChatGPT\u5de5\u5177\u5f15\u64ce </h2>\n<p align='center'>\u7ed9ChatGPT\u88c5\u4e0a\u624b\u548c\u811a\uff0c\u62ff\u8d77\u5de5\u5177\u63d0\u9ad8\u4f60\u7684\u751f\u4ea7\u529b</p>\n\n<p align=\"center\">\n <a style=\"text-decoration:none\" href=\"https://github.com/goldfishh\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/pyversions/chatgpt-tool-hub\" alt=\"Language\" />\n </a>\n <a style=\"text-decoration:none\" href=\"https://github.com/goldfishh\" target=\"_blank\">\n <img src=\"https://img.shields.io/github/license/goldfishh/chatgpt-tool-hub\" alt=\"license \" />\n </a>\n <a style=\"text-decoration:none\" href=\"https://github.com/goldfishh\" target=\"_blank\">\n <img src=\"https://img.shields.io/github/commit-activity/w/goldfishh/chatgpt-tool-hub\" alt=\"commit-activity-week \" />\n </a>\n <a style=\"text-decoration:none\" href=\"https://pypi.org/project/chatgpt-tool-hub/\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/dw/chatgpt-tool-hub\" alt=\"pypi-download-dw\" />\n </a>\n</p>\n\n---\n\n\u7b80\u4f53\u4e2d\u6587 | [English](./docs/README_en.md)\n\n> \u5927\u8bed\u8a00\u6a21\u578b\u6d8c\u73b0\u80fd\u529b\u8ba9\u4eba\u60ca\u8273\uff0cChatGPT\u51fa\u73b0\u7ed9NLP\u6280\u672f\u5e26\u6765\u9769\u547d\uff0c\u9664\u6b64\u4e4b\u5916\u8fd8\u8ba9\u6211\u610f\u8bc6\u5230\u4e00\u79cd\u65b0\u7684\u4eba\u673a\u4ea4\u4e92\u7684\u53ef\u80fd\u6027\n\n<div>\n <h2 style=\"display:inline; margin:0; padding:0;\">\ud83c\udf31 5.4 LLM-OS demo\u5728\u7ebf\u6f14\u793a</h2>\n <a style=\"display:inline-block; align:center\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" href=\"https://colab.research.google.com/drive/11nYPGFCYiaZ73H8nTHSN8ifbo0u3W_8p\">\n <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"demo in Colab\"/>\n </a>\n</div>\n\n<br/>\n\n<div align=\"center\">\n <a style=\"text-decoration:none\" href=\"https://www.bilibili.com/video/BV1eL411h7Nk/\" target=\"_blank\">\n <img src=\"https://i.328888.xyz/2023/04/29/iJQNi3.jpeg\" width = \"659\" height = \"410\" alt=\"LLM-OS\" align=center />\n </a>\n</div>\n\n<br/>\n\n#### [\u66f4\u65b0\u65e5\u5fd7](./docs/update_log.md) | [Q&A](./docs/q_and_a.md)\n\n## \u7b80\u4ecb\n\n---\n\n\u8fd9\u662f\u4e00\u4e2a\u80fd\u8ba9ChatGPT\u4f7f\u7528\u591a\u4e2a\u795e\u5947\u5de5\u5177\u7684\u6267\u884c\u5f15\u64ce\uff0c\u4f60\u80fd\u7528\u81ea\u7136\u8bed\u8a00\u547d\u4ee4ChatGPT\u4f7f\u7528\u8054\u7f51\u3001\u641c\u7d22\u3001\u6570\u5b66\u8fd0\u7b97\u3001\u63a7\u5236\u7535\u8111\u3001\u6267\u884c\u4ee3\u7801\u7b49\u5de5\u5177\uff0c\u6269\u5927ChatGPT\u4f7f\u7528\u8303\u56f4\u63d0\u9ad8\u4f60\u7684\u751f\u4ea7\u529b\u3002\n\n\u672c\u9879\u76ee\u56e0\u5173\u6ce8\u5230ChatGPT\u5f00\u653e\u63d2\u4ef6\u800c\u8bde\u751f\uff0c\u8be5\u63d2\u4ef6\u5b9a\u5236\u6027\u8f83\u5dee\uff0c\u4e14\u751f\u6001\u5c01\u95ed\uff0c\u8fd9\u4e0d\u662f\u4e00\u4e2a\u597d\u7684\u8d8b\u52bf\uff0c\u6211\u76f8\u4fe1\u672a\u6765\u56fd\u5185LLM\u4e00\u5b9a\u767e\u82b1\u9f50\u653e\uff0c\u540c\u65f6\u6211\u4eceChatGPT\u770b\u5230\u4e86\u4f7f\u7528\u5de5\u5177\u7684\u53ef\u884c\u6027\uff0c\u548c\u6f5c\u5728\u4ef7\u503c\uff0c\u56e0\u6b64\u6211\u5e0c\u671b\u505a\u4e00\u4e2a\u80fd\u517c\u5bb9\u672a\u6765LLM\u7684\u5de5\u5177\u751f\u6001\u3002\n\n\u5982\u679c\u628aChatGPT\u7684\u63d2\u4ef6\u6bd4\u4f5cApple\u7684App Store\uff0c\u90a3\u4e48\u8fd9\u4e2a\u9879\u76ee\u6700\u7ec8\u5f62\u6001\u5c31\u662fAndroid OS\u7684\u5f00\u653e\u5f0f\u751f\u6001\uff0c\u7b80\u79f0LLM-OS\u3002\u5728\u8fd9\u4e2a\u751f\u6001\u91cc\u6240\u6709\u5de5\u5177\u7ec4\u6210\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff0c\u7528\u6237\u4ec5\u9700\u8f93\u5165\u6216\u4f20\u8ff0\u6587\u5b57\u5373\u53ef\u505a\u4efb\u4f55\u4e8b\u60c5\u3002 \n\n\u9274\u4e8e\u76ee\u524d\u72b6\u51b5\uff0c\u672c\u9879\u76ee\u7684\u5b9a\u4f4d\u662f\uff1a\u4e00\u4e2a\u5f00\u6e90\u7684ChatGPT\u5de5\u5177\u751f\u6001\u7cfb\u7edf\uff0c\u60a8\u53ef\u4ee5\u5c06\u5de5\u5177\u4e0eChatGPT\u7ed3\u5408\u4f7f\u7528\uff0c\u4f7f\u7528\u81ea\u7136\u8bed\u8a00\u6765\u5b8c\u6210\u4efb\u4f55\u4e8b\u60c5\u3002\n\n<p align=\"center\">\n <img src=\"./assets/llm-os.jpg\" width=\"50%\" height=\"50%\">\n</p>\n\n## \u7279\u6027\n\n---\n\n#### 1. \u53ef\u5728 LLM-OS demo \u5355\u72ec\u4f7f\u7528tool-hub\n#### 2. tool-hub\u4ee5\u63d2\u4ef6\u5f62\u5f0f\u4e3a [chatgpt-on-wechat](https://github.com/zhayujie/chatgpt-on-wechat) \u63d0\u4f9b\u5de5\u5177\u80fd\u529b. \u8be6\u89c1 ([tool\u63d2\u4ef6\u4f7f\u7528\u6559\u7a0b](https://github.com/goldfishh/chatgpt-on-wechat/tree/master/plugins/tool))\n#### 3. \u652f\u6301\u4e2d\u3001\u82f1\u6587\u4e92\u52a8\n#### 4. \u652f\u6301\u4e0a\u4e0b\u6587\u8bb0\u5fc6\n#### 5. \u652f\u6301proxy\n#### 6. \u652f\u6301\u5927\u91cf\u5de5\u5177 [\u5de5\u5177\u6307\u5357 \u5feb\u901f\u66f4\u65b0\u4e2d](./docs/tool_tutorial.md) \n#### 7. \u652f\u6301\u591a\u79cd\u5de5\u5177\u540c\u65f6\u4e14\u81ea\u52a8\u8c03\u7528\u3001\u6811\u72b6\u7f16\u6392\u5de5\u5177\n\n### \u26f3 \u770b\u770btool-hub\u672a\u6765\u8ba1\u5212\u66f4\u65b0\u7684\u7279\u6027\uff1a[tool-hub todo-list](#plan) \n### \ud83d\udced \u53bb [issues](https://github.com/goldfishh/chatgpt-tool-hub/issues) \u63d0\u63d0\u5efa\u8bae \n\n## \u2708\ufe0f \u5feb\u901f\u5f00\u59cb\n\n---\n\n### 1. LLM-OS demo\n\n#### (1). \u514b\u9686\u4ed3\u5e93\n\n```bash\ngit clone https://github.com/goldfishh/chatgpt-tool-hub.git\ncd chatgpt-tool-hub\n```\n\n#### (2). \u4f7f\u7528pip\u5b89\u88c5\u672c\u9879\u76ee\u4f9d\u8d56\n\n```bash\npip3 install -r requirements.txt\n```\n\n#### (3). \u91cd\u547d\u540d.env.template \u548c config.json.template\u6587\u4ef6\uff0c\u53bb\u6389.template\u540e\u7f00 \u6253\u5f00\u6587\u4ef6\u586b\u5165\u914d\u7f6e\u53c2\u6570 \n\n`.env` \u7528\u4e8e\u914d\u7f6e\u5168\u5c40\u53c2\u6570 \u6587\u4ef6\u914d\u7f6e\u793a\u4f8b\n```text\nLLM_API_KEY=sk-xx // \u5fc5\u586b\uff0c\u4f60\u7684OPENAI API Key, \u5982\u4f55\u7533\u8bf7\u8bf7\u89c1Q&A\nMODEL_NAME=gpt-3.5-turbo // \u9009\u586b\uff0cOPENAI LLM\u6a21\u578b\nTHINK_DEPTH=3 // \u9009\u586b\uff0c\u9ed8\u8ba4\u4e3a3\uff0c\u63a7\u5236LLM-OS\u7684\u6700\u5927\u8c03\u7528\u5de5\u5177\u6b21\u6570\uff0c\u8fc7\u5927\u4e0d\u4e00\u5b9a\u80fd\u63d0\u9ad8\u56de\u590d\u8d28\u91cf\nREQUEST_TIMEOUT=90 // \u9009\u586b\uff0c\u9ed8\u8ba4120\uff0c\u7b49\u5f85openai api\u56de\u590d\u7684\u6700\u5927\u65f6\u95f4\nPROXY=http://192.168.7.1:7890 // \u9009\u586b\uff0c\u5f53\u4f60\u9700\u8981\u4ee3\u7406\u8bbf\u95eeopenai\u65f6\u53ef\u586b\nDEBUG=false // \u9009\u586b\uff0cdebug\u6a21\u5f0f\n```\n\n`config.json` \u7528\u4e8e\u914d\u7f6e\u5de5\u5177\u53c2\u6570 \u6587\u4ef6\u914d\u7f6e\u793a\u4f8b\n```json\n{\n \"tools\": [], // \u586b\u5165\u4f60\u60f3\u7528\u5230\u7684\u989d\u5916\u5de5\u5177\u540d\n \"kwargs\": {\n \"no_default\": false // \u662f\u5426\u4e0d\u4f7f\u7528\u9ed8\u8ba4\u5de5\u5177, \u9ed8\u8ba4\u4f7f\u7528python, terminal, url-get, meteo\n // \u9700\u8981\u989d\u5916\u7533\u8bf7api-key\u7684\u5de5\u5177\uff0c\u5728\u8fd9\u91cc\u586b\u5165\n }\n}\n```\n\n\u9700\u8981\u989d\u5916\u7533\u8bf7\u5de5\u5177config.json\u914d\u7f6e\u793a\u4f8b\u89c1\uff1a[\u5de5\u5177\u7533\u8bf7\u65b9\u6cd5\u4e0e\u914d\u7f6e\u8bf4\u660e](./docs/apply_optional_tool.md)\n\n#### (4). \u6267\u884cterminal_io.py\n\n```bash\npython3 terminal_io.py\n```\n\n#### (5). \u8fdb\u5165LLM-OS\u540e\u4f60\u53ef\u4ee5\u81ea\u884c\u63a2\u7d22 \u6216\u8005\u8fdb\u4e00\u6b65\u6d4f\u89c8\u8be6\u7ec6\u6559\u7a0b\uff1a[LLM_OS demo\u4f7f\u7528\u8bf4\u660e](https://github.com/goldfishh/llm-os/blob/main/README.md)\n\n---\n\n### 2. \u6211\u7ed9[chatgpt-on-wechat](https://github.com/zhayujie/chatgpt-on-wechat)\u5f00\u53d1\u4e86tool\u63d2\u4ef6\n\n> \u4f7f\u7528\u672c\u65b9\u6cd5\uff0c\u4f60\u5c06\u53ef\u4ee5\u7528\u5fae\u4fe1\u4f5c\u4e3a\u524d\u7aef\u66f4\u65b9\u4fbf\u5730\u4f7f\u7528tool-hub\n\n#### \u67e5\u9605chatgpt-on-wechat\u6587\u6863\u4e2d\u7684[\u9879\u76ee\u7b80\u4ecb](https://github.com/zhayujie/chatgpt-on-wechat#%E7%AE%80%E4%BB%8B) \u548c [\u5feb\u901f\u5f00\u59cb](https://github.com/zhayujie/chatgpt-on-wechat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n\n#### Note: \u4f60\u9700\u8981\u5b89\u88c5\u62d3\u5c55\u4f9d\u8d56\u624d\u80fd\u4f7f\u7528tool\u63d2\u4ef6\n\n#### [tool\u63d2\u4ef6\u6559\u7a0b](https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/README.md)\n\n---\n\n### 3. \u4f60\u662f\u5176\u4ed6\u9879\u76ee\u5f00\u53d1\u8005\uff0c\u60f3\u8981\u63a5\u5165\u672c\u5de5\u5177\u5f15\u64ce\n\n> \u672c\u9879\u76ee\u5df2\u53d1\u5e03\u5230PyPI\u4e0a\uff0c\u4f60\u53ea\u9700\u4f7f\u7528pip\u547d\u4ee4\u5373\u53ef\u5b89\u88c5\n\n#### (1). \u5b89\u88c5chatgpt-tool-hub\u5305\n\n```bash\npip install -i https://pypi.python.org/simple chatgpt-tool-hub\n```\n\n#### (2). \u5feb\u901f\u5f00\u59cb\n\n```python\nimport os\nfrom chatgpt_tool_hub.apps import AppFactory\nos.environ[\"LLM_API_KEY\"] = \"YOUR_LLM_API_KEY\" # \u5fc5\u586b\nos.environ[\"PROXY\"] = \"YOUR_PROXY_ADDRESS\" # \u9009\u586b\napp = AppFactory().create_app(tools_list=[], **{})\nreply = app.ask(\"YOUR_QUESTION_TO_HERE\")\nprint(reply)\n```\n\n#### (3). \u4ee5\u63d2\u4ef6\u5f62\u5f0f\u63a5\u5165tool-hub\u53ef\u53c2\u8003tool\u63d2\u4ef6\u5b9e\u73b0\n\n[tool.py](https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/tool.py)\n\n> \u5982\u679c\u6709\u9700\u6c42\uff0c\u6211\u4f1a\u66f4\u65b0\u66f4\u8be6\u7ec6\u63a5\u5165\u7684\u6587\u6863\uff0c\u6b22\u8fce\u63d0issue\n\n---\n\n## \u5de5\u5177\u6307\u5357 \n\n### \ud83d\ude80 [\u5de5\u5177\u6307\u5357 \u5de5\u5177\u5feb\u901f\u5f00\u53d1\u4e2d](./docs/tool_tutorial.md)\n\n---\n\n## \u539f\u7406\n\n---\n\n\u5de5\u5177\u5f15\u64ce\u7684\u5b9e\u73b0\u539f\u7406\u672c\u8d28\u662f**Chain-of-Thought**\uff1a[Chain-of-Thought Prompting Elicits Reasoning in Large Language Models](https://arxiv.org/abs/2201.11903)\n\n\u6211\u5c06\u901a\u8fc7\u75286\u4e2a\u81ea\u95ee\u81ea\u7b54\u7684\u95ee\u9898\u89e3\u91cachatgpt-tool-hub\u7684\u5de5\u4f5c\u539f\u7406 \n\n#### 1. \u4e8b\u52a1\u578b\u5de5\u5177\uff08\u5982terminal\u3001python\uff09\u662f\u5728\u54ea\u8fd0\u884c\uff0c\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u7684\n\n\u4e8b\u52a1\u578b\u5de5\u5177\u662f\u5728\u4f60\u672c\u5730\u8fd0\u884c\u7684\uff0c\u4e8b\u52a1\u578b\u5de5\u5177\u672c\u8d28\u662f\u4e00\u4e2apython\u7f16\u5199\u7684\u51fd\u6570\uff0cterminal\u3001python\u3001url-get\u5de5\u5177\u5206\u522b\u7528\u5230\u4e86\u5c01\u88c5\u8c03\u7528subprocess\u5e93\u3001python\u89e3\u91ca\u5668\u548crequests\u5e93\u7684\u51fd\u6570\n\n---\n\n#### 2. ChatGPT\u662f\u5982\u4f55\u89e6\u53d1\u8c03\u7528\u8fd9\u4e9b\u51fd\u6570\n\n\u501f\u52a9ChatGPT api\u63d0\u4f9b\u7684temperature\u53c2\u6570\uff0c\u8be5\u53c2\u6570\u8d8a\u4f4e\uff0cChatGPT\u8f93\u51fa\u7684\u7ed3\u679c\u4f1a\u66f4\u96c6\u4e2d\u548c\u786e\u5b9a\uff0c\u5f53temperature\u4e3a0\u65f6\uff0c\u76f8\u540c\u7684\u95ee\u9898\u4f1a\u5f97\u5230\u7edf\u4e00\u56de\u7b54 \n\u6211\u5728prompt\u6784\u5efa\u65f6\u4f1a\u63d0\u4f9b\u7ed9ChatGPT\u6b64\u65f6\u7528\u5230\u7684\u5de5\u5177\u5217\u8868\u4fe1\u606f\uff0c\u6bcf\u4e2a\u5de5\u5177\u4fe1\u606f\u5305\u542b\uff1a\u5de5\u5177\u540d \u548c \u5de5\u5177\u63cf\u8ff0\uff1a\n\n```text\nTOOLS: \n------ \n \nYou have access to the following tools: \n\n> Python REPL: A Python shell. Use this to execute python commands. \n> url-get: A portal to the internet. Use this when you need to get specific content from a website. \n> Terminal: Executes commands in a terminal. \n> Bing Search: A wrapper around Bing Search. Useful for when you need to answer questions about current events. \n```\n\n\u6709\u4e86\u5de5\u5177prompt\uff0c\u8fd9\u65f6ChatGPT\u5c31\u80fd\u7406\u89e3\u8fd9\u4e9b\u5de5\u5177\u540d\u5b57\u548c\u4f7f\u7528\u573a\u666f\uff0c\u8c03\u7528\u4e8b\u52a1\u51fd\u6570\u8fd8\u9700\u8981\u8fdb\u4e00\u6b65\u7ec6\u5316\u6211\u548cChatGPT\u4e4b\u95f4\u7684\u901a\u4fe1\u534f\u8bae\uff08\u4ecd\u662f\u901a\u8fc7prompt\uff09\uff1a\n\u901a\u4fe1\u534f\u8bae\u9650\u5236ChatGPT\u4f7f\u7528\u5de5\u5177\u65f6\u8fd4\u56de\u5185\u5bb9\u7684\u683c\u5f0f\uff0c\u53ea\u80fd\u8fd4\u56de\u4e09\u79cd\u524d\u7f00\u7684\u5185\u5bb9\uff1a\n\n```text\n1. Thought: Do I need to use a tool? Yes or No\n2. Action: \u5de5\u5177\u540d\u5b57\n3. Action Input: \u5de5\u5177\u7684\u8f93\u5165\n```\n\n\u901a\u4fe1\u534f\u8bae\u5b8c\u6574prompt\uff1a \n```text\nTo use a tool, please use the following format:\n\n\nThought: Do I need to use a tool? Yes\nAction: the action to take, should be one of [Python REPL, url-get, Terminal, Bing Search]\nAction Input: the input to the action\nObservation: the result of the action\n```\n\n\u6b64\u65f6\uff0c\u5de5\u5177\u5f15\u64ce\u6709\u4e13\u7528\u7684\u6587\u672c\u89e3\u6790\u6a21\u5757\u8d1f\u8d23\u89e3\u6790\u8fd9\u4e9b\u5185\u5bb9\uff0c\u5f53\u89e3\u6790\u6210\u529f\u540e\uff0c\u5c06\u8c03\u5ea6\u5230\u5177\u4f53\u4e8b\u52a1\u51fd\u6570\u6267\u884c\uff0c\u7136\u540e\u8fd4\u56de\u56fa\u5b9a\u524d\u7f00\u7684\u7ed3\u679c\uff1a\n\n```text\nObservation: \u5f53\u4e8b\u52a1\u51fd\u6570\u6267\u884c\u5b8c\u6210\u8fd4\u56de\u65f6\u7684\u5185\u5bb9\n```\n\n\u5e26Observation\u524d\u7f00\u7684\u5185\u5bb9\u5f80\u5f80\u662f\u4f7f\u7528\u4e8b\u52a1\u578b\u5de5\u5177\u7684\u7528\u6237\u60f3\u77e5\u9053\u7684\u7b54\u6848\n\n---\n\n#### 3. ChatGPT\u600e\u4e48\u77e5\u9053\u8be5\u7528\u7684\u5de5\u5177\u548c\u8f93\u5165\uff0c\u662f\u5426\u6bcf\u6b21\u90fd\u4e25\u683c\u6309\u7167prompt\u751f\u6210\u683c\u5f0f\u5316\u5185\u5bb9\n\nChatGPT\u5fae\u8c03\u65f6\u8fdb\u884c\u5927\u91cfQ&A\u3001CoT\u9884\u6599\u7684\u5b66\u4e60\u548cRLHF\u8c03\u4f18\uff0c\u76ee\u524dChatGPT\u5bf9\u4e8e\u5de5\u5177\u548c\u5185\u5bb9\u751f\u6210\u7684\u8d28\u91cf\u662f\u6709\u4fdd\u8bc1\u7684 \n\u4f46\u662f\u76ee\u524d\u4e0d\u662f100%\uff0c\u56e0\u4e3a\u4f1a\u6709\u4f4e\u8d28\u91cfprompt\u6216\u8005\u4e0d\u5408\u9002\u5de5\u5177\u7684\u8f93\u5165\uff0c\u8fd9\u4e9b\u95ee\u9898\u5728\u5de5\u5177\u5f15\u64ce\u4f1a\u8fdb\u884c\u9c81\u68d2\u6027\u7684\u5904\u7406\u6765\u4fdd\u8bc1\u751f\u6210\u5185\u5bb9\u7684\u7a33\u5b9a\u6027 \n\n\u6211\u521b\u5efa\u4e00\u4e2aissue\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5927\u5bb6\u6765\u83b7\u53d6\u548c\u5206\u4eab\u4f7f\u7528tool\u8fc7\u7a0b\u89e3\u51b3\u7684\u6709\u8da3\u95ee\u9898\u548c\u601d\u8def\u3001\u6bcf\u4e2atool\u4f7f\u7528\u65f6prompt\u6280\u5de7\u3001\u9047\u5230\u95ee\u9898\u7684\u5904\u7406\u529e\u6cd5\uff1a\n[\u66f4\u597d\u7684\u4f7f\u7528tool\u7684\u6280\u5de7\u4ea4\u6d41](https://github.com/goldfishh/chatgpt-tool-hub/issues/3)\n\n---\n\n#### 4. \u5982\u679c\u9700\u8981\u591a\u4e2a\u5de5\u5177\u4ea4\u66ff\u914d\u5408\u89e3\u51b3\u67d0\u4e2a\u95ee\u9898\uff0c\u5f15\u64ce\u662f\u600e\u4e48\u505a\u7684\uff1f\n\n\u5f53\u4e8b\u52a1\u51fd\u6570\u5904\u7406\u5b8c\u6210\u8fd4\u56de\u7ed3\u679c\u540e\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u76f4\u63a5\u8fd4\u56de\u7ed9\u7528\u6237\uff0c\u800c\u662f\u6839\u636e\u7ed3\u679c\u5185\u5bb9CoT\uff0c\u5728\u6574\u4e2aprompt\u4e2d\uff0c\u8fd8\u6709\u4e24\u4e2a\u5b50prompt\u8d1f\u8d23\u7528\u6237\u5bf9\u8bdd\u5386\u53f2\u8bb0\u5f55\u548c\u4e2d\u95f4\u7ed3\u679c\n\n\u7528\u6237\u5bf9\u8bdd\u5386\u53f2\u8bb0\u5f55\uff1a\n```text\nHuman: A question\nAI: A answer\n......\n```\n\n\u4e2d\u95f4\u7ed3\u679c\uff1a\n```text\nThought: Do I need to use a tool? Yes\nAction: Wolfram Alpha\nAction Input: gdp china vs. usa\nObservation: China\\nUnited States | GDP | nominal \\nAnswer: China | $14.72 trillion per year\\nUnited States | $20.95 trillion per year\\n(2020 estimates)\nThought:\n```\n\n\u6bcf\u8f6e\u5de5\u5177CoT\u8fc7\u7a0b\u5747\u4f1a\u4f5c\u4e3a\u4e0b\u6b21\u63a8\u7406\u5224\u65ad\u5de5\u5177\u7684\u4f9d\u636e\uff0c\u7531\u6b64\u8fed\u4ee3\u5730\u8fdb\u884c\u5de5\u5177\u5224\u65ad\u3001\u6267\u884c\uff0c\u6700\u540e\u5f53\u8bc6\u522b\u5230\u7279\u5b9a\u524d\u7f00\u65f6\uff0cCoT\u7ed3\u679c\u5c06\u8fd4\u56de\u7ed9\u7528\u6237 \n\nCoT\u7ed3\u675fprompt\uff1a\n```text\nWhen you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format:\n\nThought: Do I need to use a tool? No\nAI: the response to the original input question in chinese\n\n```\n\n\nChatGPT\u4f7f\u7528\u5de5\u5177\u8fc7\u7a0b\u5e76\u4e0d\u987a\u5229\uff1a\u5f53\u9047\u5230\u8fed\u4ee3\u6b21\u6570\u5230\u8fbe\u9884\u8bbe\u503c\u65f6\uff0c\u4f1a\u6839\u636e\u5386\u53f2\u8fc7\u7a0b\uff0c\u8fd4\u56de\u7ed9\u7528\u6237\u6700\u540e\u7ed3\u679c \n\n---\n\n#### 5. \u4e8b\u52a1\u6027\u5de5\u5177\u4ea4\u7ed9ChatGPT\u662f\u5426\u5177\u6709\u4e0d\u53ef\u9884\u6599\u7684\u5371\u9669\u6027\uff1f\n\n\u662f\u7684\uff0c\u5f53\u4f60\u7528\u4e8b\u52a1\u6027\u5de5\u5177\u65f6\uff0c\u4f60\u5c31\u7ed9\u4e88\u4e86ChatGPT\u5728\u4f60\u672c\u5730\u8fd0\u884c\u7a0b\u5e8f\u7684\u6743\u5229\uff0c\u4f60\u9700\u8981\u6743\u9650\u9650\u5236\u6765\u89c4\u907f\u53ef\u80fd\u7684\u98ce\u9669 \n\u5982\u679c\u65e0\u6cd5\u4fe1\u4efbChatGPT\u4e3b\u5bfc\u4f60\u7684\u673a\u5668\uff0c\u8bf7\u4e0d\u8981\u4f7f\u7528 \n\n---\n\n#### 6. \u975e\u4e8b\u52a1\u578b\u5de5\u5177\u7684\u5b9e\u73b0\u539f\u7406\u662f\u4ec0\u4e48\n\n\u53c2\u8003[ChatGPT \u5b98\u65b9\u63d2\u4ef6](https://github.com/openai/chatgpt-retrieval-plugin)\uff0c\u975e\u4e8b\u52a1\u6027\u5de5\u5177\u4e5f\u79f0\u4e3a\u63d2\u4ef6\u578b\u5de5\u5177\uff0c\u8be5\u5de5\u5177\u53ef\u89c6\u4e3a\u5f00\u653e\u6027\u7684ChatGPT\u63d2\u4ef6\n\n---\n\n\n## \ud83c\udfaf \u8ba1\u5212\n\n<span id=\"plan\"></span>\n\n---\n\n### feature todolist\n\n[\u2713] \u7ed3\u679c\u53ef\u89e3\u91ca\u6027\u8f93\u51fa -> LLM-OS\u7684\u5185\u5fc3\u72ec\u767d \n[\u2713] \u4e00\u4e2a\u524d\u7aefdemo -> LLM-OS \n[\u2713] \u957f\u6587\u672c\u573a\u666f -> summary\u5de5\u5177 \n[\u2713] \u957f\u5de5\u5177\u987a\u5e8f\u63a7\u5236 -> \u5b9e\u73b0\u4e86toolintool\u673a\u5236 \n[\u2713] \u7c92\u5ea6\u914d\u7f6e -> \u6bcf\u4e2atool\u5c01\u88c5\u7684LLM\u53ef\u72ec\u7acb\u914d\u7f6e \n[\u25cb] tokens\u8ba1\u7b97\uff0c\u7cbe\u786e\u7ba1\u7406 \n[\u25cb] gpt_index\u957f\u6587\u672c(pdf\u3001html)\u68c0\u7d22 \n[\u25cb] \u63a5\u53e3\u5e76\u53d1\u652f\u6301 \n[\u25cb] \u63a5\u5165\u56fd\u5185LLM \n[\u25cb] \u517c\u5bb9\u4e0d\u4f7f\u7528tool\u7684\u573a\u666f \n[\u25cb] \u4e92\u65a5tool\u63a7\u5236 \n[\u25cb] subtree \u52a8\u6001\u6ce8\u518c&\u53cd\u6ce8\u518c \n[\u25cb] \u5de5\u5177\u4e2d\u65ad \n[\u25cb] \u5b9a\u65f6\u8c03\u5ea6 \n[\u25cb] \u8bed\u97f3\u8f93\u5165\u3001\u8f93\u51fa \n\n### tool todolist \n\n[\u25cb] stable-diffusion \u4e2d\u6587prompt\u7ffb\u8bd1 \n[\u2713] ImageCaptioning \n[\u25cb] \u5c0f\u7c73\u667a\u80fd\u5bb6\u5c45\u63a7\u5236 \n[\u25cb] \u652f\u6301ChatGPT\u5b98\u65b9\u63d2\u4ef6 \n[\u25cb] \u8ba9LLM\u6765\u5b9e\u73b0tool \n[\u25cb] \u652f\u6301\u56fe\u7247\u5904\u7406\u5de5\u5177 \n[\u25cb] \u652f\u6301\u89c6\u9891\u5904\u7406\u5de5\u5177 \n[\u2717] Wechat \n\n## \u5de5\u5177\u5f00\u53d1\u6307\u5357\n\n---\n\n\u76ee\u524d\u5de5\u5177\u5206\u4e3a\u4e24\u7c7b\uff1a\u4e8b\u52a1\u578b\u5de5\u5177\u3001\u63d2\u4ef6\u578b\u5de5\u5177 \n\n[\u5de5\u5177\u5f00\u53d1\u6559\u7a0b](./docs/tool_development_guide.md)\n\n## \u80cc\u666f\n\n\u6211\u5c06\u5f88\u5feb\u66f4\u65b0\u8fd9\u90e8\u5206\u5185\u5bb9 \n\n---\n\n## \u2615 \u5ba3\u4f20\n\n#### \u5982\u679c\u4f60\u60f3\u652f\u6301\u672c\u9879\u76ee\uff0c\u6b22\u8fce\u7ed9\u9879\u76ee\u70b9\u4e2astar\u3001\u63d0issue\u548cpr\n#### \u5982\u679c\u4f60\u60f3\u8fdb\u4e00\u6b65\u652f\u6301\u9879\u76ee\u4f5c\u8005\u5c11\u6389\u5934\u53d1\uff0c\u52aa\u529b\u5f00\u53d1\uff0c\u53ef\u4ee5\u7ed9\u548c\u6211\u4e00\u8d77\u5f00\u53d1\u9879\u76ee\u7684\u4f19\u4f34 \u6216 \u5355\u72ec\u7ed9\u6211\u6765\u676f \u2615\n\n---\n\n## \u611f\u8c22\n\n\u611f\u8c22\u4ee5\u4e0b\u9879\u76ee\u5bf9\u672c\u9879\u76ee\u63d0\u4f9b\u7684\u6709\u529b\u652f\u6301\uff1a\n\n#### 1. [langchain](https://github.com/hwchase17/langchain) \n\n\u53d7langchain\u7684\u542f\u53d1\uff0c\u672c\u9879\u76ee\u91cd\u5199\u4e86langchain v0.0.123 \u5de5\u5177\u6709\u5173\u7684\u5b9e\u73b0\n\n#### 2. [Auto-GPT](https://github.com/Significant-Gravitas/Auto-GPT)\n\n\u542f\u53d1\u4e86browser tool\u8de8\u5e73\u53f0\u7684\u5b9e\u73b0\u3001tool engine\u7684json\u901a\u4fe1\u3001\u90e8\u5206prompt\u63cf\u8ff0\n\n#### 3. [chatgpt-in-terminal](https://github.com/xiaoxx970/chatgpt-in-terminal)\n\nllm-os demo \u6539\u5199\u81ea\u8be5\u9879\u76ee\n\n---\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An open-source chatgpt tool ecosystem where you can combine tools with chatgpt and use natural language to do anything.",
"version": "0.5.0",
"project_urls": {
"Homepage": "https://github.com/goldfishh/chatgpt-tool-hub"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "194fb0ec49d42cccbf24969da7cfa1e227f516cb8deb4327588a6e24234ec67c",
"md5": "febc292b7e858e914349d27cb36829fd",
"sha256": "7ce57f0c8fb75c66be8dd91781292f3942b4e8980365d45ba3fd3dc8ba90ca23"
},
"downloads": -1,
"filename": "chatgpt_tool_hub-0.5.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "febc292b7e858e914349d27cb36829fd",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 151636,
"upload_time": "2024-01-16T15:38:55",
"upload_time_iso_8601": "2024-01-16T15:38:55.882244Z",
"url": "https://files.pythonhosted.org/packages/19/4f/b0ec49d42cccbf24969da7cfa1e227f516cb8deb4327588a6e24234ec67c/chatgpt_tool_hub-0.5.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "646007daa0a9c82250db6e61d9e935d49fb328dba6351ba3d485deac02a9e2d4",
"md5": "b0d7b219d50c944545b347c8fab1f04c",
"sha256": "14cb35c34614d37047e9a3258a55d0ba0530f66dec2946bcc63490eb9f876bec"
},
"downloads": -1,
"filename": "chatgpt-tool-hub-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "b0d7b219d50c944545b347c8fab1f04c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 106928,
"upload_time": "2024-01-16T15:38:58",
"upload_time_iso_8601": "2024-01-16T15:38:58.461902Z",
"url": "https://files.pythonhosted.org/packages/64/60/07daa0a9c82250db6e61d9e935d49fb328dba6351ba3d485deac02a9e2d4/chatgpt-tool-hub-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-16 15:38:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "goldfishh",
"github_project": "chatgpt-tool-hub",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pyyaml",
"specs": [
[
"~=",
"6.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
"~=",
"2.5.3"
]
]
},
{
"name": "rich",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "openai",
"specs": [
[
"~=",
"0.27.8"
]
]
},
{
"name": "tenacity",
"specs": [
[
"~=",
"8.2.2"
]
]
},
{
"name": "tiktoken",
"specs": [
[
"~=",
"0.4.0"
]
]
},
{
"name": "arxiv",
"specs": []
},
{
"name": "pyopenssl",
"specs": []
},
{
"name": "azure-cognitiveservices-speech",
"specs": []
},
{
"name": "langid",
"specs": []
},
{
"name": "dashscope",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "lxml",
"specs": []
},
{
"name": "beautifulsoup4",
"specs": [
[
"~=",
"4.12.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
"~=",
"3.8.6"
]
]
},
{
"name": "qrcode",
"specs": []
},
{
"name": "pyqrcode",
"specs": []
},
{
"name": "pillow",
"specs": []
},
{
"name": "wikipedia",
"specs": []
},
{
"name": "wolframalpha",
"specs": []
}
],
"lcname": "chatgpt-tool-hub"
}