@@ -162,32 +162,39 @@ Example:
162162
163163``` python
164164import synalinks
165-
166- class ThinkingWithAnswer (synalinks .DataModel ):
167- thinking: str
168- answer: str
169-
170- language_model = synalinks.LanguageModel(" ollama_chat/deepseek-r1" )
171-
172- program = synalinks.Sequential(
173- [
174- synalinks.Generator(
175- data_model = ThinkingWithAnswer,
176- language_model = language_model,
177- ),
178- synalinks.Generator(
179- data_model = ThinkingWithAnswer,
180- language_model = language_model,
181- ),
182- ]
183- )
184-
185- program.modules[0 ].trainable = False # Freeze the first generator
186-
187- assert program.modules[0 ].trainable_variables == []
188-
189- program.compile(... )
190- program.fit(... ) # Train only the second generator
165+ import asyncio
166+
167+ async def main ():
168+ class ThinkingWithAnswer (synalinks .DataModel ):
169+ thinking: str
170+ answer: str
171+
172+ language_model = synalinks.LanguageModel(
173+ " ollama_chat/deepseek-r1" ,
174+ )
175+
176+ program = synalinks.Sequential(
177+ [
178+ synalinks.Generator(
179+ data_model = ThinkingWithAnswer,
180+ language_model = language_model,
181+ ),
182+ synalinks.Generator(
183+ data_model = ThinkingWithAnswer,
184+ language_model = language_model,
185+ ),
186+ ]
187+ )
188+
189+ program.modules[0 ].trainable = False # Freeze the first generator
190+
191+ assert program.modules[0 ].trainable_variables == []
192+
193+ program.compile(... )
194+ history = await program.fit(... ) # Train only the second generator
195+
196+ if __main__ == " __name__" :
197+ asyncio.run(main())
191198```
192199
193200In essence, "inference mode vs training mode" and "module variable trainability" are two very different concepts.
0 commit comments