@@ -90,45 +90,45 @@ def get_existing_blog_posts():
9090
9191def extract_topic (topics ):
9292 global deepseek , existing_posts_text
93- # return generate([
94- # {"role": "system", "content": "你在为一篇技术博客确定一个主题。直接用中文输出主题。"},
95- # {"role": "user", "content": f"阅读以下是HackerNews的热门文章,然后写一个可以用于技术博客的主题。这个主题应当是一个通用、普通的技术,不能是一个事件或其它东西。\n\n{topics}\n\n以下是已有的博客文章,请避免选择相似的主题:\n{existing_posts_text}\n\n只需要一个主题,直接输出。"},
96- # ], deepseek, "deepseek-chat")
97- return grok_generate ([
98- system ("你在为一篇技术博客确定一个主题。直接用中文输出主题。" ),
99- user (f"阅读以下是HackerNews的热门文章,然后写一个可以用于技术博客的主题。这个主题应当是一个通用、普通的技术,不能是一个事件或其它东西。\n \n { topics } \n \n 以下是已有的博客文章,请避免选择相似的主题:\n { existing_posts_text } \n \n 只需要一个主题,直接输出。" )
100- ], xai_client , "grok-3-mini" )
93+ return generate ([
94+ {"role" : "system" , "content" : "你在为一篇技术博客确定一个主题。直接用中文输出主题。" },
95+ {"role" : "user" , "content" : f"阅读以下是HackerNews的热门文章,然后写一个可以用于技术博客的主题。这个主题应当是一个通用、普通的技术,不能是一个事件或其它东西。\n \n { topics } \n \n 以下是已有的博客文章,请避免选择相似的主题:\n { existing_posts_text } \n \n 只需要一个主题,直接输出。" },
96+ ], deepseek , "deepseek-chat" )
97+ # return grok_generate([
98+ # system("你在为一篇技术博客确定一个主题。直接用中文输出主题。"),
99+ # user(f"阅读以下是HackerNews的热门文章,然后写一个可以用于技术博客的主题。这个主题应当是一个通用、普通的技术,不能是一个事件或其它东西。\n\n{topics}\n\n以下是已有的博客文章,请避免选择相似的主题:\n{existing_posts_text}\n\n只需要一个主题,直接输出。")
100+ # ], xai_client, "grok-3-mini")
101101
102102def outline (topic ):
103103 global deepseek
104- # return generate([
105- # {"role": "user", "content": f"我要写一篇关于「{topic}」的博客文章。帮我列一个详细的文章提纲。"}
106- # ], deepseek, "deepseek-reasoner")
107- return grok_generate ([
108- user (f"我要写一篇关于「{ topic } 」的博客文章。帮我列一个详细的文章提纲。" )
109- ], xai_client , "grok-3-mini" )
104+ return generate ([
105+ {"role" : "user" , "content" : f"我要写一篇关于「{ topic } 」的博客文章。帮我列一个详细的文章提纲。" }
106+ ], deepseek , "deepseek-reasoner" )
107+ # return grok_generate([
108+ # user(f"我要写一篇关于「{topic}」的博客文章。帮我列一个详细的文章提纲。")
109+ # ], xai_client, "grok-3-mini")
110110
111111def write_from_outline (outline ):
112112 global deepseek , existing_posts_text
113- # return generate([
114- # {"role": "system", "content": "你是一位专业技术博客作者。在写作时请遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符;使用直角引号「」。"},
115- # {"role": "user", "content": f"{outline}\n\n根据这个提纲中关于技术知识的部分,写出一篇技术博客文章。文章中避免出现图片,不能使用任何列表。每一段出现的代码都进行较为详细的解读。在讲述内容时尽量使用段落的语言,语言风格可以略偏专业,但保持清晰。使用Markdown(要求符合Common Markdown规范)输出,使用LaTeX公式(注意:数学的开闭定界符前后不能有字母或数字字符。像x$a + b = c$或$a + b = c$1将无法渲染为数学公式(所有$会被渲染为$);但x $\\infty$ 1和($\\infty$)会正常渲染),标题尽量只用一级标题 `#` 和二级标题 `##`,不要用分割线。请遵循中文排版规范,使用正确的标点符号。直接输出正文。"}
116- # ], deepseek, "deepseek-reasoner")
117- return grok_generate ([
118- system ("你是一位专业技术博客作者。在写作时请遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符;使用直角引号「」。" ),
119- user (f"{ outline } \n \n 根据这个提纲中关于技术知识的部分,写出一篇技术博客文章。文章中避免出现图片,不能使用任何列表。每一段出现的代码都进行较为详细的解读。在讲述内容时尽量使用段落的语言,语言风格可以略偏专业,但保持清晰。使用Markdown(要求符合Common Markdown规范)输出,使用LaTeX公式(注意:数学的开闭定界符前后不能有字母或数字字符。像x$a + b = c$或$a + b = c$1将无法渲染为数学公式(所有$会被渲染为$);但x $\\ infty$ 1和($\\ infty$)会正常渲染),标题尽量只用一级标题 `#` 和二级标题 `##`,不要用分割线。请遵循中文排版规范,使用正确的标点符号。直接输出正文。" )
120- ], xai_client , "grok-3-mini" )
113+ return generate ([
114+ {"role" : "system" , "content" : "你是一位专业技术博客作者。在写作时请遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符;使用直角引号「」。" },
115+ {"role" : "user" , "content" : f"{ outline } \n \n 根据这个提纲中关于技术知识的部分,写出一篇技术博客文章。文章中避免出现图片,不能使用任何列表。每一段出现的代码都进行较为详细的解读。在讲述内容时尽量使用段落的语言,语言风格可以略偏专业,但保持清晰。使用Markdown(要求符合Common Markdown规范)输出,使用LaTeX公式(注意:数学的开闭定界符前后不能有字母或数字字符。像x$a + b = c$或$a + b = c$1将无法渲染为数学公式(所有$会被渲染为$);但x $\\ infty$ 1和($\\ infty$)会正常渲染),标题尽量只用一级标题 `#` 和二级标题 `##`,不要用分割线。请遵循中文排版规范,使用正确的标点符号。直接输出正文。" }
116+ ], deepseek , "deepseek-reasoner" )
117+ # return grok_generate([
118+ # system("你是一位专业技术博客作者。在写作时请遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符;使用直角引号「」。"),
119+ # user(f"{outline}\n\n根据这个提纲中关于技术知识的部分,写出一篇技术博客文章。文章中避免出现图片,不能使用任何列表。每一段出现的代码都进行较为详细的解读。在讲述内容时尽量使用段落的语言,语言风格可以略偏专业,但保持清晰。使用Markdown(要求符合Common Markdown规范)输出,使用LaTeX公式(注意:数学的开闭定界符前后不能有字母或数字字符。像x$a + b = c$或$a + b = c$1将无法渲染为数学公式(所有$会被渲染为$);但x $\\infty$ 1和($\\infty$)会正常渲染),标题尽量只用一级标题 `#` 和二级标题 `##`,不要用分割线。请遵循中文排版规范,使用正确的标点符号。直接输出正文。")
120+ # ], xai_client, "grok-3-mini")
121121
122122def summary (article ):
123123 global deepseek
124- # return generate([
125- # {"role": "system", "content": "你是一个技术博客简介写作者,简介不一定需要涵盖文章的全部内容,能起到一定的提示作用即可。直接输出简介。遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符。注意简介被作为副标题使用,不是一句句子,不要以句号结尾。"},
126- # {"role": "user", "content": f"给这篇文章写一个15字的简短介绍:\n\n{article}"}
127- # ], deepseek, "deepseek-chat")
128- return grok_generate ([
129- system ("你是一个技术博客简介写作者,简介不一定需要涵盖文章的全部内容,能起到一定的提示作用即可。直接输出简介。遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符。注意简介被作为副标题使用,不是一句句子,不要以句号结尾。" ),
130- user (f"给这篇文章写一个15字的简短介绍:\n \n { article } " )
131- ], xai_client , "grok-3-mini" )
124+ return generate ([
125+ {"role" : "system" , "content" : "你是一个技术博客简介写作者,简介不一定需要涵盖文章的全部内容,能起到一定的提示作用即可。直接输出简介。遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符。注意简介被作为副标题使用,不是一句句子,不要以句号结尾。" },
126+ {"role" : "user" , "content" : f"给这篇文章写一个15字的简短介绍:\n \n { article } " }
127+ ], deepseek , "deepseek-chat" )
128+ # return grok_generate([
129+ # system("你是一个技术博客简介写作者,简介不一定需要涵盖文章的全部内容,能起到一定的提示作用即可。直接输出简介。遵循以下中文排版规范:使用全角中文标点;专有名词大小写正确;英文、数字使用半角字符。注意简介被作为副标题使用,不是一句句子,不要以句号结尾。"),
130+ # user(f"给这篇文章写一个15字的简短介绍:\n\n{article}")
131+ # ], xai_client, "grok-3-mini")
132132
133133# LaTeX error handling
134134def extract_latex_segments (markdown_text : str ) -> List [Tuple [str , int , int ]]:
@@ -266,14 +266,14 @@ def modify_latex(markdown_text: str, error_report: Dict[Tuple[str,int], List[str
266266 "\n \n 上下文:\n " + context +
267267 "\n \n 请只返回修正后的完整片段,不要添加其它标记。"
268268 )
269- # fixed = generate([
270- # {"role":"system","content":"你是 LaTeX 专家,负责修正以下代码:"},
271- # {"role":"user","content":user_msg}
272- # ], deepseek, "deepseek-reasoner").strip()
273- fixed = grok_generate ([
274- system ("你是 LaTeX 专家,负责修正以下代码:" ),
275- user (user_msg )
276- ], xai_client , "grok-3-mini" ).strip ()
269+ fixed = generate ([
270+ {"role" :"system" ,"content" :"你是 LaTeX 专家,负责修正以下代码:" },
271+ {"role" :"user" ,"content" :user_msg }
272+ ], deepseek , "deepseek-reasoner" ).strip ()
273+ # fixed = grok_generate([
274+ # system("你是 LaTeX 专家,负责修正以下代码:"),
275+ # user(user_msg)
276+ # ], xai_client, "grok-3-mini").strip()
277277
278278 # 去掉```,如果不小心生成了
279279 if fixed .startswith ("```" ) and fixed .endswith ("```" ):
0 commit comments