【API進階之路】破圈,用一個API代替10人內容團隊
摘要:我用一個API代替10人內容團隊,一年幫老闆省了一百萬。
自從學習API以後,我用技術手段相繼幫助業務部、市場部解決了不少難題,算是從純研發破圈發展到了業務端。老闆召開業務討論會的時候也會帶上我,希望我能從技術角度幫助公司解決業務問題,提升業務的效率和業績。
前幾天的業務討論會上,業務部門提出:現在官網的整體流量已具規模,接下來要加大資訊內容的運營力度,將原本的資訊內容獨立出來成為一個單獨的產品,透過優質內容給業務導流,提升現有使用者的留存率。說白了就是給公司建立一個私域流量池,將使用者聚集沉澱下來。
按照運營部門的規劃,需要專門組建一支編輯團隊來負責資訊產品的內容生產,主要職責包括:內容轉載、改編、摘要編輯、內容推薦等。根據官網的日訪問量和內容需求的速度預估,現有的3人遠遠不夠,至少需要再招聘10個編輯。
老闆覺得13人的編輯團隊成本有點高,且新團隊組建的風險也比較大。沉默了一會兒後,他看向我:“聽說有一種技術,可以自動篩選和獲取優質的文章,你瞭解嗎?”我還沒開口,運營老大說:“獲取的文章還是需要編輯來寫摘要和推薦語,這些也都是工作量。”他說得很有道理,必須同時解決篩選內容、獲取內容、摘要生成等多個問題。
在心裡默默地過了一遍我瞭解的API,有一個“文字摘要生成API”正好可以滿足我們這個場景,整理了一下思路後,我回答了他們的問題:
“我們可以利用現有技術獲取站外優質內容,由編輯同事提供內容獲取來源,用關鍵詞分析API和語義分析API判斷獲取內容的健康度,然後用“文字摘要生成API”對內容進行分析,提取文章的核心內容,自動生成文章摘要,最後由編輯來做優質內容的推薦和push,這樣下來最多3個編輯就夠了。”
老闆聽完非常開心,當即敲定就這麼辦!散會後我馬上寫了一個文件,讓部門的研發同事去執行。
“文字摘要生成API”的呼叫方式如下。
一、不會寫程式碼?透過postman呼叫。
1.1 獲取Token
傳送一條POST請求。
POST:https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
Content-Type:application/json
Body:
{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "華為雲使用者名稱", "password": "華為雲密碼", "domain": { "name": "華為雲使用者名稱" } } } }, "scope": { "project": { "name": "cn-north-4" } } } }
請求結果:點選[Headers],檢視x-subject-token對應的值。如圖所示。
1.2 請求介面
1.2.1 獲取專案ID
登入華為雲 →點選控制檯 →點選自己使用者名稱[我的憑證] →專案cn-north-4對應的專案ID。
1.2.2 呼叫postman
傳送一條POST請求
POST:https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/{project id}/nlg/summarization/domain
Headers:
Content-Type:application/json
X-Auth-Token:上一步獲取的Token值
Body:
{ "length_limit": 50, "title": "文章標題", "lang": "zh", "content": "文章內容" }
引數:length_limit 表示生成摘要的長度限制
- 如果 length_limit > 1,則表示摘要的具體字數;
- 如果 0 <= length_limit <=1,則表示生成摘要佔原文長度的百分比;
預設數值為0.3
請求結果:
二、會寫程式碼?Python為你一條龍服務
以2020浙江省高考滿分作文為例,原文地址:
請求示例:
#-*- version: Python3.0 -* #-*- coding: UTF-8 -* import json import requests """ 所有全域性變數 """ # 代理 PROXY = { "http": "", "https": "https:// xxx:xxx@xxx.com:8080/" } # 華為雲賬號、密碼、 NAME = "xxx" PASSWD = "xxx" ENDPOINT = 'nlp-ext.cn-north-4.myhuaweicloud.com' # 華北-北京四 PROJECT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx' # 控制檯-使用者名稱-我的憑證 # Token的有效期為24小時,需要使用一個Token鑑權時,可以先快取起來,避免頻繁呼叫。 def Get_Token(name, passwd, project_name): URL = 'https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens' headers = {'Content-Type': 'application/json'} post_data = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": name, "password": passwd, "domain": {"name": name} } } }, "scope": {"project": {"name": project_name}} } } post_data = json.dumps(post_data, ensure_ascii=False) content = requests.post(url=URL, data=post_data.encode('utf-8'), headers=headers, proxies=PROXY, verify=False) token = content.headers["x-subject-token"] # print(token) return token # 讀取文章 def Read_News(frname): with open(frname, 'r', encoding='utf-8') as fr: return fr.read() def Use_API_NLG_summarization(token, title, content): # URL是URI的一個子集 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} serve_name = 'nlg/summarization/domain' # 服務名和下面請求資料格式對應 URI = "https://{endpoint}/v1/{project_id}/{serve_name}".format(endpoint=ENDPOINT, project_id=PROJECT_ID, serve_name=serve_name) post_data = { "length_limit": 50, "title": title, "lang": "zh", "content": content } headers = { 'Content-Type': 'application/json', 'X-Auth-Token': token } post_data = json.dumps(post_data, ensure_ascii=False) content = requests.post(url=URI, data=post_data.encode('utf-8'), headers=headers, proxies=PROXY, verify=False) content = json.loads(content.text) print(content) if __name__ == "__main__": token = Get_Token(NAME, PASSWD, "cn-north-4") Use_API_NLG_summarization(token, "生活在樹上", Read_News("./tmp_news.txt")[:10000])
主函式執行,返回結果。
從返回結果可以看出此API對作文的中心思想進行了精準地提取。
透過API自動完成文章獲取、篩選、摘要提取,一篇文章只需要十幾秒,不僅不用新招內容運營,原有3個編輯的工作也輕鬆了不少。資訊網站上的內容豐富了,使用者活躍度也提升了,不少使用者留言:“每天來你們這看看新聞,都養成習慣了。”
——分割線——
“免費下載創新加速利器《華為雲API精選手冊》。
4.18MB
——活動推薦——
華為雲已經成為全球主要雲服務供應商,在華為雲上開放了2400+ API,包括計算、儲存、網路、應用服務、軟體開發服務、影片、資料庫、EI智慧等74+產品,如何利用這些豐富強大的API快速開發自己的應用和服務,成為大家關注的熱點。
華為雲API學習賽,為入門初學者量身定製的學習平臺,以賽帶學,學以致用。無需程式碼,只需下載體驗模板,按操作文件操作即可完成作品。參賽、邀請都有豐富獎品,還有機會拿P40 5G手機超級激勵!!
API入門學習賽·AI人臉識別
API入門學習賽·探險尋寶之旅
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2796434/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 技術管理進階——團隊一盤散沙,怎麼破?
- 【API進階之路】高考要考口語?我用多模態評測API做了一場10w+刷屏活動API
- TeamTopologies/Team-API-template:用於定義團隊拓撲中團隊API 的模板API
- 【API進階之路6】一個技術盲點,差點讓整個專案翻車API
- 探索 .NET團隊對API的設計流程API
- DevOps 團隊如何防禦 API 攻擊devAPI
- React 進階之路(一)React
- Django進階之路(一)Django
- 呼叫內容生成二維碼的apiAPI
- 程式猿進階之路“內網域名”內網
- Java成長之路--一個非科班生的進階之路Java
- laravel 5.4 + dingo api + jwt 代替 PassportLaravelGoAPIJWTPassport
- Django REST framework API 指南(19):內容協商DjangoRESTFrameworkAPI
- ShowDoc v2.10.0 釋出, IT 團隊的線上 API 文件、技術文件工具API
- 用一個通俗的例子講清楚APIAPI
- ShowDoc v2.7.0 釋出, IT 團隊的線上 API 文件工具API
- 網頁可讀內容抽取 API 資料介面網頁API
- Fetch 代替 Ajax 的瀏覽器 API瀏覽器API
- ListView進階系列之一 內容順序淡淡顯示View
- API Star:一個 Python 3 的 API 框架APIPython框架
- 一個程式設計師的技術進階之路程式設計師
- Js高階APIJSAPI
- 用爬蟲寫一個 GitHub Trending API爬蟲GithubAPI
- API 閘道器的10個最常見用例API
- 如何知道一個開發人員是否能融入團隊?
- HTML API + CSS 控制頁面列印內容和樣式HTMLAPICSS
- 團隊里程碑階段一總結
- Typescript進階之路TypeScript
- Java進階之路Java
- OpenCV進階之路:一個簡化的視訊摘要程式OpenCV
- 利用網頁版微信API做一個微信機器人網頁API機器人
- 團隊動力之團隊發展階段理論
- 【Azure API 管理】API Management如何有效且快速更新呢?如對APIs/Policy等設定內容API
- iOS 用fastlane進行團隊證書管理iOSAST
- 用 Go 快速開發一個 RESTful API 服務GoRESTAPI
- 用Flask寫一個上傳圖片的APIFlaskAPI
- 技術管理進階——團隊合併、解散怎麼辦?
- API優先(API-first)是一個壞主意! - stilkovAPI