AI之JARVIS:JARVIS(连接众多 AI 模型以解决复杂 AI 任务的接口/可理解为一种超智能AI模型管家,正开发中)的简介、安装、使用方法之详细攻略
目录
JARVIS(一种超智能AI模型管家)的简介
JARVIS(一种超智能AI模型管家)的安装
1、硬件要求
2、获取Key
3、通过 Web API 访问 Jarvis 的服务
JARVIS(一种超智能AI模型管家)的使用方法
1、Hugging GPT
JARVIS(一种超智能AI模型管家)的简介
语言作为 LLM 连接众多 AI 模型以解决复杂 AI 任务的接口。JARVIS(引入了一个协作系统,该系统由作为控制器的 LLM和作为协作执行者的众多专家模型组成(来自 HuggingFace Hub)。JARVIS(系统的工作流程包括四个阶段:
- 任务规划:使用ChatGPT分析用户的请求,了解他们的意图,并将其拆解成可能的可解决任务。
- 模型选择:为解决计划任务,ChatGPT 根据描述选择托管在 Hugging Face 上的专家模型。
- 任务执行:调用并执行每个选定的模型,并将结果返回给 ChatGPT。
- Response Generation : 最后使用ChatGPT整合所有模型的预测,生成response。
GitHub:GitHub - microsoft/JARVIS: JARVIS, a system to connect LLMs with ML community. Paper: https://arxiv.org/pdf/2303.17580.pdf
官方论文:https://arxiv.org/abs/2303.17580
JARVIS(一种超智能AI模型管家)的安装
1、硬件要求
For config.yaml
:
- Ubuntu 16.04 LTS
- 显存VRAM >= 24GB
- RAM > 12GB (minimal), 16GB (standard), 80GB (full)
- 磁盘 Disk > 284GB
- 42GB for
damo-vilab/text-to-video-ms-1.7b
- 126GB for
ControlNet
- 66GB for
stable-diffusion-v1-5
- 50GB for others
- 42GB for
该配置lite.yaml
不需要在本地下载和部署任何专家模型。然而,这意味着 Jarvis 仅限于在 HuggingFace Inference Endpoints 上稳定运行的模型。
2、获取Key
首先用你个人的 OpenAI Key和你的 Hugging Face Tokenopenai.key
替换and huggingface.token
in ,或者把它们放到环境变量里。然后运行以下命令:server/config.yaml
OPENAI_API_KEY
HUGGINGFACE_ACCESS_TOKEN
# setup env
cd server
conda create -n jarvis python=3.8
conda activate jarvis
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements.txt# download models. Make sure that `git-lfs` is installed.
cd models
bash download.sh # required when `inference_mode` is `local` or `hybrid`. # run server
cd ..
python models_server.py --config config.yaml # required when `inference_mode` is `local` or `hybrid`
python awesome_chat.py --config config.yaml --mode server # for text-davinci-003
3、通过 Web API 访问 Jarvis 的服务
/hugginggpt
--methodPOST
,访问完整的服务。/tasks
--methodPOST
,访问阶段 #1 的中间结果。/results
--methodPOST
,访问阶段 #1-3 的中间结果。
# request
curl --location 'http://localhost:8004/tasks' \
--header 'Content-Type: application/json' \
--data '{"messages": [{"role": "user","content": "based on pose of /examples/d.jpg and content of /examples/e.jpg, please show me a new image"}]
}'# response
[{"args":{"image":"/examples/d.jpg"},"dep":[-1],"id":0,"task":"openpose-control"},{"args":{"image":"/examples/e.jpg"},"dep":[-1],"id":1,"task":"image-to-text"},{"args":{"image":"<GENERATED>-0","text":"<GENERATED>-1"},"dep":[1,0],"id":2,"task":"openpose-text-to-image"}]
JARVIS(一种超智能AI模型管家)的使用方法
1、Hugging GPT