@@ -226,21 +226,21 @@ def docwriter_sysprompt():
226
226
"""
227
227
228
228
229
- def ood_checker_bot () -> StructuredBot :
229
+ def ood_checker_bot (model_name : str = "gpt-4o" ) -> StructuredBot :
230
230
"""Return a StructuredBot for the out-of-date checker."""
231
231
return StructuredBot (
232
232
system_prompt = ood_checker_sysprompt (),
233
233
pydantic_model = DocsOutOfDate ,
234
- model_name = "gpt-4-turbo" ,
234
+ model_name = model_name ,
235
235
)
236
236
237
237
238
- def docwriter_bot () -> StructuredBot :
238
+ def docwriter_bot (model_name : str = "gpt-4o" ) -> StructuredBot :
239
239
"""Return a StructuredBot for the documentation writer."""
240
240
return StructuredBot (
241
241
system_prompt = docwriter_sysprompt (),
242
242
pydantic_model = DocumentationContent ,
243
- model_name = "gpt-4-turbo" ,
243
+ model_name = model_name ,
244
244
)
245
245
246
246
@@ -256,11 +256,11 @@ def refine_bot_sysprompt():
256
256
"""
257
257
258
258
259
- def refine_bot () -> SimpleBot :
259
+ def refine_bot (model_name : str = "o1-preview" ) -> SimpleBot :
260
260
"""Return a SimpleBot for the documentation writer."""
261
261
return SimpleBot (
262
262
system_prompt = refine_bot_sysprompt (),
263
- model_name = "o1-preview" ,
263
+ model_name = model_name ,
264
264
)
265
265
266
266
@@ -270,6 +270,9 @@ def write(
270
270
from_scratch : bool = False ,
271
271
refine : bool = False ,
272
272
verbose : bool = False ,
273
+ ood_checker_model_name : str = "gpt-4o" ,
274
+ docwriter_model_name : str = "gpt-4o" ,
275
+ refiner_model_name : str = "o1-preview" ,
273
276
):
274
277
"""Write the documentation based on the given source file.
275
278
@@ -290,27 +293,32 @@ def write(
290
293
291
294
:param file_path: Path to the Markdown source file.
292
295
:param from_scratch: Whether to start with a blank documentation.
296
+ :param refine: Whether to refine the documentation.
297
+ :param verbose: Whether to print the verbose output.
298
+ :param ood_checker_model_name: The model name for the out-of-date checker.
299
+ :param docwriter_model_name: The model name for the docwriter.
300
+ :param refiner_model_name: The model name for the refiner.
293
301
"""
294
302
src_file = MarkdownSourceFile (file_path )
295
303
296
304
if from_scratch :
297
305
src_file .post .content = ""
298
306
299
- ood_checker = ood_checker_bot ()
307
+ ood_checker = ood_checker_bot (model_name = ood_checker_model_name )
300
308
result : DocsOutOfDate = ood_checker (
301
309
documentation_information (src_file ), verbose = verbose
302
310
)
303
311
304
312
if not src_file .post .content or result :
305
- docwriter = docwriter_bot ()
313
+ docwriter = docwriter_bot (model_name = docwriter_model_name )
306
314
response : DocumentationContent = docwriter (
307
315
documentation_information (src_file ) + "\n Now please write the docs." ,
308
316
verbose = verbose ,
309
317
)
310
318
src_file .post .content = response .content
311
319
312
320
if refine :
313
- refiner = refine_bot ()
321
+ refiner = refine_bot (model_name = refiner_model_name )
314
322
response : str = refiner (src_file .post .content , verbose = verbose )
315
323
src_file .post .content = response
316
324
0 commit comments