writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
senior-ml-engineerSkill de engenharia de ML para colocar modelos em produção, construir pipelines MLOps e integrar LLMs. Cobre implantação de modelos, feature stores, monitoramento de drift, sistemas RAG e otimização de custos. Use quando o usuário perguntar sobre implantar modelos de ML em produção, configurar infraestrutura MLOps (MLflow, Kubeflow, Kubernetes, Docker), mon…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: "senior-ml-engineer" description: "Skill de engenharia de ML para colocar modelos em produção, construir pipelines MLOps e integrar LLMs. Cobre implantação de modelos, feature stores, monitoramento de drift, sistemas RAG e otimização de custos. Use quando o usuário perguntar sobre implantar modelos de ML em produção, configurar infraestrutura MLOps (MLflow, Kubeflow, Kubernetes, Docker), monitorar performance ou drift de modelos, construir pipelines RAG ou integrar APIs de LLM com lógica de retry e controles de custo." agents:
Padrões de engenharia de ML em produção para implantação de modelos, infraestrutura MLOps e integração de LLM.
Implante um modelo treinado em produção com monitoramento:
FROM python:3.11-slim
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY model/ /app/model/
COPY src/ /app/src/
HEALTHCHECK CMD curl -f http://localhost:8080/health || exit 1
EXPOSE 8080
CMD ["uvicorn", "src.server:app", "--host", "0.0.0.0", "--port", "8080"]
| Opção | Latência | Throughput | Caso de Uso |
|---|---|---|---|
| FastAPI + Uvicorn | Baixa | Médio | REST APIs, modelos pequenos |
| Triton Inference Server | Muito Baixa | Muito Alto | Inferência GPU, batching |
| TensorFlow Serving | Baixa | Alto | Modelos TensorFlow |
| TorchServe | Baixa | Alto | Modelos PyTorch |
| Ray Serve | Média | Alto | Pipelines complexos, multi-modelo |
Estabeleça treinamento e implantação automatizados:
from feast import Entity, Feature, FeatureView, FileSource
user = Entity(name="user_id", value_type=ValueType.INT64)
user_features = FeatureView(
name="user_features",
entities=["user_id"],
ttl=timedelta(days=1),
features=[
Feature(name="purchase_count_30d", dtype=ValueType.INT64),
Feature(name="avg_order_value", dtype=ValueType.FLOAT),
],
online=True,
source=FileSource(path="data/user_features.parquet"),
)
| Gatilho | Detecção | Ação |
|---|---|---|
| Agendado | Cron (semanal/mensal) | Retreinamento completo |
| Queda de performance | Acurácia < threshold | Retreinamento imediato |
| Drift de dados | PSI > 0,2 | Avaliar, depois retreinar |
| Volume de novos dados | X novas amostras | Atualização incremental |
Integre APIs de LLM em aplicações de produção:
from abc import ABC, abstractmethod
from tenacity import retry, stop_after_attempt, wait_exponential
class LLMProvider(ABC):
@abstractmethod
def complete(self, prompt: str, **kwargs) -> str:
pass
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=10))
def call_llm_with_retry(provider: LLMProvider, prompt: str) -> str:
return provider.complete(prompt)
| Provedor | Custo de Entrada | Custo de Saída |
|---|---|---|
| GPT-4 | $0,03/1K | $0,06/1K |
| GPT-3.5 | $0,0005/1K | $0,0015/1K |
| Claude 3 Opus | $0,015/1K | $0,075/1K |
| Claude 3 Haiku | $0,00025/1K | $0,00125/1K |
Construa pipeline de geração aumentada por recuperação:
| Banco de Dados | Hospedagem | Escala | Latência | Melhor Para |
|---|---|---|---|---|
| Pinecone | Gerenciado | Alta | Baixa | Produção, gerenciado |
| Qdrant | Ambos | Alta | Muito Baixa | Crítico em performance |
| Weaviate | Ambos | Alta | Baixa | Busca híbrida |
| Chroma | Self-hosted | Média | Baixa | Prototipagem |
| pgvector | Self-hosted | Média | Média | Postgres existente |
| Estratégia | Tamanho do Chunk | Sobreposição | Melhor Para |
|---|---|---|---|
| Fixo | 500-1000 tokens | 50-100 | Texto geral |
| Por sentença | 3-5 sentenças | 1 sentença | Texto estruturado |
| Semântico | Variável | Baseado em significado | Artigos de pesquisa |
| Recursivo | Hierárquico | Parent-child | Documentos longos |
Monitore modelos em produção para drift e degradação:
from scipy.stats import ks_2samp
def detect_drift(reference, current, threshold=0.05):
statistic, p_value = ks_2samp(reference, current)
return {
"drift_detected": p_value < threshold,
"ks_statistic": statistic,
"p_value": p_value
}
| Métrica | Atenção | Crítico |
|---|---|---|
| Latência p95 | > 100ms | > 200ms |
| Taxa de erro | > 0,1% | > 1% |
| PSI (drift) | > 0,1 | > 0,2 |
| Queda de acurácia | > 2% | > 5% |
references/mlops_production_patterns.md contém:
references/llm_integration_guide.md contém:
references/rag_system_architecture.md contém:
python scripts/model_deployment_pipeline.py --model model.pkl --target staging
Gera artefatos de implantação: Dockerfile, manifestos Kubernetes, health checks.
python scripts/rag_system_builder.py --config rag_config.yaml --analyze
Cria scaffolding do pipeline RAG com integração de vector store e lógica de recuperação.
python scripts/ml_monitoring_suite.py --config monitoring.yaml --deploy
Configura detecção de drift, alertas e painéis de performance.
| Categoria | Ferramentas |
|---|---|
| Frameworks de ML | PyTorch, TensorFlow, Scikit-learn, XGBoost |
| Frameworks LLM | LangChain, LlamaIndex, DSPy |
| MLOps | MLflow, Weights & Biases, Kubeflow |
| Dados | Spark, Airflow, dbt, Kafka |
| Implantação | Docker, Kubernetes, Triton |
| Bancos de Dados | PostgreSQL, BigQuery, Pinecone, Redis |