《基于 DeepSeek 和 Dify 实现智能拍照解题》学习笔记
来源:华为培训课件(14 页) 主题:使用 Dify 工作流 + 华为云 OCR 服务 + DeepSeek 大模型实现智能拍照解题
课程目标
- 掌握 Dify 中调用华为云 OCR 服务 API 接口的方法。
- 掌握 Dify 工作流使用方法。
拍照解题工作流(三个关键节点)
| 序号 | 节点 | 作用 |
|---|---|---|
| 01 | 开始节点 | 提供 url 上传功能,将 url 输出给代码执行节点 |
| 02 | 代码执行节点 | 调用华为云 OCR 服务 API 接口,识别上传图片 |
| 03 | LLM 节点 | DeepSeek 大语言模型,解析 OCR 服务返回结果 |
整体流程:
用户上传图片URL → 开始节点 → 代码执行节点(OCR识别)→ LLM节点(DeepSeek解析)→ 结束节点输出答案
代码执行节点要点(Python 示例)
import http.client
import json
import ssl
def main(url: str) -> dict:
context = ssl._create_unverified_context()
conn = http.client.HTTPSConnection("ocr.cn-east-3.myhuaweicloud.com", context=context)
payload = json.dumps({"url": url})
headers = {
"X-Auth-Token": "你的X-Auth-Token", # 鉴权 token
"Content-Type": "application/json"
}
conn.request("POST", "/v2/0bc8d305ed00f3a42f4ac01b3ad5c406/ocr/general-text", payload, headers)
res = conn.getresponse()
data = json.loads(res.read().decode("utf-8"))
words_blocks = data['result']['words_block_list']
datas = ''.join(block['words'] for block in words_blocks)
return {"result": datas}
要点:
- 调用华为云 OCR 通用文字识别接口路径
/v2/.../ocr/general-text。 - 通过请求头
X-Auth-Token鉴权。 - 解析返回结果:遍历
result.words_block_list,拼接每个块的words文本返回。
思考题答案
1.(单选)Dify 工作流的第一个节点必须是哪个节点?
- A. 开始节点 B. LLM 节点 C. 参数提取节点 D. 代码执行节点
- 答案:A(开始节点)——工作流必须从开始节点发起。
记忆要点(一章速记)
- 拍照解题三节点:开始(传 URL)→ 代码执行(OCR 识别)→ LLM(DeepSeek 解析)。
- OCR 调用核心:
general-text接口 +X-Auth-Token鉴权。 - 工作流第一个节点必须是开始节点。