首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >开发了一个快捷指令,一键AI总结网页,保存到本地,附代码

开发了一个快捷指令,一键AI总结网页,保存到本地,附代码

作者头像
Ai学习的老章
发布2024-08-01 19:09:48
发布2024-08-01 19:09:48
1.2K0
举报

我一直想实现一个功能

复制网址,一键总结并保存到备忘录📕

具体效果如下:

第一步:复制🔗链接

第二步:点击快捷指令-网页总结

然后总结后的文章自动出现在📕备忘录

实现过程

准备工作1:Jina Reader

这个我之前介绍过:如此“爬虫”?代码全省了

方法是在r.jina.ai后加网址,curl 用法如下,为取content方便,响应采用 JSON 格式

代码语言:javascript
复制
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/ 拷贝

它的返回结果是如下格式:

代码语言:javascript
复制
{
  "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 api

这个不过多说了,昨天我的文章中第二次介绍了用法:全文翻译了吴恩达《如何打造AI职业生涯》PDF,附教程

Prompt 设计

代码语言:javascript
复制
"content": (
 "你是一个擅长总结长文本的助手,能够总结用户给出的文本,并生成摘要\n"
 "## 工作流程:\n"
 "让我们一步一步思考,阅读我提供的内容,并做出以下操作:\n"
 "标题:xxx\n"
 "标签:阅读文章内容后给文章打上标签,标签通常是领域、学科或专有名词\n"
 "一句话总结这篇文文章:xxx\n"
 "总结文章内容并写成摘要:xxx"
)

准备工作3:快捷指令设计

这部分也很简单:

1、读取粘贴板

2、运行脚本

3、将脚本运行结果保存到备忘录

工作工作4:环境准备

这里是个坑,快捷指令中的python环境是在/usr/bin/python3

正常方式安装requests包会报错如下:

正确姿势是Terminal中运行:

代码语言:javascript
复制
/usr/bin/python3 -m pip install requests

准备工作5:Python脚本开发

这里就不啰嗦了,直接放出完整代码:

代码语言:javascript
复制
import requests
import json

# API 密钥
JINA_API_KEY = "jina_你复制的api"
DEEPSEEK_API_KEY = "sk-你的api"

# 步骤 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那里:

以上

如有帮助,求个👍

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 实现过程
    • 准备工作1:Jina Reader
    • 准备工作2: DeepSeek api
    • 准备工作3:快捷指令设计
    • 工作工作4:环境准备
    • 准备工作5:Python脚本开发
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档