Files
langchain-evolution-deck/slides/section1-chains/slide-07.js
T
petya 75601988c2 Initial commit: LangChain evolution tutorial deck (132 slides)
- Cover, TOC, 5 dividers, 3 recap slides
- 5 sections (chains, langgraph, deepagents, openswe, ecosystem)
- design-system.js with theme tokens + 9 helper functions
- research/: timeline + sources + per-tech notes
- final-compile.js + merge.js for rebuild pipeline
- output/: langchain-evolution.pptx (2.3 MB) + langchain-evolution.pdf (1.1 MB) + 7 sample previews
2026-06-22 11:29:03 +03:00

54 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Slide 07: Streaming -- .stream() yields chunks progressively
// Code slide: how to consume the model output as a stream.
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 1: CHAINS',
section: 'Streaming',
title: 'Потоковый вывод -- token за токеном',
sectionNumber: 1,
});
ds.helpers.addCodeBlock(slide, pres, theme, {
x: 0.5, y: 1.5, w: 9.0, h: 3.25,
language: 'python',
filePath: 'examples/streaming.py',
code: [
'from langchain.chat_models import init_chat_model',
'',
'model = init_chat_model("openai:gpt-4.1-mini")',
'',
'# .stream() -> итератор по AIMessageChunk',
'for chunk in model.stream("Write a haiku about Python"):',
' # У каждого chunk-а есть .content (текст) и .response_metadata',
' print(chunk.content, end="", flush=True)',
'',
'print() # перевод строки после потока',
'',
'# Async-вариант: model.astream() -- то же самое в async-контексте',
'import asyncio',
'',
'async def main():',
' async for chunk in model.astream("Write a haiku about async"):',
' print(chunk.content, end="", flush=True)',
].join('\n'),
});
ds.helpers.addCallout(slide, pres, theme, {
x: 0.5, y: 4.85, w: 9.0, h: 0.3,
kind: 'success',
text: 'AIMessageChunk можно складывать через оператор + -- для буферизации и метрик.',
});
ds.helpers.addSourceLine(slide, pres, theme, {
source: 'python.langchain.com/docs/how_to/streaming/',
});
ds.helpers.addPageNumber(slide, pres, theme, 7);
}
module.exports = { createSlide };