惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
T
Threatpost
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
V2EX - 技术
V2EX - 技术
D
Docker
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
The GitHub Blog
The GitHub Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
T
Troy Hunt's Blog
Webroot Blog
Webroot Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
量子位
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
F
Full Disclosure
B
Blog
O
OpenAI News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
Forbes - Security
Forbes - Security
Know Your Adversary
Know Your Adversary
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
T
The Exploit Database - CXSecurity.com
博客园 - 聂微东
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
Recorded Future
Recorded Future
IT之家
IT之家
Project Zero
Project Zero
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
SecWiki News
SecWiki News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

掘金

Win 安装Claude Code FastAPI 的 CORSMiddleware 跨域中间件 Java 自研 ReAct Agent 半年后,我用 LangGraph 验证了这些设计取舍 🚀AI编程工作流终极形态:GitNexus!零Token消耗实现代码知识图谱化!让Claude Code和Codex拥有上帝视角彻底告别盲目改代码,复杂项目重 LeetCode 72. 编辑距离:动态规划经典题解 被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了 (AI) 编写简单 AI 助手 (ds-agent) 别再让 pnpm 跟着 nvm 跑了!独立安装终极指南 Claude Code 为什么这么顺?Anthropic 最新复盘:真正撑住它的不是模型,而是缓存 从 /simplify 指令深挖 Claude Code 多 Agent 协同机制 Function-Calling与工具使用 新手上路(六):Claude code装上ECC全家桶:38 个子代理、156 个技能、生产级 Hooks 与 Rules 体系 我在 Claude、Kimi、opencode 三个 AI 之间搭了一条自动协作管道 【技能篇】OpenClaw Skill 详解:给 AI 装上"专业外挂" wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑 两周浅学 RAG 我把 Python re 模块比喻成摸金手套 新手上路(三):Claude Code Skills 装了一堆没用?20+ 个 Skill 横向对比 + 三套组合方案,按需抄 K2.6、DeepSeek V4、GPT-5.5 都来了,组合拳打起来 Claude Code 进阶之路:从记忆系统到子代理编排 [java] 编译之后的记录类(Record Classes)长什么样子(上) 国产大模型能力大比拼,社区有话说 我研读了 500 个 Spring Boot 生产级代码库,90% 都犯了这 7 个致命错误 JAVA重点难点 转发-中央网信办部署开展“清朗·整治AI应用乱象”专项行动 合同同步逻辑 【合并已排序数组的三种实现策略,哪一种更可取?】 30天减20斤挑战:少一斤发100红包(2) 我竟然被JavaScript的隐式类型转换坑了三天! 二十五.Electron 初体验与进阶 本地到生产,解决 AI 全栈最后一公里——构建&部署&运维 程序员创业半年:顺的事、不顺的事,和我一直没想清楚的事 UI组件库elementplus 像使用 Redis 一样操作 LocalStorage 向量检索的流程是怎样的?Embedding 和 Rerank 各自的作用? LangChain DeepAgents 速通指南(七)—— DeepAgents使用Agent Skill 为什么越来越多的大厂抛弃MCP,转向CLI? 【节点】[SquareRoot节点]原理解析与实际应用 「AI学习笔记」RNN从 RNN 简单介绍 在 Transformer 出现之前,序列建模领域的主角长期是 RNN 及其 juejin.cn 从 “存得下” 到 “算得快”:工业物联网需要新一代时序数据平台越来越多工业用户开始意识到一个问题:**数据是存下来了, - 掘金 放弃 Claude 订阅?我用 8 年前的服务器,强跑 Google 最强开源模型 Gemma 4 真实测评! Python开发者狂喜!200+课时FastAPI全栈实战合集,10大模块持续更新中🔥 从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码 秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省火山引擎MilvusSer MediaPlayer 播放器架构:NuPlayer 的 Source/Decoder/Renderer 三驾马车 juejin.cn 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory【OpenClaw】通过 Nanobot - 掘金 ArkClaw:以 SLI 度量驱动,构建新一代 Agent 全链路可观测体系针对AI Agent系统黑盒化问题,提出了 juejin.cn juejin.cn juejin.cn OrbStack:一键将你的 Mac 变为本地服务器 NginxPulse:Nginx日志监控革命!实时洞察Web流量与安全态势的智能利器引言:当Nginx日志成为运维的“数 - 掘金 juejin.cn 大V说’AI替代不了你’,但现实是——用AI的人正在替代你2026年是AI落地的元年,自从Claude Code爆火之后 - 掘金 一套能落地的"防 Bug"习惯:不用加班也能少出错 你以为是技术问题,其实是流程问题:工程效率的真相引言 在软件工程领域,效率问题始终是团队管理者和工程师们关注的焦点。当项 - 掘金 大模型工程三驾马车:Prompt Engineering、Context Engineering 与 Harness Engineering 深度解析 SpringBoot里的这个坑差点让我加班到天亮SpringBoot里的这个坑差点让我加班到天亮** -- 引言 Spr - 掘金 4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理本文从发布订阅模式的核心思想出发,深入剖析了 V - 掘金 慌了!Android 17 取消图标文字,你的 App 可能要找不到了用户终于可以隐藏桌面图标下面的文字了。 这个功能在 栗子前端技术周刊第 124 期 - ESLint v10.2.0、React Native 0.85、Node.js 25.9.0... 我用 AI 搓了一个"比谁更持久"的微信小游戏,AI实现只用了一天,微信审核却用了一个月!!!起因:一个沙雕想法的诞生 - 掘金 juejin.cn 第12章 工具(Tools)与函数调用(LangChain实战)在前几章中,我们搭建的RAG系统、对话链,核心能力局限 - 掘金 juejin.cn CmComposeUI —— 基于 Kotlin Multiplatform Compose 的 UI 组件库 Android 开发的 AI coding 与 AI debugging在目前整个行业都在大规模使用 AI coding 第四章:我是如何扒开 Claude Code 记忆与上下文压缩机制的大家好。今天,我们将来到 Claude Code 源 【从0到1构建一个ClaudeAgent】规划与协调-技能 这里解决了 Agent 开发中的一个核心痛点:**上下文窗口 - 掘金 Laravel13 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.2.0 发布Laravel juejin.cn 一文搞懂Harness Engineering与Meta-Harness 越用越强不是广告语:拆解 Hermes Agent 的三层学习机制 P2G-Python字符串方法完全指南-split、join、strip、replace的Python编程利器 AI 周刊【2026.04.06-04.12】:Anthropic 藏起最强模型、AI 社会矛盾激化、"欢乐马"登顶 从 AI Skills 学实战技能(六):让 AI 帮你总结网页、PDF、视频 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 详解 karpathy 的 microgpt:实现一个浏览器运行的 gpt 不用 Tailscale:3 步把 Mac mini 通过 FRP 暴露到公网(稳定开机自启) P2B-Python可迭代对象完全指南-从列表到生成器的Python编程利器 手把手带你部署本地模型,让你Token自由(小白专属) juejin.cn 10分钟掌握 JSON-RPC 协议,面试加分、设计不踩坑 ReAct:让大模型学会边想边做 聊聊AI的发展史,AI的爆发并不是偶然 Python的列表推导式里藏了个坑,差点让我加班到凌晨 重排、重绘与合成——浏览器渲染性能的底层逻辑 podman与docker的区别和生产环境最佳实践 juejin.cn ConcurrentHashMap线程安全实现原理全解析 juejin.cn juejin.cn juejin.cn juejin.cn juejin.cn juejin.cn OpenAI Codex深度解析:终端里的AI代码特工,一个指令重构整个项目 UE5.6 Cesium 插件编译踩坑记录(UE 5.6 + MSVC 14.38 + CMake 3.31)
基于Python实现智能聊天机器人完整代码案例
风骏时光牛马 · 2026-05-28 · via 掘金

