К основному содержанию
скилл CX Codex

dspy-production-deployment — скилл для Claude Code: установка

Скилл учит агента развёртывать пайплайны DSPy 3.2.1 с безопасным кэшированием, асинхронным запуском, трекингом токенов и стримингом ответов в продакшене.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add OmidZamani/dspy-skills --skill dspy-production-deployment -a claude-code
Открыть на GitHub

Что делает dspy-production-deployment

Скилл задаёт правила запуска DSPy-программ в продакшене без уязвимостей сериализации. По умолчанию DSPy использует pickle для дискового кэша, поэтому инструкция требует включать dspy.configure_cache(restrict_pickle=True) или регистрировать доверенные типы через safe_types. Для сохранения пайплайнов рекомендуется выгружать только состояние в JSON с флагом save_program=False.

Внутри собраны шаблоны для асинхронного выполнения через acall() и генерации ответов по частям с помощью dspy.streamify(). Для циклических модулей вроде ReAct инструкция подсказывает включать allow_reuse=True. Также настраивается подсчёт токенов вызовом track_usage=True, при этом кэшированные вызовы расход не увеличивают.

Полное сохранение графа через cloudpickle разрешено только для доверенных артефактов, иначе загрузка чужого файла создаёт риск исполнения произвольного кода. Скилл рассчитан на совместимость с DSPy 3.2.1.

Какие задачи решает

  • защитить дисковый кэш DSPy от небезопасной десериализации через pickle
  • сохранить скомпилированную программу в JSON без бинарных дампов
  • настроить асинхронный вызов модулей через acall()
  • организовать стриминг токенов для сигнатур DSPy

Примеры запросов агенту

  • Настрой безопасное кэширование в DSPy и отключи disk cache
  • Покажи, как сохранить скомпилированную программу DSPy только в виде JSON-состояния
  • Переведи модуль Predict на стриминг ответов через streamify

Как установить dspy-production-deployment

1Через Skills CLI (Vercel)

npx skills add OmidZamani/dspy-skills --skill dspy-production-deployment -a claude-code

2Вручную: положить файлы

~/.claude/skills/dspy-production-deployment/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/dspy-production-deployment/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о dspy-production-deployment

Как установить dspy-production-deployment в Claude Code?

Выполните в терминале команду npx skills add OmidZamani/dspy-skills --skill dspy-production-deployment -a claude-code.

Что делает dspy-production-deployment?

Инструкция задаёт правила развёртывания DSPy: безопасный кэш с restrict_pickle=True, экспорт состояния в JSON, асинхронные вызовы и стриминг.

Как безопасно сохранить скомпилированную программу DSPy?

Вызовите compiled.save("./artifacts/program.json", save_program=False) и восстанавливайте состояние через loaded.load(...). Полный экспорт через cloudpickle допустим только для доверенных файлов.

Исходный текст

SKILL.md · MIT
---
name: dspy-production-deployment
version: "1.0.0"
dspy-compatibility: "3.2.1"
tags: ["production"]
requires-extras: []
description: Use for deploying DSPy with save/load, configure_cache, restrict_pickle, track_usage, async execution, streaming, and production runtime controls.
allowed-tools:
  - Read
  - Write
  - Glob
  - Grep
---

# DSPy Production Deployment

## Goal

Prepare a DSPy program for repeatable, observable, scalable, and safer production execution.

## Cache Hardening

DSPy enables memory and disk caches by default. Disk cache deserialization uses pickle unless restricted. Enable the allowlist mode in production:

```python
import dspy

dspy.configure_cache(restrict_pickle=True)
```

Register trusted custom cache types only when needed:

```python
dspy.configure_cache(
    restrict_pickle=True,
    safe_types=[MyResult, Metadata],
)
```

Disable a cache layer explicitly when a deployment cannot persist data or requires fresh model responses:

```python
dspy.configure_cache(
    enable_disk_cache=False,
    enable_memory_cache=True,
)
```

## Save and Load

Prefer state-only JSON for readable, safer artifacts:

```python
compiled.save("./artifacts/program.json", save_program=False)

loaded = MyProgram()
loaded.load("./artifacts/program.json")
```

Use whole-program save only for trusted artifacts. It uses cloudpickle:

```python
compiled.save("./artifacts/program/", save_program=True)
loaded = dspy.load("./artifacts/program/")
```

Keep the DSPy major version compatible when loading saved programs.

## Usage Tracking

```python
dspy.configure(
    lm=dspy.LM("openai/gpt-4o-mini"),
    track_usage=True,
)

prediction = program(question="What is DSPy?")
print(prediction.get_lm_usage())
```

