【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浙江省高考滿分作文為例,原文地址:https://zhuanlan.zhihu.com/p/166373560

請求示例:

#-*- version: Python3.0 -*
#-*- coding: UTF-8      -*

import json
import requests

"""
所有全局變量
"""
# 代理
PROXY = {
        "http": "http://xxx:xxx@xxxx.com:8080/",
        "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精選手冊》。

華為雲API精選手冊(第一期刊).pdf 4.18MB

——活動推薦——

華為雲已經成為全球主要雲服務供應商,在華為雲上開放了2400+ API,包括計算、存儲、網絡、應用服務、軟件開發服務、視頻、數據庫、EI智能等74+產品,如何利用這些豐富強大的API快速開發自己的應用和服務,成為大家關注的熱點。

華為雲API學習賽,為入門初學者量身定制的學習平台,以賽帶學,學以致用。無需代碼,只需下載體驗模板,按操作文檔操作即可完成作品。參賽、邀請都有豐富獎品,還有機會拿P40 5G手機超級激勵!!

 

API入門學習賽·AI人臉識別

API入門學習賽·探險尋寶之旅

 

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM