大致思路

利用chatgpt做任务规划,调用huggingface中的各种人工智能模型做具体的操作(工具调用),最终统筹概括给一个明确的结果到用户。

关键点在于如何构建chaotgpt和AI模型的桥梁。
进一步思路是将众多的模型如何应用的描述总结成prompt给到大模型,这个工作量重到令人绝望。
但是发现可以用LLM去公众ML社区上找高质量的模型描述,以及模型如何使用。

整个问题分为四个阶段

  1. 任务规划
  2. 模型选择
  3. 任务执行
  4. 生成反馈

\<img alt="" data-attachment-key="JQQS972P" width="915" height="527" src="JQQS972P.png" ztype="zimage">

任务规划阶段

任务解析有四个slot,任务类型,任务ID,任务依赖,任务参数。

ID:唯一标识
类型:描述这是怎样的任务
依赖:前置任务的完成情况
参数:根据任务类型有不同的输入如文本,图片和音频等。
\<img alt="" data-attachment-key="EX7FZZFG" width="910" height="310" src="EX7FZZFG.png" ztype="zimage">

任务示例:“please generate an image where a girl is reading a book, and her pose is the same as the boy in the image example.jpg. Then please describe the new image with your voice.”
\<img alt="" data-attachment-key="9HKSQL9B" width="801" height="797" src="9HKSQL9B.png" ztype="zimage">

模型选择

首先从HuggedFace Hub中获取专家模型的描述,然后通过In-Context Task-Model Assignment(语境任务模型分配机制)为任务动态选择模型。

将当前任务可用的模型在prompt中给出,然而,由于最大上下文长度的限制,提示中并不总能包含所有相关的模型信息。
所以只选择与当前任务相关的模型,以及在剩余模型中选择Hugging Face上下载量前十的模型,放提示词中。

任务执行

混合推理端点:本地模型推理和Hugging Face远程模型推理结合。本地模型推理覆盖模型少但推理快,远程模型覆盖模型多但推理慢
本地模型推理优先,当本地没有保存模型的时候远程去HF上找

\<img alt="" data-attachment-key="4Z4GKTS9" width="704" height="791" src="4Z4GKTS9.png" ztype="zimage">

\<img alt="" data-attachment-key="767EKBBD" width="706" height="794" src="767EKBBD.png" ztype="zimage">

\<img alt="" data-attachment-key="IVLZCBQ2" width="592" height="753" src="IVLZCBQ2.png" ztype="zimage">

Referred in Agent