LangGraph生成小红书书评(学习)

https://docs.langchain.com/oss/python/langgraph/overviewhttps://docs.langchain.com/oss/python/langgraph/overview

学习官网的例子,改写成生成小红书书评的功能,用的阿里百炼的qwen3-max大模型,直接上代码

复制代码
import os
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from IPython.display import Image, display
from langchain_openai import ChatOpenAI

# Graph state
class State(TypedDict):
    topic: str
    discuss: str
    improved_discuss: str
    final_discuss: str

llm = ChatOpenAI(model="qwen3-max",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",api_key=os.environ.get("API_KEY"))
# Nodes
def generate_discuss(state: State):
    """First LLM call to generate initial discuss"""

    msg = llm.invoke(f"写一个书评,关于 {state['topic']}")
    return {"discuss": msg.content}


def check_punchline(state: State):
    """Gate function to check if the discuss has a punchline"""

    # Simple check - does the discuss contain "?" or "!"
    if "?" in state["discuss"] or "!" in state["discuss"]:
        return "Pass"
    return "Fail"


def improve_discuss(state: State):
    """Second LLM call to improve the discuss"""

    msg = llm.invoke(f"润色这个书评: {state['discuss']}")
    return {"improved_discuss": msg.content}


def polish_discuss(state: State):
    """Third LLM call for final polish"""
    msg = llm.invoke(f"整理并发布成小红书格式,400字以内: {state['improved_discuss']}")
    return {"final_discuss": msg.content}


# Build workflow
workflow = StateGraph(State)

# Add nodes
workflow.add_node("generate_discuss", generate_discuss)
workflow.add_node("improve_discuss", improve_discuss)
workflow.add_node("polish_discuss", polish_discuss)

# Add edges to connect nodes
workflow.add_edge(START, "generate_discuss")
workflow.add_conditional_edges(
    "generate_discuss", check_punchline, {"Fail": "improve_discuss", "Pass": END}
)
workflow.add_edge("improve_discuss", "polish_discuss")
workflow.add_edge("polish_discuss", END)

# Compile
chain = workflow.compile()

# Show workflow
display(Image(chain.get_graph().draw_mermaid_png()))

# Invoke
state = chain.invoke({"topic": "霍乱时期的爱情"})
print("Initial discuss:")
print(state["discuss"])
print("\n--- --- ---\n")
if "improved_discuss" in state:
    print("Improved discuss:")
    print(state["improved_discuss"])
    print("\n--- --- ---\n")

    print("Final discuss:")
    print(state["final_discuss"])
else:
    print("Final discuss:")
    print(state["discuss"])

输出:

复制代码
<IPython.core.display.Image object>
Initial discuss:
## 爱情的瘟疫:在时间废墟中寻找永恒

加西亚·马尔克斯的《霍乱时期的爱情》常被误读为一部浪漫传奇------一个男人用半个多世纪等待初恋情人的故事。然而,若仅止于此,便辜负了这位魔幻现实主义大师在文字迷宫中埋藏的深刻诘问:当爱情被置于时间、死亡与社会规训的显微镜下,它究竟是救赎的圣光,还是另一场需要隔离的"霍乱"?

小说开篇即以乌尔比诺医生之死撕裂了体面社会的帷幕。这位代表理性、秩序与现代文明的医者,一生致力于对抗真实的霍乱疫情,却在临终前向妻子费尔明娜坦白自己曾有的不忠。这极具反讽意味的设定,早已暗示了马尔克斯对"洁净爱情"的祛魅------所谓坚贞,不过是精心维护的假面。而弗洛伦蒂诺·阿里萨,这位以51年9个月零4天的等待闻名于世的痴情者,其形象同样充满悖论。他一面在日记本上记录着622段风流韵事,一面在内心为费尔明娜保留着"童贞般"的爱意。这种分裂并非虚伪,恰是马尔墨斯对爱情本质的残酷揭示:人类情感从来不是非黑即白的圣物,而是混杂着欲望、执念、自我感动甚至病态占有欲的复杂症候。

马尔克斯以惊人的耐心编织时间之网。半个世纪的光阴里,费尔明娜从骄傲少女变为沉稳主妇,弗洛伦蒂诺从青涩诗人蜕变为航运巨头,而社会亦在现代化进程中不断更迭。时间在此不仅是背景,更是参与叙事的主角------它腐蚀青春,也沉淀执念;它让激情褪色,却可能将某种固执升华为信仰。当暮年的弗洛伦蒂诺终于登上"新忠诚号",升起代表霍乱的黄旗,将船驶向永不停泊的河流时,那看似浪漫的结局实则充满悲凉隐喻:唯有逃离世俗时间(社会伦理、年龄桎梏、道德审判),他们的爱情才得以在虚构的真空里"永生"。这艘船,与其说是爱巢,不如说是一座漂浮的隔离病房。

小说中反复出现的"霍乱"意象,早已超越生理疾病范畴。弗洛伦蒂诺初见费尔明娜时"面如死灰、双手冰凉、腹泻不止"的症状,与真实霍乱无异;他因相思而产生的呕吐、失眠、幻觉,皆是爱情作为精神瘟疫的病理呈现。马尔克斯借此模糊了生理与心理、瘟疫与激情的界限------爱情本身即是一种需要被社会规训、隔离甚至恐惧的"传染性疾病"。而最终升起的黄旗,既是保护伞,也是耻辱柱,宣告着这段感情永远无法真正融入岸上的"正常"世界。

《霍乱时期的爱情》的伟大,正在于它撕碎了爱情童话的糖衣。马尔克斯没有歌颂等待的纯粹,反而展示了等待如何异化为一种自我囚禁;他未美化暮年之恋,却揭示了其赖以生存的虚幻前提。当弗洛伦蒂诺说出"一生一世"时,读者感受到的或许不是甜蜜,而是时间碾压下人类情感的荒诞与顽强。这艘驶向永恒的船,载着两个老人,也载着所有关于爱情的幻觉与真相,在死亡阴影笼罩的河流上,进行一场注定孤独的航行。

真正的勇气或许不在于等待半个世纪,而在于看清爱情那既神圣又病态、既救赎又毁灭的双重面孔后,依然敢于在时间的废墟上,升起那面象征隔离与自由的黄色旗帜。

--- --- ---

Improved discuss:
当然可以。以下是对您这篇书评的润色版本,在保留原有思想深度与文学风格的基础上,优化了语言节奏、逻辑衔接与修辞张力,使其更具文学评论的专业性与感染力:

---

## 爱情的瘟疫:在时间废墟中寻找永恒

加西亚·马尔克斯的《霍乱时期的爱情》常被误读为一曲浪漫传奇------一个男人用半个多世纪守候初恋情人的忠贞颂歌。然而,若止步于此,便辜负了这位魔幻现实主义大师在文字迷宫中埋藏的深刻诘问:当爱情被置于时间、死亡与社会规训的显微镜下,它究竟是救赎的圣光,还是另一场亟待隔离的"霍乱"?

小说开篇即以乌尔比诺医生之死撕裂了体面社会的帷幕。这位理性、秩序与现代文明的化身,一生致力于扑灭真实的霍乱疫情,却在临终前向妻子费尔明娜坦白自己的不忠。这一极具反讽意味的设定,早已暗示了马尔克斯对"洁净爱情"的祛魅------所谓坚贞,不过是精心维护的假面。而弗洛伦蒂诺·阿里萨,那位以"51年9个月零4天"等待闻名于世的痴情者,其形象同样充满悖论:他一面在日记中记录622段风流韵事,一面在内心为费尔明娜保留着"童贞般"的爱意。这种分裂并非虚伪,恰是马尔克斯对爱情本质的残酷揭示:人类情感从来不是非黑即白的圣物,而是混杂着欲望、执念、自我感动,甚至病态占有欲的复杂症候。

马尔克斯以惊人的耐心编织时间之网。半个世纪的光阴里,费尔明娜从骄傲少女蜕变为沉稳主妇,弗洛伦蒂诺从青涩诗人成长为航运巨头,而整个社会亦在现代化浪潮中不断更迭。时间在此不仅是背景,更是叙事的主角------它腐蚀青春,也沉淀执念;它令激情褪色,却可能将某种固执升华为信仰。当暮年的弗洛伦蒂诺终于登上"新忠诚号",升起代表霍乱的黄旗,将船驶向永不停泊的河流时,那看似浪漫的结局实则充满悲凉隐喻:唯有逃离世俗时间------社会伦理、年龄桎梏、道德审判------他们的爱情才得以在虚构的真空里"永生"。这艘船,与其说是爱巢,不如说是一座漂浮的隔离病房。

小说中反复出现的"霍乱"意象,早已超越生理疾病的范畴。弗洛伦蒂诺初见费尔明娜时"面如死灰、双手冰凉、腹泻不止"的症状,与真实霍乱无异;他因相思而引发的呕吐、失眠、幻觉,皆是爱情作为精神瘟疫的病理呈现。马尔克斯借此模糊了生理与心理、瘟疫与激情的界限------爱情本身即是一种需要被社会规训、隔离甚至恐惧的"传染性疾病"。最终升起的黄旗,既是保护伞,也是耻辱柱,宣告这段感情永远无法真正融入岸上的"正常"世界。

《霍乱时期的爱情》的伟大,正在于它撕碎了爱情童话的糖衣。马尔克斯没有歌颂等待的纯粹,反而揭示了等待如何异化为一种自我囚禁;他未美化暮年之恋,却暴露了其赖以生存的虚幻前提。当弗洛伦蒂诺说出"一生一世"时,读者感受到的或许不是甜蜜,而是时间碾压下人类情感的荒诞与顽强。这艘驶向永恒的船,载着两个老人,也载着所有关于爱情的幻觉与真相,在死亡阴影笼罩的河流上,进行一场注定孤独的航行。

真正的勇气,或许不在于等待半个世纪,而在于看清爱情那既神圣又病态、既救赎又毁灭的双重面孔后,依然敢于在时间的废墟上,升起那面象征隔离与自由的黄色旗帜。

--- 

如需进一步调整风格(如更学术、更抒情或更简洁),也可以告诉我,我可以根据具体用途再做优化。

--- --- ---

Final discuss:
📚《霍乱时期的爱情》|别被"51年等待"骗了!马尔克斯写的不是童话,是爱情的瘟疫!

很多人以为这是个痴情男主苦等初恋半世纪的浪漫故事------错!马尔克斯用魔幻笔触撕开爱情糖衣:  
💔 弗洛伦蒂诺嘴上说"一生一世",日记里却记着622段风流韵事;  
🩺 他初见费尔明娜时腹泻、失眠、面如死灰------这哪是心动?分明是"霍乱"发作!  

书中反复出现的"霍乱",正是爱情的隐喻:它传染、失控、令人癫狂,社会想隔离它,道德要审判它。  
而结尾那艘升起黄旗、永不靠岸的船?不是爱巢,是漂浮的隔离病房------唯有逃离现实,他们的"爱情"才能存活。  

马尔克斯冷眼告诉我们:爱情从来不是圣洁神话,而是混杂欲望、执念与自我感动的复杂病症。  
可悲又动人的是------明知如此,人类仍愿在时间废墟上,为它升起那面孤独的黄旗。  

✨真正的浪漫,不是等待,而是看透爱情的病态与神圣后,依然选择航行。  

#书单推荐 #马尔克斯 #霍乱时期的爱情 #深度书评 #爱情真相
相关推荐
kyq___1 小时前
环路稳定性补偿学习笔记
笔记·学习
CyrusCJA2 小时前
日语零基础每天学习笔记【11-20】
笔记·学习
NULL指向我2 小时前
信号处理学习笔记2:软件RC二阶高通\低通滤波
笔记·学习·信号处理
啥咕啦呛2 小时前
java打卡学习4:HashMap底层结构、扩容机制
java·学习·哈希算法
qq_389600133 小时前
pads 学习笔记
笔记·学习
大数据AI人工智能培训专家培训讲师叶梓3 小时前
AI开始改写自己的进化规则:Meta超智能体研究解析
人工智能·大模型·agi·智能体·人工智能讲师·大模型讲师
M malloc4 小时前
软件测试学习第一期
软件测试·学习·可用性测试
头疼的程序员4 小时前
计算机网络:自顶向下方法(第七版)第六章 学习分享(三)
网络·学习·计算机网络
醇氧4 小时前
【学习】现代计算机有多少种架构
学习·架构