110 个 Agent Skills 盘点(十一):AI/ML 专用技能

写在前面
这是「110 个 Agent Skills 盘点」系列的特别篇。前面十篇覆盖了代码、数据、浏览器、搜索、云、知识、协作、文档、通信、可视化,这一篇聚焦最前沿的领域:AI/ML 专用技能。
如果说前面的 Skills 让 Agent 能”做事”,那 AI/ML Skills 让 Agent 能”思考”和”创造”——调用大模型、生成图片、识别语音、运行本地模型。
AI/ML Skills = Agent 的”大脑升级”。
1. HuggingFace MCP Server 🤗
类别: AI 模型平台 协议: MCP
HuggingFace 是 AI 领域的 GitHub,拥有数十万个预训练模型。Agent 通过 HuggingFace MCP 可以直接调用各种 AI 模型。
能力说明:
- 模型搜索和下载
- 推理 API 调用
- 数据集访问
- 模型评估
- Spaces 应用部署
Agent 使用场景:
# Agent 使用 HuggingFace 推理 APIimport requests
def analyze_sentiment(text): """使用 HuggingFace 模型进行情感分析""" API_URL = "https://api-inference.huggingface.co/models/finiteautomata/bertweet-base-sentiment-analysis" headers = {"Authorization": f"Bearer {HF_TOKEN}"}
response = requests.post(API_URL, headers=headers, json={"inputs": text}) result = response.json()
return { "label": result[0][0]["label"], "score": result[0][0]["score"] }
# Agent 批量分析用户评论def analyze_reviews(reviews): results = [] for review in reviews: sentiment = analyze_sentiment(review["text"]) results.append({ "review": review["text"][:50], "sentiment": sentiment["label"], "confidence": f"{sentiment['score']:.2%}" }) return results// Agent 使用 HuggingFace 搜索模型async function findBestModel(task, language) { const models = await huggingface.searchModels({ task: task, // e.g., "text-classification" language: language, // e.g., "zh" sort: "downloads", limit: 5 });
return models.map(m => ({ name: m.id, downloads: m.downloads, likes: m.likes, description: m.description }));}典型指令:
在 HuggingFace 上搜索适合中文文本分类的模型,按下载量排序,列出前 5 个并比较它们的优缺点。2. OpenAI API 集成 🧠
类别: 大语言模型 协议: REST API
OpenAI 的 GPT 系列是最广泛使用的大语言模型。Agent 可以通过 API 调用 GPT-4o、GPT-4 等模型完成各种任务。
能力说明:
- 文本生成和补全
- 多轮对话
- Function Calling
- Vision(图像理解)
- JSON Mode
Agent 使用场景:
# Agent 使用 OpenAI API 进行复杂推理from openai import OpenAI
client = OpenAI()
def analyze_contract(contract_text): """使用 GPT-4 分析合同条款""" response = client.chat.completions.create( model="gpt-4o", response_format={"type": "json_object"}, messages=[ { "role": "system", "content": "你是一个专业的法律顾问,擅长分析合同条款。请以 JSON 格式返回分析结果。" }, { "role": "user", "content": f"""分析以下合同,提取关键信息:
{contract_text}
返回格式:{{ "parties": ["甲方", "乙方"], "duration": "合同期限", "amount": "金额", "risks": ["风险点1", "风险点2"], "suggestions": ["建议1", "建议2"]}}""" } ] )
return json.loads(response.choices[0].message.content)// Agent 使用 Function Calling 调用工具const response = await openai.chat.completions.create({ model: "gpt-4o", messages: [{ role: "user", content: "帮我查一下北京今天的天气" }], tools: [{ type: "function", function: { name: "get_weather", description: "获取指定城市的天气信息", parameters: { type: "object", properties: { city: { type: "string", description: "城市名称" }, date: { type: "string", description: "日期,格式 YYYY-MM-DD" } }, required: ["city"] } } }]});典型指令:
用 GPT-4o 分析这份财务报告,提取关键指标,识别潜在风险,生成一份结构化的分析报告。3. 本地模型运行 (Ollama) 🖥️
类别: 本地推理 适用工具: Ollama / LM Studio / llama.cpp
本地模型让 Agent 能在不依赖云服务的情况下运行 AI 模型,保护隐私,降低成本。
能力说明:
- 模型下载和管理
- 本地推理
- API 兼容(OpenAI 格式)
- 多模型切换
- GPU 加速
Agent 使用场景:
# Agent 使用 Ollama 运行本地模型import requests
def local_chat(prompt, model="llama3"): """使用本地 Ollama 模型""" response = requests.post("http://localhost:11434/api/generate", json={ "model": model, "prompt": prompt, "stream": False })
return response.json()["response"]
# Agent 用本地模型处理敏感数据def analyze_private_data(data): # 敏感数据不发送到云端 prompt = f"""分析以下内部数据,找出异常模式:
{data}
请用中文回答,列出发现的问题。""" return local_chat(prompt)# Agent 管理本地模型# 下载模型ollama pull llama3ollama pull codellamaollama pull mistral
# 列出已安装模型ollama list
# 运行模型ollama run llama3 "解释什么是 RAG"
# 使用 APIcurl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt": "为什么天空是蓝色的?"}'典型指令:
用 Ollama 在本地运行 Llama3 模型,分析这份包含用户个人信息的数据,确保数据不会发送到外部服务器。4. 图像生成 (DALL-E/Stable Diffusion) 🎨
类别: AI 图像生成 适用工具: DALL-E API / Stable Diffusion / Midjourney API
图像生成让 Agent 能从文字描述创建图片,用于设计、营销、创意等场景。
能力说明:
- 文生图(Text-to-Image)
- 图像编辑(Inpainting)
- 风格迁移
- 图像变体
- 高分辨率生成
Agent 使用场景:
# Agent 使用 DALL-E 生成产品图from openai import OpenAI
client = OpenAI()
def generate_product_image(product_name, style, background): """生成产品营销图片""" prompt = f"""一张专业的{product_name}产品照片, {style}风格,{background}背景, 高品质,商业摄影,8K 分辨率"""
response = client.images.generate( model="dall-e-3", prompt=prompt, size="1024x1024", quality="hd", n=1 )
return response.data[0].url
# Agent 批量生成社交媒体配图def generate_social_images(topics): images = [] for topic in topics: url = generate_product_image( product_name=topic["product"], style="现代简约", background="纯色渐变" ) images.append({"topic": topic["title"], "image_url": url}) return images# Agent 使用 Stable Diffusion 本地生成# 通过 API 调用本地 Stable Diffusion WebUIcurl -X POST "http://localhost:7860/sdapi/v1/txt2img" \ -H "Content-Type: application/json" \ -d '{ "prompt": "a beautiful sunset over mountains, oil painting style", "negative_prompt": "blurry, low quality", "steps": 30, "width": 1024, "height": 1024 }'典型指令:
为这篇博客文章生成一张封面图,主题是 "AI Agent 的未来",风格:科技感、蓝色调、未来主义。5. 语音识别与合成 🗣️
类别: 语音处理 适用工具: Whisper / ElevenLabs / Azure Speech
语音技能让 Agent 能”听”和”说”——将语音转为文字,将文字转为语音。
能力说明:
- 语音转文字(STT)
- 文字转语音(TTS)
- 多语言支持
- 说话人识别
- 情感语音
Agent 使用场景:
# Agent 使用 Whisper 进行语音转文字import whisper
def transcribe_audio(audio_path, language="zh"): """将音频转为文字""" model = whisper.load_model("medium") result = model.transcribe(audio_path, language=language)
# 带时间戳的转录 segments = [] for segment in result["segments"]: segments.append({ "start": segment["start"], "end": segment["end"], "text": segment["text"] })
return { "text": result["text"], "segments": segments, "language": result["language"] }
# Agent 生成会议纪要def generate_meeting_minutes(audio_path): # 1. 语音转文字 transcript = transcribe_audio(audio_path)
# 2. 用 LLM 生成纪要 minutes = llm.generate(f""" 根据以下会议转录生成会议纪要:
{transcript['text']}
包含:主题、讨论要点、决议、待办事项。 """)
return {"transcript": transcript, "minutes": minutes}# Agent 使用 ElevenLabs 生成语音import requests
def text_to_speech(text, voice_id="alloy"): """将文字转为语音""" response = requests.post( "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}", headers={"xi-api-key": ELEVENLABS_API_KEY}, json={ "text": text, "model_id": "eleven_multilingual_v2", "voice_settings": { "stability": 0.5, "similarity_boost": 0.75 } } )
with open("output.mp3", "wb") as f: f.write(response.content)
return "output.mp3"典型指令:
把这段 1 小时的会议录音转成文字,识别不同说话人,生成结构化会议纪要,然后把纪要用语音读出来。6. Embedding 模型服务 📐
类别: 文本向量化 适用工具: OpenAI Embedding / Sentence Transformers / Cohere
Embedding 将文本转换为向量表示,是语义搜索、推荐系统、RAG 的基础。
能力说明:
- 文本向量化
- 语义相似度计算
- 批量处理
- 多语言支持
- 维度选择
Agent 使用场景:
# Agent 使用 OpenAI Embeddingfrom openai import OpenAIimport numpy as np
client = OpenAI()
def get_embedding(text, model="text-embedding-3-small"): """获取文本的向量表示""" response = client.embeddings.create( input=text, model=model ) return response.data[0].embedding
def cosine_similarity(vec1, vec2): """计算余弦相似度""" return np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
# Agent 语义搜索def semantic_search(query, documents, top_k=5): """在文档中进行语义搜索""" query_vec = get_embedding(query)
scores = [] for doc in documents: doc_vec = get_embedding(doc["content"]) score = cosine_similarity(query_vec, doc_vec) scores.append({"doc": doc, "score": score})
scores.sort(key=lambda x: x["score"], reverse=True) return scores[:top_k]# Agent 使用 Sentence Transformers 本地 Embeddingfrom sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
def batch_embed(texts): """批量向量化""" embeddings = model.encode(texts, show_progress_bar=True) return embeddings.tolist()典型指令:
用 Embedding 模型对这 1000 篇文章进行向量化,建立语义搜索索引,支持自然语言查询。7. 向量搜索优化 🔍
类别: 向量检索 适用工具: FAISS / Annoy / ScaNN
向量搜索优化让 Agent 能在海量向量中快速找到最相似的结果。
能力说明:
- 近似最近邻搜索(ANN)
- 索引构建和优化
- 内存映射
- 分布式搜索
- 过滤和重排
Agent 使用场景:
# Agent 使用 FAISS 进行高效向量搜索import faissimport numpy as np
def build_index(vectors): """构建 FAISS 索引""" dimension = len(vectors[0]) index = faiss.IndexFlatIP(dimension) # 内积相似度
# 转换为 float32 vectors = np.array(vectors, dtype='float32') faiss.normalize_L2(vectors) # L2 归一化
index.add(vectors) return index
def search(index, query_vector, top_k=10): """搜索最相似的向量""" query = np.array([query_vector], dtype='float32') faiss.normalize_L2(query)
distances, indices = index.search(query, top_k) return list(zip(indices[0], distances[0]))
# Agent 构建百万级向量索引def build_large_index(vectors, index_path): """构建大规模索引""" dimension = len(vectors[0])
# 使用 IVF 索引加速搜索 nlist = 1000 # 聚类数 quantizer = faiss.IndexFlatIP(dimension) index = faiss.IndexIVFFlat(quantizer, dimension, nlist)
# 训练索引 vectors = np.array(vectors, dtype='float32') faiss.normalize_L2(vectors) index.train(vectors) index.add(vectors)
# 保存索引 faiss.write_index(index, index_path) return index典型指令:
用 FAISS 对 100 万条用户行为数据建立向量索引,支持实时相似用户查询,响应时间控制在 10ms 以内。8. 模型微调 🎯
类别: 模型训练 适用工具: HuggingFace Transformers / LoRA / QLoRA
模型微调让 Agent 能根据特定领域数据定制模型,提升专业任务的效果。
能力说明:
- 全参数微调
- LoRA/QLoRA 高效微调
- 数据准备和清洗
- 训练监控
- 模型评估
Agent 使用场景:
# Agent 使用 LoRA 微调模型from transformers import AutoModelForCausalLM, AutoTokenizerfrom peft import LoraConfig, get_peft_modelfrom datasets import load_dataset
def fine_tune_model(base_model, dataset_path, output_dir): """使用 LoRA 微调语言模型""" # 加载基础模型 model = AutoModelForCausalLM.from_pretrained(base_model) tokenizer = AutoTokenizer.from_pretrained(base_model)
# 配置 LoRA lora_config = LoraConfig( r=16, # 秩 lora_alpha=32, target_modules=["q_proj", "v_proj"], lora_dropout=0.05, bias="none", task_type="CAUSAL_LM" )
# 应用 LoRA model = get_peft_model(model, lora_config)
# 加载数据集 dataset = load_dataset("json", data_files=dataset_path)
# 训练配置 training_args = TrainingArguments( output_dir=output_dir, num_train_epochs=3, per_device_train_batch_size=4, gradient_accumulation_steps=4, learning_rate=2e-4, fp16=True, logging_steps=10, save_strategy="epoch" )
# 开始训练 trainer = Trainer( model=model, args=training_args, train_dataset=dataset["train"] )
trainer.train() model.save_pretrained(output_dir)典型指令:
用这 1000 条客服对话数据微调 Llama3 模型,让它能更好地回答我们产品相关的问题,用 LoRA 节省显存。9. AI Agent 框架 🤖
类别: Agent 开发 适用工具: LangChain / LlamaIndex / AutoGen
Agent 框架提供了构建复杂 AI 应用的基础设施——工具调用、记忆管理、任务规划。
能力说明:
- 工具链编排
- 记忆管理
- 任务规划
- 多 Agent 协作
- 链式调用(Chain)
Agent 使用场景:
# Agent 使用 LangChain 构建复杂应用from langchain.agents import AgentExecutor, create_react_agentfrom langchain.tools import Toolfrom langchain_openai import ChatOpenAI
# 定义工具tools = [ Tool(name="搜索", func=search_web, description="搜索互联网"), Tool(name="数据库", func=query_db, description="查询数据库"), Tool(name="计算", func=calculator, description="数学计算"),]
# 创建 Agentllm = ChatOpenAI(model="gpt-4o")agent = create_react_agent(llm, tools, prompt)executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# 运行result = executor.invoke({ "input": "分析最近一个月的销售趋势,找出增长最快的产品"})# Agent 使用 LlamaIndex 构建 RAG 应用from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
# 加载文档documents = SimpleDirectoryReader('./data').load_data()
# 创建索引index = VectorStoreIndex.from_documents(documents)
# 创建查询引擎query_engine = index.as_query_engine()
# 查询response = query_engine.query("这个项目的架构是怎样的?")print(response)典型指令:
用 LangChain 构建一个研究助手 Agent,能搜索互联网、读取论文、生成报告,支持多轮对话和任务规划。10. 多模态理解 👁️
类别: 多模态 AI 适用工具: GPT-4o Vision / Claude Vision / LLaVA
多模态让 Agent 能”看懂”图片——识别内容、提取文字、分析图表。
能力说明:
- 图像理解
- OCR 文字识别
- 图表分析
- 视频理解
- 多模态对话
Agent 使用场景:
# Agent 使用 GPT-4o Vision 分析图片from openai import OpenAI
client = OpenAI()
def analyze_image(image_url, question): """分析图片内容""" response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ {"type": "text", "text": question}, { "type": "image_url", "image_url": {"url": image_url} } ] } ] )
return response.choices[0].message.content
# Agent 分析截图中的 UI 问题def analyze_screenshot(screenshot_path): """分析 UI 截图""" with open(screenshot_path, "rb") as f: image_data = base64.b64encode(f.read()).decode()
result = analyze_image( image_url=f"data:image/png;base64,{image_data}", question="分析这个 UI 截图,找出可能的用户体验问题和改进建议。" )
return result# Agent 使用 Claude Vision 分析文档import anthropic
client = anthropic.Anthropic()
def analyze_document(image_path, question): """分析文档图片""" with open(image_path, "rb") as f: image_data = base64.b64encode(f.read()).decode()
response = client.messages.create( model="claude-3-opus-20240229", max_tokens=1024, messages=[ { "role": "user", "content": [ { "type": "image", "source": { "type": "base64", "media_type": "image/png", "data": image_data } }, { "type": "text", "text": question } ] } ] )
return response.content[0].text典型指令:
分析这张财务报表的截图,提取所有数字,识别趋势和异常,生成一份文字分析报告。本篇小结
| # | Skill | 类别 | 难度 | 价值 |
|---|---|---|---|---|
| 1 | HuggingFace MCP | AI 模型平台 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 2 | OpenAI API | 大语言模型 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 3 | 本地模型 (Ollama) | 本地推理 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 4 | 图像生成 | AI 图像 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 5 | 语音识别合成 | 语音处理 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 6 | Embedding 模型 | 文本向量化 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 7 | 向量搜索优化 | 向量检索 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 8 | 模型微调 | 模型训练 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 9 | AI Agent 框架 | Agent 开发 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 10 | 多模态理解 | 多模态 AI | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
核心观点: AI/ML Skills 是 Agent 的”大脑升级”。一个能调用大模型、生成图片、识别语音、理解多模态的 Agent,才能真正成为”智能助手”,而不只是”自动化脚本”。
系列导航
- 👈 上一篇: 第十篇:创意与可视化
- 📖 完整系列:
- 第一篇:代码审查与质量守护
- 第二篇:数据库与数据存储
- 第三篇:浏览器自动化与爬虫
- 第四篇:搜索与信息获取
- 第五篇:云服务与 DevOps
- 第六篇:知识管理与 RAG
- 第七篇:版本控制与协作
- 第八篇:文档与文件处理
- 第九篇:通信与通知集成
- 第十篇:创意与可视化
- ✅ 第十一篇:AI/ML 专用技能(你在这里)
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!