Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计异常

vision-language-models视觉语言模型

Agent Skill

vision-language-models 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

318

周安装

13

GitHub Stars

160

下载量

102
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vision-language-models(视觉语言模型)
来源仓库:https://github.com/yonatangross/orchestkit
仓库路径:skills/vision-language-models
安装命令:
npx skills add https://github.com/yonatangross/orchestkit --skill vision-language-models
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/yonatangross/orchestkit --skill vision-language-models

简介

vision-language-models 整合视觉与语言处理能力,适合多模态问答、文档理解或智能检索任务。

  • 适用于研究检索类场景,可在 Codex、Claude 等宿主中快速定位图文混合信息。
  • 通过 npx skills add 从 OrchestKit 仓库安装,支持本地与云端模型协同运行。
  • 需注意其可能调用外部 LLM 服务,建议配置 API 密钥并监控调用频率限制。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Vision Language Models ()

Integrate vision capabilities from leading multimodal models for image understanding, document analysis, and visual reasoning.

Overview

  • Image captioning and description generation
  • Visual question answering (VQA)
  • Document/chart/diagram analysis with OCR
  • Multi-image comparison and reasoning
  • Bounding box detection and region analysis
  • Video frame analysis

Model Comparison (January)

ModelContextStrengthsVision Input
GPT-5.2128KBest general reasoning, multimodalUp to 10 images
Claude Opus 4.61MBest coding, sustained agent tasks, adaptive thinkingUp to 100 images
Gemini 2.5 Pro1M+Longest context, video analysis3,600 images max
Gemini 3 Pro1MDeep Think, 100% AIME 2025Enhanced segmentation
Grok 42MReal-time X integration, DeepSearchImages + upcoming video

Image Input Methods

Base64 Encoding (All Providers)

import base64
import mimetypes

def encode_image_base64(image_path: str) -> tuple[str, str]:
    """Encode local image to base64 with MIME type."""
    mime_type, _ = mimetypes.guess_type(image_path)
    mime_type = mime_type or "image/png"

    with open(image_path, "rb") as f:
        base64_data = base64.standard_b64encode(f.read()).decode("utf-8")

    return base64_data, mime_type

OpenAI GPT-5/4o Vision

from openai import OpenAI

client = OpenAI()

def analyze_image_openai(image_path: str, prompt: str) -> str:
    """Analyze image using GPT-5 or GPT-4o."""
    base64_data, mime_type = encode_image_base64(image_path)

    response = client.chat.completions.create(
        model="gpt-5.2",  # or "gpt-4.1" for cost optimization
        messages=[{
            "role": "user",
            "content": [
                {"type": "text", "text": prompt},
                {"type": "image_url", "image_url": {
                    "url": f"data:{mime_type};base64,{base64_data}",
                    "detail": "high"  # low, high, or auto
                }}
            ]
        }],
        max_tokens=4096  # Required for vision
    )
    return response.choices[0].message.content

Claude 4.5 Vision (Anthropic)

import anthropic

client = anthropic.Anthropic()

def analyze_image_claude(image_path: str, prompt: str) -> str:
    """Analyze image using Claude Opus 4.6 or Sonnet 4.5."""
    base64_data, media_type = encode_image_base64(image_path)

    response = client.messages.create(
        model="claude-opus-4-6",  # or claude-sonnet-4-5
        max_tokens=4096,
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": base64_data
                    }
                },
                {"type": "text", "text": prompt}
            ]
        }]
    )
    return response.content[0].text

Gemini 2.5/3 Vision (Google)

import google.generativeai as genai
from PIL import Image

genai.configure(api_key="YOUR_API_KEY")

def analyze_image_gemini(image_path: str, prompt: str) -> str:
    """Analyze image using Gemini 2.5 Pro or Gemini 3."""
    model = genai.GenerativeModel("gemini-2.5-pro")  # or gemini-3-pro

    image = Image.open(image_path)

    response = model.generate_content([prompt, image])
    return response.text

# For video analysis (Gemini excels here)
def analyze_video_gemini(video_path: str, prompt: str) -> str:
    """Analyze video using Gemini's native video support."""
    model = genai.GenerativeModel("gemini-2.5-pro")

    video_file = genai.upload_file(video_path)

    response = model.generate_content([prompt, video_file])
    return response.text

Grok 4 Vision (xAI)

from openai import OpenAI  # Grok uses OpenAI-compatible API

client = OpenAI(
    api_key="YOUR_XAI_API_KEY",
    base_url="https://api.x.ai/v1"
)

def analyze_image_grok(image_path: str, prompt: str) -> str:
    """Analyze image using Grok 4 with real-time capabilities."""
    base64_data, mime_type = encode_image_base64(image_path)

    response = client.chat.completions.create(
        model="grok-4",  # or grok-2-vision-1212
        messages=[{
            "role": "user",
            "content": [
                {"type": "text", "text": prompt},
                {"type": "image_url", "image_url": {
                    "url": f"data:{mime_type};base64,{base64_data}"
                }}
            ]
        }]
    )
    return response.choices[0].message.content

Multi-Image Analysis

