我一直想实现一个功能:
复制网址,一键总结并保存到备忘录📕
具体效果如下:
第一步:复制🔗链接
第二步:点击快捷指令-网页总结
然后总结后的文章自动出现在📕备忘录
实现方法
准备工作1:通过Jina Reader
读取网页内容
这个我之前介绍过:如此“爬虫”?代码全省了
方法是在r.jina.ai
后加网址,curl
用法如下,为取content
方便,响应采用 JSON
格式
1
2
3
curl 'https://r.jina.ai/https://example.com' \
-H "Accept: application/json" \
-H "Authorization: Bearer jina_f6a1bafa163a4e18a2a2a47ac032b6edm3QgnduR2x93q5lSYLRBq-ZiOOUg"
备注:里面这个jina_
开头的是JINA_API_KEY
,你可以去https://jina.ai/reader/
拷贝
它的返回结果是如下格式:
1
2
3
4
5
6
7
8
9
10
{
"code": 200,
"status": 20000,
"data": {
"title": "Example Domain",
"url": "https://example.com/",
"content": "This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.\n\n[More information...](https://www.iana.org/domains/example)"
}
}
准备工作2:deepseek
这个不过多说了,昨天我的文章中第二次介绍了用法:全文翻译了吴恩达《如何打造AI职业生涯》PDF,附教程
Prompt
设计
1
2
3
4
5
6
7
8
9
"content": (
"你是一个擅长总结长文本的助手,能够总结用户给出的文本,并生成摘要\n"
"## 工作流程:\n"
"让我们一步一步思考,阅读我提供的内容,并做出以下操作:\n"
"标题:xxx\n"
"标签:阅读文章内容后给文章打上标签,标签通常是领域、学科或专有名词\n"
"一句话总结这篇文文章:xxx\n"
"总结文章内容并写成摘要:xxx"
)
准备工作3:快捷指令设计
这部分也很简单:
1、读取粘贴板
2、运行脚本
3、将脚本运行结果保存到备忘录
工作工作4:环境准备
这里是个坑,快捷指令中的python环境是在/usr/bin/python3
正常方式安装requests包会报错如下:
正确姿势是Terminal中运行:
1
/usr/bin/python3 -m pip install requests
准备工作5:Python脚本开发
这里就不啰嗦了,直接放出完整代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import requests
import json
# API 密钥
JINA_API_KEY = "jina_"
DEEPSEEK_API_KEY = "sk-"
# 步骤 1: 获取网页内容
jinna_url = "https://r.jina.ai"
search_url = 'Clipboard'
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer jina_f6a1bafa163a4e18a2a2a47ac032b6edm3QgnduR2x93q5lSYLRBq-ZiOOUg'
}
response = requests.get(f"{jinna_url}/{search_url}", headers=headers)
# 检查响应状态码
if response.status_code == 200:
data = response.json()
title = data['data']['title']
content = data['data']['content']
# 步骤 3: 将内容传递给 DeepSeek API
deepseek_url = "https://api.deepseek.com/chat/completions"
deepseek_headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {DEEPSEEK_API_KEY}"
}
deepseek_data = {
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "你是一个擅长总结长文本的助手,能够总结用户给出的文本,并生成摘要\n## 工作流程:\n让我们一步一步思考,阅读我提供的内容,并做出以下操作:\n 标题:xxx\n 标签:阅读文章内容后给文章打上标签,标签通常是领域、学科或专有名词\n 一句话总结这篇文文章:xxx\n 总结文章内容并写成摘要:xxx"},
{"role": "user", "content": content}
],
"stream": False
}
deepseek_response = requests.post(deepseek_url, headers=deepseek_headers, json=deepseek_data)
# 步骤 4: 从 DeepSeek API 的响应中提取摘要内容
try:
summary = deepseek_response.json()['choices'][0]['message']['content']
print(summary)
print("\n")
print(f"原文: {search_url}")
except Exception as e:
print(f"处理 DeepSeek API 响应时出错:{e}")
print(f"原始响应:{deepseek_response.text}")
粘贴到快捷指令中,注意下search_url那里:
以上
如有帮助,求个👍