用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/yanacuti1121/Yana-AI --skill outlines命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Sovereign-grade safety OS for AI coding agents. 62 hooks, 2,025 skills, L1 memory, circuit breakers, and cross-engine enforcement — blocks rm -rf, force push, pipe-to-shell, and 40+ attack vectors before they reach your repo.
Use when the user wants to generate or keep repository documentation up to date via OpenWiki (langchain-ai/openwiki) — an LLM-driven CLI that writes a wiki for a codebase (or a personal knowledge base from Notion/Gmail/Slack/X/web search) and keeps it fresh via a scheduled CI pull request. Examples: "set up OpenWiki for this repo", "keep the docs updated automatically", "generate an agent wiki".
Use when implementing the core AR pipeline (camera pose estimation, marker tracking, projection overlay) from first principles — not when just using ARKit/ARCore/Unity's AR framework as a black box. Triggers on: 'build augmented reality from scratch', 'marker-based AR tracking', 'camera pose estimation', 'implement fiducial marker detection', 'AR projection matrix math', 'markerless AR tracking'. Covers marker-based vs markerless tracking, pose estimation, and the projection math to overlay 3D content on a camera feed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | outlines |
| description | Outlines — structured generation with guaranteed JSON/regex output from local LLMs |
| triggers | ["outlines","structured generation","guaranteed json llm","outlines library","json schema generation llm","regex constrained generation","outlines pydantic","llm structured output local","outlines vllm","outlines transformers"] |
| do_not_use_for | ["cloud API structured output — use claude response_format or openai json_mode","evaluation — use ragas/deepeval","prompt management — use langfuse/portkey"] |
| see_also | ["pydantic-ai","dspy","ollama-patterns","vllm-paged-attention"] |
from outlines import models, generate
from pydantic import BaseModel, Field
from typing import Literal
class Character(BaseModel):
name: str
age: int = Field(ge=0, le=150)
profession: Literal["warrior", "mage", "rogue"]
backstory: str = Field(max_length=200)
# Load model (HuggingFace transformers)
model = models.transformers("meta-llama/Llama-3.2-3B-Instruct")
# Generator guaranteed to return valid Character JSON
generator = generate.json(model, Character)
character = generator("Create a fantasy character")
print(character.name, character.profession) # typed Python object
print(type(character)) # <class 'Character'>
import outlines
model = models.transformers("Qwen/Qwen2.5-1.5B-Instruct")
# Date pattern — only valid date formats generated
date_gen = generate.regex(model, r"\d{4}-\d{2}-\d{2}")
date = date_gen("What is today's date?")
print(date) # "2024-11-15"
# Phone number
phone_gen = generate.regex(model, r"\+1-\d{3}-\d{3}-\d{4}")
phone = phone_gen("Generate a US phone number")
# Semantic version
semver_gen = generate.regex(model, r"\d+\.\d+\.\d+")
version = semver_gen("What version should we release?")
# Force model to pick from a fixed set of options
sentiment_gen = generate.choice(model, ["positive", "negative", "neutral"])
result = sentiment_gen("Classify: 'This product is amazing!'")
print(result) # always exactly "positive", "negative", or "neutral"
# Type-enforced choice
integer_gen = generate.choice(model, [1, 2, 3, 4, 5])
rating = integer_gen("Rate this 1-5")
print(type(rating)) # int
schema = {
"type": "object",
"properties": {
"title": {"type": "string"},
"summary": {"type": "string", "maxLength": 100},
"sentiment": {"type": "string", "enum": ["positive", "negative", "neutral"]},
"confidence": {"type": "number", "minimum": 0, "maximum": 1},
},
"required": ["title", "summary", "sentiment", "confidence"],
}
import json
gen = generate.json(model, json.dumps(schema))
result = gen("Analyze this news article: ...")
from outlines.generate import json as gen_json
generator = gen_json(model, Character)
# Generate multiple at once
prompts = [
"Create a warrior character",
"Create a mage character",
"Create a rogue character",
]
characters = generator(prompts) # List[Character]
for c in characters:
print(c.name, c.profession)
from outlines import models, generate
# vLLM backend for high-throughput production
model = models.vllm("meta-llama/Llama-3.1-8B-Instruct")
gen = generate.json(model, Character)
result = gen("Create a character")
# Use outlines via openai-compatible API
from outlines import models, generate
model = models.openai(
"ollama/llama3.2",
api_key="ollama",
base_url="http://localhost:11434/v1",
)
gen = generate.json(model, Character)
from outlines.generate import json as gen_json
generator = gen_json(model, Character)
stream = generator.stream("Create a fantasy character")
for token in stream:
print(token, end="", flush=True)
generate.json with Pydantic model enforces schema at token level — no post-hoc parsing neededField(ge=0, le=150) constraints are honored — model cannot generate out-of-range intLiteral["a","b"] fields become choice constraints automaticallymodels.transformers() — not raw HuggingFace pipelineoutlines[vllm] extra — pip install outlines[vllm]maxLength in JSON schema is soft hint for some backends — test with actual model