async def compare_images(images: list[str], prompt: str) -> str:
    """Compare multiple images (Claude supports up to 100)."""
    content = []

    for img_path in images:
        base64_data, media_type = encode_image_base64(img_path)
        content.append({
            "type": "image",
            "source": {
                "type": "base64",
                "media_type": media_type,
                "data": base64_data
            }
        })

    content.append({"type": "text", "text": prompt})

    response = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=8192,
        messages=[{"role": "user", "content": content}]
    )
    return response.content[0].text

Object Detection (Gemini 2.5+)

def detect_objects_gemini(image_path: str) -> list[dict]:
    """Detect objects with bounding boxes using Gemini 2.5+."""
    model = genai.GenerativeModel("gemini-2.5-pro")
    image = Image.open(image_path)

    response = model.generate_content([
        "Detect all objects in this image. Return bounding boxes "
        "as JSON with format: {objects: [{label, box: [x1,y1,x2,y2]}]}",
        image
    ])

    import json
    return json.loads(response.text)

Token Cost Optimization

ProviderDetail LevelCost Impact
OpenAIlow (65 tokens)Use for classification
OpenAIhigh (129+ tokens/tile)Use for OCR/charts
Gemini258 tokens baseScales with resolution
ClaudePer-image pricingBatch for efficiency
# Cost-optimized simple classification
response = client.chat.completions.create(
    model="gpt-5.2-mini",  # Cheaper for simple tasks
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Is there a person? Reply: yes/no"},
            {"type": "image_url", "image_url": {
                "url": image_url,
                "detail": "low"  # Minimal tokens
            }}
        ]
    }]
)

Image Size Limits ()

ProviderMax SizeMax ImagesNotes
OpenAI20MB10/requestGPT-5 series
Claude8000x8000 px100/request2000px if >20 images
Gemini20MB3,600/requestBest for batch
Grok20MBLimitedGrok 5 expands this

Key Decisions

DecisionRecommendation
High accuracyClaude Opus 4.6 or GPT-5
Long documentsGemini 2.5 Pro (1M context)
Cost efficiencyGemini 2.5 Flash ($0.15/M tokens)
Real-time/X dataGrok 4 with DeepSearch
Video analysisGemini 2.5/3 Pro (native)

Common Mistakes

  • Not setting max_tokens (responses truncated)
  • Sending oversized images (resize to 2048px max)
  • Using high detail for yes/no questions
  • Not validating image format before encoding
  • Ignoring rate limits on vision endpoints
  • Using deprecated models (GPT-4V retired)

Limitations

  • Cannot identify specific people (privacy restriction)
  • May hallucinate on low-quality/rotated images (<200px)
  • GPT-5: may struggle with precise spatial reasoning on edge cases
  • No real-time video (use frame extraction except Gemini)

Related Skills

  • audio-language-models - Audio/speech processing
  • multimodal-rag - Image + text retrieval
  • llm-streaming - Streaming vision responses

Capability Details

image-captioning

Keywords: caption, describe, image description, alt text, accessibility Solves:

  • Generate descriptive captions for images
  • Create accessibility alt text
  • Extract visual content summary

visual-qa

Keywords: VQA, visual question, image question, analyze image Solves:

  • Answer questions about image content
  • Extract specific information from visuals
  • Reason about image elements

document-vision

Keywords: document, PDF, chart, diagram, OCR, extract, table Solves:

  • Extract text from documents and charts
  • Analyze diagrams and flowcharts
  • Process forms and tables with structure

Claude Code PDF Handling (CC 2.1.30+)

Read Tool Pages Parameter

For large PDFs (>10 pages), use the pages parameter to read specific ranges:

# Read first 5 pages of a large PDF
Read(file_path="/path/to/document.pdf", pages="1-5")

# Read specific page
Read(file_path="/path/to/document.pdf", pages="10")

# Read range in middle
Read(file_path="/path/to/document.pdf", pages="15-25")

Large PDF Strategy

For documents >100 pages, process incrementally:

# 1. Initial scan - read first pages for structure
Read(file_path=pdf_path, pages="1-5")

# 2. Identify key sections from TOC/headers
# 3. Read relevant sections
Read(file_path=pdf_path, pages="45-55")  # e.g., "Implementation" section

# 4. Process remaining sections as needed
Read(file_path=pdf_path, pages="80-90")  # e.g., "Appendix" section

Limits

ConstraintValue
Max pages per request20
Max file size20MB
Large PDF threshold>10 pages (returns lightweight reference if @ mentioned)

multi-image-analysis

Keywords: compare images, multiple images, image comparison, batch Solves:

  • Compare visual elements across images
  • Track changes between versions
  • Analyze image sequences

object-detection

Keywords: bounding box, detect objects, locate, segmentation Solves:

  • Detect and locate objects in images
  • Generate bounding box coordinates
  • Segment image regions (Gemini 2.5+)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

25.39%
按下载量换算26

windsurf

24.14%
按下载量换算25

trae

15.73%
按下载量换算16

OpenCode

12.64%
按下载量换算13

Codex

8.44%
按下载量换算9

Antigravity

3.13%
按下载量换算3

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills