// Slide 03: Installation + environment setup // Code slide with two-column layout: pip install + env vars. const ds = require('./design-system'); function createSlide(pres, theme) { const slide = pres.addSlide(); ds.helpers.slideBase(slide, pres, theme); ds.helpers.addHeader(slide, pres, theme, { eyebrow: 'STAGE 5: ECOSYSTEM', section: 'Установка', title: 'pip install и 3 переменные окружения', sectionNumber: 5, titleSize: 22, }); // Left code block -- pip install ds.helpers.addCodeBlock(slide, pres, theme, { x: 0.5, y: 1.45, w: 4.5, h: 2.5, language: 'bash', filePath: 'shell/install_langsmith.sh', fontSize: 10, code: [ '# Standalone SDK (если не используете langchain)', 'pip install langsmith', '', '# С langchain/LangGraph auto-tracing работает', '# автоматически при env-переменных -- отдельно', '# ставить SDK необязательно.', 'pip install langchain langgraph', ].join('\n'), }); // Right code block -- env vars ds.helpers.addCodeBlock(slide, pres, theme, { x: 5.2, y: 1.45, w: 4.3, h: 2.5, language: 'bash', filePath: 'shell/env.sh', fontSize: 10, code: [ '# 1. Tracing on/off (default: true если есть API key)', 'export LANGSMITH_TRACING=true', '', '# 2. API key: https://smith.langchain.com/settings', 'export LANGSMITH_API_KEY="lsv2_pt_..."', '', '# 3. Project name (default: "default")', 'export LANGSMITH_PROJECT="my-agent-dev"', '', '# Опционально: self-hosted endpoint', '# export LANGSMITH_ENDPOINT=...', ].join('\n'), }); // Bottom callout -- safe positioning ds.helpers.addCallout(slide, pres, theme, { x: 0.5, y: 4.15, w: 9.0, h: 0.8, kind: 'info', title: 'Zero-config для LangChain/LangGraph', text: 'Если LANGSMITH_API_KEY задан, chain.invoke/graph.invoke/agent.stream ' + 'пишут trace автоматически -- без оберток и monkey-patch.', }); ds.helpers.addSourceLine(slide, pres, theme, { source: 'docs.smith.langchain.com Observability > Set up tracing', }); ds.helpers.addPageNumber(slide, pres, theme, 3); } module.exports = { createSlide };