【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": ,
"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. -*
#-*- coding: UTF- -* 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": ,
"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")[:])
主函数执行,返回结果。
从返回结果可以看出此API对作文的中心思想进行了精准地提取。
通过API自动完成文章获取、筛选、摘要提取,一篇文章只需要十几秒,不仅不用新招内容运营,原有3个编辑的工作也轻松了不少。资讯网站上的内容丰富了,用户活跃度也提升了,不少用户留言:“每天来你们这看看新闻,都养成习惯了。”
——分割线——
“免费下载创新加速利器《华为云API精选手册》。
华为云API精选手册(第一期刊).pdf 4.18MB
——活动推荐——
华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。
华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!
API入门学习赛·AI人脸识别
API入门学习赛·探险寻宝之旅
【API进阶之路】破圈,用一个API代替10人内容团队的更多相关文章
- 【API进阶之路】研发需求突增3倍,测试团队集体闹离职
摘要:最近研发的需求量涨了3倍,开发团队拼命赶进度,可苦了测试团队. 本以为从一线研发转管理后会清闲一些,但是没想到,我还要充当救火队员的角色. 到了第四季度,各业务部门都在憋着劲儿冲业绩,毕竟这跟年 ...
- 【API进阶之路】API带来的微创新,打动投资人鼓励我创业
摘要:怎么帮助创作者提高视频的推荐量呢?我发现了:视频的封面图非常重要. 上回说到,老板一拍脑门,交代了一个新项目:小成本开发一款短视频剪辑工具([<[API进阶之路]人少钱少需求多的新项目该怎 ...
- 【API进阶之路】用API打造一条自动化内容生产流水线
摘要:搞定了内容审核之后,我又把抓取工具.内容审核API.文本摘要生成API串联在一起,从抓到审再到编,建立了一条自动化的内容生产流水线,编辑团队只需要做优质内容的推荐就可以了. 上周,运营部将官网上 ...
- 【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏
摘要:通过把所需建立的工具库做成云容器化应用,用CCE引擎,通过API网关调用云容器引擎中的容器应用.不仅顺应了云原生的发展趋势,还能随时弹性扩容,满足公司规模化发展的需求. 公司开完年中会后,大家的 ...
- Java:API文档;文档注释中的javadoc标记;官方API;自己动手给项目建一个API文档
1.什么是API文档 在Java语言中有3种注释 //单行注释 /* 多行注释 */ /** * 文档注释 */ API(应用程序接口)文档就是用javadoc命令提取文档注释生成的,html格式,用 ...
- 【API进阶之路6】一个技术盲点,差点让整个项目翻车
上次教了实习生一个方案之后,这小子跟运营妹子的关系是越走越近,时不时地撒把狗粮,在我司真正实现了研发运营一家亲~(上回你没看?戳上文剧情回顾:万万没想到,一个技术方案帮实习生追到了运营妹子) 这回想跟 ...
- 【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动
摘要:闲着没事用多模态评测API做了一个测评英语口语的互动小游戏,居然成了一场10万人参与的刷屏级活动. 上一期故事说到,我成为了公司技术委员会副主席,上任后的第一件事是建立了一个云容器化的研发资料库 ...
- 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播
摘要:看我如何通过API Explorer 的SDK接口搞定千万级流量直播. 最近几个月,我的变化其实还蛮大的,从一个被实习生“无视”的“前浪”,转变成了不仅能够解决技术问题还能解决业务问题(顺手还能 ...
- 【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研
摘要:自从学习API后,仿佛解锁了新技能,可别小看了一个小小的API接口,用好了都是能力无穷.这不,用情感分析API来做用户偏好调研,没想到这么一个小创意给公司省了20万调研费用. 上次借着高考热点整 ...
随机推荐
- 【BZOJ1426】收集邮票 题解 (期望)
题目:有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所以皮 ...
- Flink的流处理API(二)
一.Environment 1,getExecutionEnvironment getExecutionEnvironment会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的 ...
- python3.5 continue和break 项目:买房分期付款(2)
#案例:买房分期付款24万(10年期限) i=1#定义年份sum1=0while i<=10: print("第",i,"年到了......") if i ...
- Qt编译出现cc1plus.exe: out of memory allocating 65536 bytes问题
今天编译Qt程序,出现这个问题: cc1plus.exe: out of memory allocating 65536 bytes 这个还没有遇到过,上网查了下.问题原因是资源文件过大. qt的资源 ...
- “随手记”开发记录day07
今天完成了关于我们页面中的相关信息,由于之前没有做过这个东西,只想着用一个view解决 可是发现我们整的太简单了,还是太年轻,最后想出来要跟java代码一起解决这个问题, 效果
- C语言学习笔记之函数指针与函数指针数组
指针函数:本质是一个函数: 是一个返回指针类型的函数int * sum(){ } 函数指针:本质是一个指针: 是一个指向函数的指针 int (*p)(int,int) = sum; p(5,6); i ...
- webMvcConfigurer的详情
摘要 Spring的WebMvcConfigurer接口提供了很多方法让我们来定制SpringMVC的配置.而且Spring还提供了WebMvcConfigurerAdap ...
- Weighted-Residual-Connections
- Go语言入门系列(五)之指针和结构体的使用
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念 ...
- SourceTreet提交时显示remote: Incorrect username or password ( access token )(4种解决办法)
引言 我因为第一次安装Sources Tree的时候进行破解时(跳过安装时的登录),因为操作失误造成了好多bug,导致Sources Tree不论提交,拉取,获取,都会报remote: Incorre ...