基于Python实现智能聊天机器人完整代码案例

一、文档简介

本文基于Python语言搭建一款轻量级本地智能聊天机器人,无需依赖第三方付费接口,依靠基础自然语言匹配逻辑实现人机对话功能。案例代码简洁易懂、可直接运行,适合编程初学者学习Python基础语法、条件判断、字符串处理以及简单交互逻辑开发,同时也可作为小型桌面交互程序的入门实战项目。

二、开发环境准备

1. 运行环境

  • 操作系统:Windows / macOS / Linux
  • 编程语言:Python 3.7及以上版本

2. 依赖说明

本项目无需安装额外第三方库,仅使用Python内置标准库,降低环境配置门槛,下载Python后即可直接编写并运行代码。

三、功能设计

  1. 基础对话交互:支持问候、闲聊、情绪回应、常见问题问答;
  2. 关键词匹配:通过识别用户输入关键词,触发对应回复内容;
  3. 循环对话模式:程序持续监听用户输入,输入指定指令即可退出程序;
  4. 异常兼容:对空输入、乱码字符等异常输入做基础兼容处理。

四、完整代码实现

# 轻量级Python智能聊天机器人
def chat_robot():
    print("===== 智能聊天机器人已启动 =====")
    print("提示:输入【退出】即可结束对话\n")
    while True:
        # 获取用户输入,去除首尾空格
        user_input = input("你:").strip()
        # 判断用户是否退出
        if user_input == "退出":
            print("机器人:再见!期待下次聊天~")
            break
        # 处理空输入
        if not user_input:
            print("机器人:请输入有效内容哦!")
            continue
        
        # 关键词匹配逻辑
        if any(word in user_input for word in ["你好", "哈喽", "嗨"]):
            reply = "你好呀!很高兴和你聊天😊"
        elif any(word in user_input for word in ["早上好", "早安"]):
            reply = "早上好,新的一天也要元气满满!"
        elif any(word in user_input for word in ["晚上好", "晚安"]):
            reply = "晚上好,早点休息哦。"
        elif any(word in user_input for word in ["开心", "快乐"]):
            reply = "感受到你的快乐啦,愿你一直开开心心!"
        elif any(word in user_input for word in ["难过", "不开心", "郁闷"]):
            reply = "别不开心啦,有什么心事可以说说哦。"
        elif any(word in user_input for word in ["名字", "你叫什么"]):
            reply = "我是Python开发的简易聊天机器人~"
        elif any(word in user_input for word in ["你是谁", "介绍一下"]):
            reply = "我是一款本地运行的智能聊天机器人,由Python编写而成。"
        elif any(word in user_input for word in ["再见", "拜拜"]):
            reply = "拜拜啦,有空再来聊天哦!"
        else:
            # 无匹配关键词时默认回复
            reply = "这个问题我暂时还不太了解,换个话题聊聊吧!"
        
        # 输出机器人回复
        print(f"机器人:{reply}\n")

