sdk/dingdingSdk/alibabacloud_dingtalk/algo_1_0/client.py

284 lines
11 KiB
Python
Raw Permalink Normal View History

2025-08-19 10:20:23 +00:00
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from Tea.core import TeaCore
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_gateway_dingtalk.client import Client as GatewayClientClient
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_dingtalk.algo_1_0 import models as dingtalkalgo__1__0_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
class Client(OpenApiClient):
"""
*\
"""
def __init__(
self,
config: open_api_models.Config,
):
super().__init__(config)
gateway_client = GatewayClientClient()
self._spi = gateway_client
self._endpoint_rule = ''
if UtilClient.empty(self._endpoint):
self._endpoint = 'api.dingtalk.com'
def nlp_word_distinguish_with_options(
self,
request: dingtalkalgo__1__0_models.NlpWordDistinguishRequest,
headers: dingtalkalgo__1__0_models.NlpWordDistinguishHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkalgo__1__0_models.NlpWordDistinguishResponse:
"""
@summary 自然语言处理之关键词识别
@param request: NlpWordDistinguishRequest
@param headers: NlpWordDistinguishHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: NlpWordDistinguishResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.attach_extract_decision_info):
body['attachExtractDecisionInfo'] = request.attach_extract_decision_info
if not UtilClient.is_unset(request.isv_app_id):
body['isvAppId'] = request.isv_app_id
if not UtilClient.is_unset(request.text):
body['text'] = request.text
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='NlpWordDistinguish',
version='algo_1.0',
protocol='HTTP',
pathname=f'/v1.0/algo/okrs/keywords/extract',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkalgo__1__0_models.NlpWordDistinguishResponse(),
self.execute(params, req, runtime)
)
async def nlp_word_distinguish_with_options_async(
self,
request: dingtalkalgo__1__0_models.NlpWordDistinguishRequest,
headers: dingtalkalgo__1__0_models.NlpWordDistinguishHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkalgo__1__0_models.NlpWordDistinguishResponse:
"""
@summary 自然语言处理之关键词识别
@param request: NlpWordDistinguishRequest
@param headers: NlpWordDistinguishHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: NlpWordDistinguishResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.attach_extract_decision_info):
body['attachExtractDecisionInfo'] = request.attach_extract_decision_info
if not UtilClient.is_unset(request.isv_app_id):
body['isvAppId'] = request.isv_app_id
if not UtilClient.is_unset(request.text):
body['text'] = request.text
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='NlpWordDistinguish',
version='algo_1.0',
protocol='HTTP',
pathname=f'/v1.0/algo/okrs/keywords/extract',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkalgo__1__0_models.NlpWordDistinguishResponse(),
await self.execute_async(params, req, runtime)
)
def nlp_word_distinguish(
self,
request: dingtalkalgo__1__0_models.NlpWordDistinguishRequest,
) -> dingtalkalgo__1__0_models.NlpWordDistinguishResponse:
"""
@summary 自然语言处理之关键词识别
@param request: NlpWordDistinguishRequest
@return: NlpWordDistinguishResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkalgo__1__0_models.NlpWordDistinguishHeaders()
return self.nlp_word_distinguish_with_options(request, headers, runtime)
async def nlp_word_distinguish_async(
self,
request: dingtalkalgo__1__0_models.NlpWordDistinguishRequest,
) -> dingtalkalgo__1__0_models.NlpWordDistinguishResponse:
"""
@summary 自然语言处理之关键词识别
@param request: NlpWordDistinguishRequest
@return: NlpWordDistinguishResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkalgo__1__0_models.NlpWordDistinguishHeaders()
return await self.nlp_word_distinguish_with_options_async(request, headers, runtime)
def okr_open_recommend_with_options(
self,
request: dingtalkalgo__1__0_models.OkrOpenRecommendRequest,
headers: dingtalkalgo__1__0_models.OkrOpenRecommendHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkalgo__1__0_models.OkrOpenRecommendResponse:
"""
@summary Okr内容推荐
@param request: OkrOpenRecommendRequest
@param headers: OkrOpenRecommendHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: OkrOpenRecommendResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.candidate_okr_items):
body['candidateOkrItems'] = request.candidate_okr_items
if not UtilClient.is_unset(request.corp_id):
body['corpId'] = request.corp_id
if not UtilClient.is_unset(request.dept_ids):
body['deptIds'] = request.dept_ids
if not UtilClient.is_unset(request.isv_app_id):
body['isvAppId'] = request.isv_app_id
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
if not UtilClient.is_unset(request.words):
body['words'] = request.words
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='OkrOpenRecommend',
version='algo_1.0',
protocol='HTTP',
pathname=f'/v1.0/algo/okrs/recommend',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkalgo__1__0_models.OkrOpenRecommendResponse(),
self.execute(params, req, runtime)
)
async def okr_open_recommend_with_options_async(
self,
request: dingtalkalgo__1__0_models.OkrOpenRecommendRequest,
headers: dingtalkalgo__1__0_models.OkrOpenRecommendHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkalgo__1__0_models.OkrOpenRecommendResponse:
"""
@summary Okr内容推荐
@param request: OkrOpenRecommendRequest
@param headers: OkrOpenRecommendHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: OkrOpenRecommendResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.candidate_okr_items):
body['candidateOkrItems'] = request.candidate_okr_items
if not UtilClient.is_unset(request.corp_id):
body['corpId'] = request.corp_id
if not UtilClient.is_unset(request.dept_ids):
body['deptIds'] = request.dept_ids
if not UtilClient.is_unset(request.isv_app_id):
body['isvAppId'] = request.isv_app_id
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
if not UtilClient.is_unset(request.words):
body['words'] = request.words
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='OkrOpenRecommend',
version='algo_1.0',
protocol='HTTP',
pathname=f'/v1.0/algo/okrs/recommend',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkalgo__1__0_models.OkrOpenRecommendResponse(),
await self.execute_async(params, req, runtime)
)
def okr_open_recommend(
self,
request: dingtalkalgo__1__0_models.OkrOpenRecommendRequest,
) -> dingtalkalgo__1__0_models.OkrOpenRecommendResponse:
"""
@summary Okr内容推荐
@param request: OkrOpenRecommendRequest
@return: OkrOpenRecommendResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkalgo__1__0_models.OkrOpenRecommendHeaders()
return self.okr_open_recommend_with_options(request, headers, runtime)
async def okr_open_recommend_async(
self,
request: dingtalkalgo__1__0_models.OkrOpenRecommendRequest,
) -> dingtalkalgo__1__0_models.OkrOpenRecommendResponse:
"""
@summary Okr内容推荐
@param request: OkrOpenRecommendRequest
@return: OkrOpenRecommendResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkalgo__1__0_models.OkrOpenRecommendHeaders()
return await self.okr_open_recommend_with_options_async(request, headers, runtime)