Python 实现一个简单的 AI 推理工具(Reasoning Engine)
·
用 Python 很容易实现一个简单的 AI 推理工具(Reasoning Engine),让它能根据规则或模型进行“推理”和“结论输出”。
🧩 一、最基础版本:基于规则(if-else)的推理系统
这种方式类似专家系统(Expert System),逻辑是人工写死的。
示例:医疗问诊推理工具
def ai_inference(symptoms):
if "发烧" in symptoms and "咳嗽" in symptoms:
return "可能是感冒或流感,请多喝水并休息。"
elif "头痛" in symptoms and "恶心" in symptoms:
return "可能是偏头痛或中暑,建议休息并观察。"
elif "腹痛" in symptoms and "腹泻" in symptoms:
return "可能是胃肠炎,请注意饮食卫生。"
else:
return "无法确定,请提供更多症状。"
# 使用示例
symptoms = ["发烧", "咳嗽"]
print(ai_inference(symptoms))
🧠 思路:
-
输入为一组“事实”(症状)
-
根据预定义规则匹配
-
输出结论
这种方式适合入门理解“推理”的概念。
🧠 二、基于逻辑规则的轻量推理系统
可以用 Python 的 rule-engine 或 experta(类似 CLIPS 的专家系统框架)。
示例(用 experta):
from experta import *
class Diagnosis(Fact):
"""症状事实"""
pass
class MedicalExpert(KnowledgeEngine):
@Rule(Diagnosis(fever=True, cough=True))
def flu(self):
print("可能是流感。")
@Rule(Diagnosis(headache=True, nausea=True))
def migraine(self):
print("可能是偏头痛。")
engine = MedicalExpert()
engine.reset()
engine.declare(Diagnosis(fever=True, cough=True))
engine.run()
✅ 特点:
-
支持多条规则同时推理
-
类似人工智能早期“专家系统”的核心逻辑
🤖 三、基于机器学习模型的推理
可以用训练好的模型来进行“智能推理”,例如用逻辑回归、决策树或神经网络。
示例(用决策树做推理):
from sklearn import tree
# 特征:发烧、咳嗽、头痛
X = [
[1, 1, 0], # 发烧+咳嗽
[0, 0, 1], # 头痛
[1, 0, 1], # 发烧+头痛
]
# 标签(疾病)
y = ["流感", "偏头痛", "中暑"]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)
# 推理:发烧+咳嗽
prediction = clf.predict([[1, 1, 0]])
print("推理结果:", prediction[0])
✅ 特点:
-
不用写规则
-
通过数据学习自动归纳“推理逻辑”
-
可扩展为智能助手或诊断系统
🧩 四、使用大语言模型(LLM)做推理(现代AI)
你也可以让模型像 ChatGPT 那样进行“自然语言推理”:
from openai import OpenAI
client = OpenAI(api_key="你的API_KEY")
prompt = """
已知:
1. 所有的猫都是动物。
2. 小黑是一只猫。
问:小黑是不是动物?
"""
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
print(response.choices[0].message.content)
✅ 特点:
-
支持复杂推理与上下文理解
-
可以接近人类逻辑思维
-
适合智能问答、法理分析、诊断决策等高级任务
✅ 小结对比
| 类型 | 实现难度 | 可解释性 | 智能程度 | 示例场景 |
|---|---|---|---|---|
| if-else规则 | ⭐ | ✅ 高 | ❌ 低 | 教学/简单诊断 |
| experta规则引擎 | ⭐⭐ | ✅ 高 | ⚙️ 中 | 专家系统 |
| 机器学习模型 | ⭐⭐⭐ | ⚙️ 中 | ✅ 中高 | 模式识别 |
| 大模型推理(LLM) | ⭐⭐⭐⭐ | ❌ 低 | 🌟 高 | 聊天、决策、问答 |
更多推荐


所有评论(0)