Cached calls return no new token usage.

## Async Execution

Most built-in modules support `acall()`:

```python
import asyncio

async def main():
    prediction = await program.acall(question="What is DSPy?")
    print(prediction.answer)

asyncio.run(main())
```

Implement `aforward()` for custom async modules. Use `dspy.asyncify(program)` only when adapting a synchronous callable is the right boundary.

## Streaming

```python
import asyncio
import dspy

stream_program = dspy.streamify(
    dspy.Predict("question -> answer"),
    stream_listeners=[
        dspy.streaming.StreamListener(signature_field_name="answer"),
    ],
)

async def main():
    async for chunk in stream_program(question="Explain DSPy briefly."):
        print(chunk)

asyncio.run(main())
```

For looped modules such as ReAct, set `allow_reuse=True` on listeners for repeated fields. Cache hits yield the final `Prediction` without replaying token chunks.

## Production Checklist

1. Pin the stable DSPy series.
2. Use state-only JSON unless whole-program pickle is necessary and trusted.
3. Enable `restrict_pickle=True`.
4. Record usage, latency, errors, and traces.
5. Load-test async and streaming paths separately.
6. Use [dspy-debugging-observability](../dspy-debugging-observability/SKILL.md) for MLflow and callbacks.

## Official Documentation

- **Production guide**: https://dspy.ai/production/
- **Cache tutorial**: https://dspy.ai/tutorials/cache/
- **Saving tutorial**: https://dspy.ai/tutorials/saving/
- **Async tutorial**: https://dspy.ai/tutorials/async/
- **Streaming tutorial**: https://dspy.ai/tutorials/streaming/

© OmidZamani · MIT · OmidZamani/dspy-skills

Похожие скиллы

Все скиллы по теме «ИИ и ML» →
skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок writing-for-agents Matt Pocock Помогает писать скиллы и документы с инструкциями для агентов. Пригодится при правках AGENTS.md, CLAUDE.md и связанных справочных файлов. 466 719установок media-use heygen-com Находит и генерирует ассеты для видео в HyperFrames — музыку, дикторский голос, аватары и эффекты. Сохраняет всё локально в assets. CX Codex +1 1 100 000установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок subagent-driven-development Jesse Vincent Скилл выполняет план через отдельных субагентов для каждой задачи и проверяет результат после каждого шага. Подходит для независимых задач в одной сессии. CX Codex 237 746установок orchestration stablyai Координирует воркеров Orca через DAG задач, циклы супервизора и цепочки сообщений. Пригодится для распределения сложной работы между агентами. CX Codex +1 350 300установок

Из того же набора17

dspy-simba-optimizer Скилл помогает оптимизировать программы DSPy методом SIMBA: по числовой метрике он ищет удачные инструкции и примеры. Пригодится, когда качество можно оценивать баллами. CX Codex +1 ★ 124звёзд репо dspy-signature-designer Помогает описать входы и выходы модуля DSPy через типизированные сигнатуры. Пригодится, когда ответ модели нужно загнать в строгую схему. CX Codex +1 ★ 124звёзд репо dspy-react-agent-builder Скилл помогает собрать агента на DSPy ReAct, который вызывает инструменты для многошаговых задач. Он пригодится для поиска с последующим анализом, расчётов и ответов с внешними данными. CX Codex +1 ★ 124звёзд репо dspy-rag-pipeline Строит пайплайны retrieval-augmented generation с ColBERTv2, которые можно систематически улучшать. Пригодится, если вопросы требуют поиска по собственному корпусу документов и факт-чекирования ответов. CX Codex +1 ★ 124звёзд репо dspy-output-refinement-constraints Скилл помогает настраивать проверку и итерационную доработку ответов в DSPy через dspy.Refine и dspy.BestOfN. Пригодится, когда результат должен соответствовать формату или содержать заданные данные. CX Codex +1 ★ 124звёзд репо dspy-optimizer-selection Помогает выбрать оптимизатор DSPy под данные и бюджет: от LabeledFewShot до GEPA и BetterTogether. Пригодится, когда неясно, с чего начать компиляцию программы. CX Codex +1 ★ 124звёзд репо dspy-miprov2-optimizer Скилл помогает оптимизировать программы DSPy с помощью MIPROv2: подбирать инструкции и few-shot-примеры через байесовскую оптимизацию. Нужен для настройки по обучающим данным. CX Codex +1 ★ 124звёзд репо dspy-mcp-tool-integration Скилл показывает, как подключить MCP-сервер к DSPy: конвертировать его инструменты в dspy.Tool и вызывать их из async-агента. CX Codex +1 ★ 124звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой