链接
课程链接:GitHub - InternLM/Tutorial at camp2
github链接:Tutorial/agent/README.md at camp2 · InternLM/Tutorial · GitHub
视频链接:Lagent & AgentLego 智能体应用搭建_哔哩哔哩_bilibili
作业一: 完成 Lagent Web Demo 使用
使用LMDeploy启动7B模型的api_server
lmdeploy serve api_server /home/nros-xiao-2004/internLM/root/models/internlm2-chat-7b \
--server-name 127.0.0.1 \
--model-name internlm2-chat-7b \
--cache-max-entry-count 0.1
启动 Lagent Web Demo
streamlit run internlm2_agent_web_demo.py --server.address 127.0.0.1 --server.port 7860
简单和它聊聊,多截了一点图,证明是我自己做的。
作业二:完成 AgentLego 直接使用部分
下载与安装环境
cd ./root/agentlego
wget http://download.openmmlab.com/agentlego/road.jpg
pip install openmim==0.3.9
mim install mmdet==3.3.0
有脏东西把我的conda环境里吗的pytorch和torchaudio的版本搞乱了,导致在本地运行会出错,这一部分我们还是在开发机中做吧。现在看看如果能少倒腾一些本地环境的事情,说不定我早都做完了。
创建执行文件
import re
import cv2
from agentlego.apis import load_tool
# load tool
tool = load_tool('ObjectDetection', device='cuda')
# apply tool
visualization = tool('/root/agent/road.jpg')
print(visualization)
# visualize
image = cv2.imread('/root/agent/road.jpg')
preds = visualization.split('\n')
pattern = r'(\w+) \((\d+), (\d+), (\d+), (\d+)\), score (\d+)'
for pred in preds:
name, x1, y1, x2, y2, score = re.match(pattern, pred).groups()
x1, y1, x2, y2, score = int(x1), int(y1), int(x2), int(y2), int(score)
cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 1)
cv2.putText(image, f'{name} {score}', (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 1)
cv2.imwrite('/root/agent/road_detection_direct.jpg', image)
很顺利,在开发机里真的太好操作了。