我一直想實(shí)現(xiàn)一個(gè)功能:
復(fù)制網(wǎng)址,一鍵總結(jié)并保存到備忘錄??
具體效果如下:
第一步:復(fù)制??鏈接
第二步:點(diǎn)擊快捷指令-網(wǎng)頁(yè)總結(jié)
然后總結(jié)后的文章自動(dòng)出現(xiàn)在??備忘錄
Jina Reader
這個(gè)我之前介紹過(guò):如此“爬蟲”?代碼全省了
方法是在r.jina.ai
后加網(wǎng)址,curl
用法如下,為取content
方便,響應(yīng)采用 JSON
格式
curl 'https://r.jina.ai/https://example.com' \
-H "Accept: application/json" \
-H "Authorization: Bearer jina_f6a1bafa163a4e18a2a2a47ac032b6edm3QgnduR2x93q5lSYLRBq-ZiOOUg"
備注:里面這個(gè)jina_
開頭的是JINA_API_KEY
,你可以去https://jina.ai/reader/
拷貝
它的返回結(jié)果是如下格式:
{
"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)"
}
}
這個(gè)不過(guò)多說(shuō)了,昨天我的文章中第二次介紹了用法:全文翻譯了吳恩達(dá)《如何打造AI職業(yè)生涯》PDF,附教程
Prompt
設(shè)計(jì)
"content": (
"你是一個(gè)擅長(zhǎng)總結(jié)長(zhǎng)文本的助手,能夠總結(jié)用戶給出的文本,并生成摘要\n"
"## 工作流程:\n"
"讓我們一步一步思考,閱讀我提供的內(nèi)容,并做出以下操作:\n"
"標(biāo)題:xxx\n"
"標(biāo)簽:閱讀文章內(nèi)容后給文章打上標(biāo)簽,標(biāo)簽通常是領(lǐng)域、學(xué)科或?qū)S忻~\n"
"一句話總結(jié)這篇文文章:xxx\n"
"總結(jié)文章內(nèi)容并寫成摘要:xxx"
)
這部分也很簡(jiǎn)單:
1、讀取粘貼板
2、運(yùn)行腳本
3、將腳本運(yùn)行結(jié)果保存到備忘錄
這里是個(gè)坑,快捷指令中的python環(huán)境是在/usr/bin/python3
正常方式安裝requests包會(huì)報(bào)錯(cuò)如下:
正確姿勢(shì)是Terminal中運(yùn)行:
/usr/bin/python3 -m pip install requests
這里就不啰嗦了,直接放出完整代碼:
import requests
import json
# API 密鑰
JINA_API_KEY = "jina_你復(fù)制的api"
DEEPSEEK_API_KEY = "sk-你的api"
# 步驟 1: 獲取網(wǎng)頁(yè)內(nèi)容
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)
# 檢查響應(yīng)狀態(tài)碼
if response.status_code == 200:
data = response.json()
title = data['data']['title']
content = data['data']['content']
# 步驟 3: 將內(nèi)容傳遞給 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": "你是一個(gè)擅長(zhǎng)總結(jié)長(zhǎng)文本的助手,能夠總結(jié)用戶給出的文本,并生成摘要\n## 工作流程:\n讓我們一步一步思考,閱讀我提供的內(nèi)容,并做出以下操作:\n 標(biāo)題:xxx\n 標(biāo)簽:閱讀文章內(nèi)容后給文章打上標(biāo)簽,標(biāo)簽通常是領(lǐng)域、學(xué)科或?qū)S忻~\n 一句話總結(jié)這篇文文章:xxx\n 總結(jié)文章內(nèi)容并寫成摘要:xxx"},
{"role": "user", "content": content}
],
"stream": False
}
deepseek_response = requests.post(deepseek_url, headers=deepseek_headers, json=deepseek_data)
# 步驟 4: 從 DeepSeek API 的響應(yīng)中提取摘要內(nèi)容
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 響應(yīng)時(shí)出錯(cuò):{e}")
print(f"原始響應(yīng):{deepseek_response.text}")
粘貼到快捷指令中,注意下search_url那里:
以上
如有幫助,求個(gè)??
我“參加了”阿里巴巴全球數(shù)學(xué)競(jìng)賽決賽,分享一下經(jīng)驗(yàn)
搭建機(jī)器學(xué)習(xí)開發(fā)環(huán)境及Python基礎(chǔ),108頁(yè)P(yáng)DF
116頁(yè)P(yáng)DF小冊(cè)子:機(jī)器學(xué)習(xí)中的概率論、統(tǒng)計(jì)學(xué)、線性代數(shù)
聯(lián)系客服