这篇博客给大家介绍一个python库 tencent (https://pypi.org/project/tencent/) 以及对应三方API的开发流程,以公众号后台通过腾讯服务器接入自动系统回复为例。基于微信公众号后台开发自动回复,或者利用多模态信息回复用户输入,需要自己有独立服务器和相关的后端框架才能验证成功。这样用户给公众号/订阅号发信息的时候,公众号后台会给你填写的服务器地址发送POST请求,经过验证之后你的服务端就可以给公众号提供自动回复的服务了。
安装 tencent 库
pip install tencent
验证是否安装成功
import tencent
如何可以看到一个"tencent"的logo或者是小马哥和企鹅的灰度图就代表成功了。
可以在 github repo(https://github.com/AI-Hub-Admin/tencent) 创建MR,Repo管理员会检查API的目标和安全性决定是否在合并。具体的开发 guidelines参考 (http://www.deepnlp.org/blog?category=tencent)
假设我们要实现一个名字为 "api_demo"的API,输入参数和输出参数支持可变长。
入参:
*args: 位置参数的元组
**kwargs: key-value类型入参
出参:
result: dict
class BaseAPI(object):
"""docstring for ClassName"""
def __init__(self, configs):
self.configs = configs
self.name = API_NAME_BASE
def api(self, args, kwargs):
"""
"""
class DemoAPI(BaseAPI):
"""docstring for ClassName"""
def __init__(self, configs):
super(DemoAPI, self).__init__(configs)
self.name = API_NAME_DEMO
def api(self, args, kwargs):
"""
Args:
args: tuple of args, (input)
kwargs: key value dict
Return:
res_dict: dict, multi-modal text text, image, audio and video
"""
api_input = ""
if len(args) > 0:
api_input = args[0]
res_dict = {}
res_dict["output"] = api_input
return res_dict
在文件 "/tencent/__init__.py" 中你可以 import 你的API,然后添加一行代码来注册你的API,之后就可以调用了。
注意:API类的name属性 (DemoAPI.name) 是区分你的API的唯一标识符号,admin 会检查命名冲突,不能影响。
from .base import *
SUPPORTED_APIS[DemoAPI(None).name] = {KEY_IMPL: DemoAPI}
import tencent
your_api_name="xxx"
res = tencent.api(your_api_name)
在顶层tencent目录的 tests目录下 (/tencent/tests/*.py),需要写你的单元测试,缺少单元测试的MR不会被考虑合并到 master分支。参考下面的 github的tests地址 github repo (https://github.com/AI-Hub-Admin/tencent/tree/main/tests)
https://github.com/AI-Hub-Admin/tencent
https://github.com/AI-Hub-Admin/FinanceAgent
https://github.com/AI-Hub-Admin/HealthcareAgent
https://github.com/AI-Hub-Admin/AI-Agents-Visualization
http://www.deepnlp.org/workspace/dialogue_visualization
http://www.deepnlp.org/workspace/agent_visualization
http://www.deepnlp.org/store/pub/pub-openai-o1
http://www.deepnlp.org/store/pub/pub-chatgpt-openai
http://www.deepnlp.org/blog/introduction-to-multimodal-generative-models
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。