Skip to content

MSJavaScript/adk-custom-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个用于google-adk的自定义UI

这是一个自定义的google-adk的UI,主要用于项目PFD_Agent。代码主要受到adk-made-simple项目的启发。目前实现的功能是与agent进行简单交互并进行数据的可视化。extxyz文件的下载还有点问题。需要再调试。

目前程序的架构是使用一个FastAPI程序作为中间层,前端网页通过中间层与agent交互。中间层负责处理agent返回的数据并完成一些前端需要的数据后处理(例如把ase db文件中的结构转化成cif字符串,然后传到前端)。这里设计的原则是中间层是无状态的,即它只负责通信,不存储任何用户信息从而不需要管理session。

为了在生产环境中使用还需要实现的功能有:

  • 对agent返回的内容进行过滤。agent目前会返回文件在后端的绝对路径,这属于敏感信息。
  • 计算任务的实时监控功能。
  • ...

运行方式:

先运行agent。其他操作步骤不变,只是把adk web改成

adk api_server --allow_origins="http://localhost:3000"

其中http://localhost:3000换成UI运行的地址。然后再运行UI

python main.py \
  --port=UI的端口,默认3000 \
  --host=UI运行的host,默认localhost \
  --base_url=agent运行的url,默认为http://127.0.0.1:8000 \
  --app_name=agent的名称,默认为MatCreator

最后在浏览器中输入http://localhost:3000即可打开网页。

对于开发者:

做这个UI最难的是不知道怎样和agent通信。这里介绍一种方法。把agent以adk web的方式运行后打开网页(假设是谷歌浏览器)。按F12打开开发者工具。在网络选项卡中点击重新加载网页,此时会显示浏览器与服务器(即后端)进行的所有请求。点击选择任意一项可以看到请求的详细信息。右击快捷菜单的复制选项中有以cURL形式复制、fetch形式复制等各种选项。选择其中一种粘贴到AI中让它帮你写对应的代码即可。

About

A custom UI for google adk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published