# 程序入口
if __name__ == "__main__":
    chat_robot()

五、代码解析

  1. 主函数定义chat_robot() 为机器人核心执行函数,封装全部对话逻辑。
  2. 循环交互:使用while True构建死循环,实现持续对话,直到用户输入退出终止循环。
  3. 输入处理:通过strip()去除输入内容首尾空格,避免空白字符影响匹配结果;判断空输入并给出提示。
  4. 关键词匹配:借助any()函数结合字符串包含判断,实现多关键词统一匹配,简化代码结构。
  5. 分支回复:通过多组if-elif条件语句,根据不同关键词返回对应话术,未匹配内容则触发默认回复。
  6. 程序入口if __name__ == "__main__" 是Python标准程序入口,保证代码仅在直接运行文件时执行。

六、运行步骤与效果

  1. 将上述代码复制到文本编辑器,保存为 chat_robot.py 文件;
  2. 打开终端/命令行,切换至文件所在目录;
  3. 执行命令:python chat_robot.py 启动程序;
  4. 控制台出现提示语后,即可输入文字进行对话,输入退出结束程序。

运行示例

===== 智能聊天机器人已启动 =====
提示:输入【退出】即可结束对话

你:你好
机器人:你好呀!很高兴和你聊天😊

你:你叫什么名字
机器人:我是Python开发的简易聊天机器人~

你:退出
机器人:再见!期待下次聊天~

七、拓展优化方向

  1. 扩充关键词库与回复话术,丰富对话场景;
  2. 引入列表、字典存储问答对,优化匹配逻辑,便于后期维护;
  3. 接入正则表达式,实现模糊匹配,提升识别能力;
  4. 结合图形界面库,打造桌面可视化聊天窗口。

海量精选技术文档和实战案例持续更新,敬请关注【风骏时光少年】公众号