【自娱自乐+适合小白编程】手把手教你用Python调戏AI!朱自清附体+骚话连篇,这代码绝了!

兄弟们!今天发现了个巨好玩的东西!langchain和阿里的大模型居然能玩出花!我用Python搓了个聊天机器人(终端),不仅能文绉绉像朱自清写散文,还能自动给你人生建议!效果堪比电子算命!(附完整代码+效果图)

先上镇楼代码!(小白也能玩)

# 开导
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage, SystemMessage, AIMessage

# 配置大语言模型
# 使用qwen-max-2025-01-25(注意模型名称需与实际可用版本一致)
chatLLM = ChatTongyi(
    model="qwen-max-2025-01-25",  # 模型版本号需参照官方最新文档
    api_key="你的api key",         # 替换为真实API密钥
)

# 初始化对话系统消息
# 使用三重引号保持多行提示词格式
# 包含风格限定和结构化输出要求
system_prompt = """模仿朱自清散文风格,回答需包含:
1. 正式回答(不少于100字)
2. 空一行后按以下格式输出建议(同上风格):
建议:
① ... 
② ...
③ ..."""

# 将系统消息添加都消息列表
messages = [SystemMessage(content=system_prompt)]

# 生成初始化问候语
# 使用invoke同步调用获取开场白
opening = chatLLM.invoke([HumanMessage(content="随机生成一句开场白")])
messages.append(AIMessage(content=opening.content))  # 维护对话历史
print(f"\nAI:{opening.content}")

# 主对话循环
while True:
    # 获取用户输入(包含退出条件检测)
    user_input = input("\n你:")
    if user_input.lower() in ["exit", "quit"]:
        break

    # 更新对话上下文
    messages.append(HumanMessage(content=user_input))

    # 准备流式输出
    print("\nAI:", end="", flush=True)
    full_response = []

    # 流式响应处理
    # 使用stream()实现逐字输出效果
    for chunk in chatLLM.stream(messages):
        content = chunk.content
        print(content, end="", flush=True)  # 实时输出
        full_response.append(content)
    
    # 保存完整响应到历史记录
    messages.append(AIMessage(content="".join(full_response)))

(模型名称可以自己指定,而且还需要自己填API Key哈, 具体参考大模型服务平台百炼文档,祝我们学习愉快!)

这代码牛在哪?

  1. 文豪附体模式:系统消息里直接让AI模仿朱自清,实测生成的小作文真的会写"曲曲折折的荷塘上面…"那种调调!
  2. 人生导师Buff:每次回答必带3条建议,上次我问"暗恋同学怎么办",AI居然让我"如初春的晨露般静待花开"(笑死)
  3. 实时打字效果:stream流式输出!看着AI一个字一个字往外蹦贼有感觉(跟真人网恋似的)

实测效果炸裂

当我输入"今天跟宿舍农药battle输了 ":
AI先来一段100多字的散文安慰,什么 "游戏的胜负本就是一场笑谈,虽败犹荣。那一局局紧张刺激的“农药”之争,不正如人生中的小插曲吗?胜败不过一时,而其中的欢声笑语、团队默契才是最珍贵的收获…" ,然后骚操作来了居然还有建议

建议:
① 与其纠结失败,不如复盘总结经验,下次再战方能更有底气。
② 和舍友一起享受游戏的过程比结果更重要,珍惜这份共同度过的欢乐时光。
③ 若觉得疲惫,不妨暂时放下手机,抬头看看窗外的星空,也是一种别样的放松方式。

(有图有真相)
在这里插入图片描述
视频演示(好像有点模糊)

食用指南

  1. 建议把SystemMessage改成其他文风(试过鲁迅体,AI直接回"大抵是倦了")
  2. 流式响应可能会卡顿,各位老爷忍一忍,我会继续努力学习的改善代码(偷偷卷去)
  3. 重要提醒!别拿这代码去舍友面前炫!上次我去给舍友看代码并运行展示成果,结果周末时间全部被拉去打游戏了。(我们要偷偷卷,别被发现啦)

最后说两句

这玩意儿背着舍友写的,不过还好写完了,要是被舍友拉去打游戏,那可是完蛋!其实通义千问的API超便宜,而且新用户白嫖额度够玩一个月。代码直接复制就能跑,有不懂的尽管问!

(溜了溜了,再不关pycharm又被舍友发现了T_T)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值