🤖 Agent Skills 构成与使用指南
1. Skills 的构成
一个标准的 Skill 定义包含以下几个核心部分:
| 组成部分 | 说明 | 状态 |
|---|---|---|
SKILL.md |
核心说明文档,包含元数据(Metadata)和执行步骤。 | ✅ 必选 |
scripts/ |
可执行的脚本文件(如 Python、Node.js 脚本)。 | ⚪ 可选 |
references/ |
参考文档、详细指南或长篇幅的上下文背景。 | ⚪ 可选 |
assets/ |
模板、图片等静态资源文件。 | ⚪ 可选 |
一个标准的 Skill 定义包含以下几个核心部分:
| 组成部分 | 说明 | 状态 |
|---|---|---|
SKILL.md |
核心说明文档,包含元数据(Metadata)和执行步骤。 | ✅ 必选 |
scripts/ |
可执行的脚本文件(如 Python、Node.js 脚本)。 | ⚪ 可选 |
references/ |
参考文档、详细指南或长篇幅的上下文背景。 | ⚪ 可选 |
assets/ |
模板、图片等静态资源文件。 | ⚪ 可选 |
测试代码如下,首先自动抓一个fname字体路径,然后将路径固定写入变量fname
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 1. 自动抓系统里第一个带中文的字体(Win、mac、Linux 都能用)
# fname=sorted(f for f in fm.findSystemFonts()
# if any(k in f.lower() for k in ('simhei', 'microsoft yahei', 'pingfang', 'wenquanyi')))[0]
# print(fname)
fname="/System/Library/AssetsV2/com_apple_MobileAsset_Font7/3419f2a427639ad8c8e139149a287865a90fa17e.asset/AssetData/PingFang.ttc"
zh_font = fm.FontProperties(fname=fname)
# # 2. 正常画图,单独指定字体
# x = [1, 2, 3, 4, 5]
# y = [2, 4, 6, 4, 5]
# plt.plot(x, y, marker='o')
# plt.title("折线图", fontproperties=zh_font)
# plt.xlabel("X轴", fontproperties=zh_font)
# plt.ylabel("Y轴", fontproperties=zh_font)
# plt.grid()
# plt.show()
# 2. 正常画图,全局指定字体
print(zh_font.get_name())
plt.rcParams['font.family'] = zh_font.get_name()
plt.rcParams['axes.unicode_minus'] = False
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 4, 5]
plt.plot(x, y, marker='o')
plt.title("折线图")
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.grid()
plt.show() bypy 安装:pip install bypy
登录:bypy info,运行后命令行会返回一个网址,打开网址登录,得到授权码,返回命令行输入此授权码即可。接下来就可以使用bypy访问百度网盘 “我的应用数据/bypy” 文件夹了。
退出登陆
rm -r ~/.bypy
查看文件列表、下载文件、下载文件夹、上传文件
bypy list
bypy downfile baidu_image1.tar
bypy downdir /aaa /your_path/aaa
bypy syncup xxx
# 或者
bypy upload xxx
本文对多模态大模型中多个视频和图文任务的常见benchmark做了简要介绍,以方便读友看论文时参考。
可参考使用的评测框架有 OpenCompass 提出的 VLMEvalKit 和 llava团队提出的 lmms-eval。
注意:本文信息仍在时常更新中...
PPL是Perplexity的缩写,中文称为"困惑度"。它是一种衡量语言模型性能的指标,常用于评估语言模型在给定测试集上的表现。PPL越低,说明语言模型对测试数据的预测越准确,性能越好。
PPL的计算基于语言模型对测试集的概率估计。给定一个测试集 $W = w_1, w_2, ..., w_N$,其中N是测试集的长度(单词数),语言模型的PPL定义为:
ChatGPT 已经广泛用于各行各业提高工作效率。然而,不同的引导词(prompt)提示下,同一模型的输出结果可能大相径庭,好的prompt能释放模型的潜力,得到更有用的输出。本文提供了一些方法论和常用 prompt 示例。本文持续更新,欢迎在评论区踊跃交流经验~
Open LLM Leaderboard中包含有下列Benchmark:
论文:OneChart: Purify the Chart Structural Extraction via One Auxiliary Token
主页及demo:https://onechartt.github.io/
《论语》中说:“知之为知之,不知为不知,是知也”。从神经网络兴起以来,人们就没有停止过对这种黑盒模型应用在生产环境的担心。在AI 1.0中大部分模型还至少会输出一个置信度得分可供参考;然而对于AI2.0时代的VLMs来说,所有的结果以文本的形式吐出,这加重了人们对模型安全性的焦虑。让模型知道自己的能力边界,不要产生致命错误,这点十分必要,也是目前的难点。
本文对VLM领域的常见数据集做了简要介绍和分类,以方便读友看论文时参考。
本博文将部分数据划分为了粗加工、精加工、套餐数据。其中粗加工一般指数据中的video是作者首次收集的,但由于提出时间较早,当时提供的caption比较简单或粗糙。很多“粗加工”数据中的videos被新的工作使用并提供了更好的caption,被称为“精加工”数据。“套餐数据”则是进一步包含了多个精加工数据。
注意:本文信息仍在时常更新中...
SAM 好比在视网膜层面,能力是很low-level的,举个例子它可以对图片信息进行简单的切分,但它不知道左边的一坨像素和右边的一坨像素是一个品种的狗。DINOv2好比大脑中某块视觉区,好比刚出生不久的婴儿,它是纯视觉的,可以完成视觉层面的目标聚类,知道左边的一坨像素和右边的一坨像素是一种东西,但没有语言系统不知道这种东西叫“金毛犬”。CLIP就是更近一步,实现了视觉和语言的关联,好比5岁的小孩;然而由于数据、训练方式、输入分辨率等原因,CLIP没正经读过书看过图表,所以在做dense OCR任务时Vary自己训了个encoder,在做chart任务时Onechart也自己训了个encoder,好比让小孩上个学。🐶
Vision encoders百花齐放,与decoders相匹配。当decoder是LLM时,需要LLM能看懂的encoder。
论文:Learning Transferable Visual Models From Natural Language Supervision(OpenAI in ICML2021)
如下图所示,将图片和文本描述通过网络都得到768维的Embedding,其中文本编码器使用transformer,图片编码器使用了ResNet和ViT两种结构进行实验,ViT的有4个模型:输入224px 的 ViT-B/32, ViT-B/16 (196 tokens), ViT-L/14 (256 tokens);输入336px的 ViT-L/14 (576 tokens)。预训练使用了400M(4亿)个图像文本对,每个batch采样三万多个这样的配对,通过对比学习,配对的Embedding位置处为1,非配对处为0进行交叉熵损失训练。
在测试时支持zero-shot推理,如下面右图所示:首先分别获得图像和文本的embedding,对提取的embedding进行归一化用来算相似度image_features /= image_features.norm(dim=-1, keepdim=True), text_features /= text_features.norm(dim=-1, keepdim=True)。通过计算图片Embedding和各个候选("a photo of [cls_name]")的相似度,相似度大于某个阈值或者topk的为输出类别结果。
