2.5 KiB
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
07. How to use AI Service | How to use AI services provided by CCAI | true | 2022-05-17T07:17:18.182Z | ccai | markdown | 2022-03-11T03:18:15.834Z |
As mentioned above in chapter 6, CCAI services work mode are:
AI services for CCAI include two parts, one is client-side, the other is server-side. Customer applications are so called client-side. The CCAI services are server-side. Client-side sends http post requests or gRPC requests to server-side, and server-side replies responses to client-side.
Request serving via REST APIs
For using REST APIs providing by CCAI, the common steps for implementing a request in your client application are:
- Construct post request
- url: AI services address. for example: url= 'http://localhost:8080/cgi-bin/fcgi_py_tts'.If client-side and server-side are not on the same machine, the localhost needs to be replaced with your ip address.
- post_parameter: different for different AI services.
- sending post request to fcgi AI service:
response = requests.post(url, post_parameter)
- Get the inference result from AI services. The response is the result.
Please refer to 10.1( FCGI APIs Manual) for detailed steps to implement different AI client applications.
Request serving via gRPC APIs
For using gRPC APIs providing by CCAI, the common steps for implementing a request in your client application are:
- create call credential
metadata_plugin = BasicAuthenticationPlugin(username, password)
call_cred = grpc.metadata_call_credentials(metadata_plugin)
- Create channel credential
channel_cred = grpc.ssl_channel_credentials()
- Open grpc secure channel, If client-side and server-side are not on the same machine, the localhost needs to be replaced with your ip address.
credentials = grpc.composite_channel_credentials(channel_cred, call_cred)
with grpc.secure_channel('localhost:' + port, credentials) as channel:
- Get the result
stub = inference_service_pb2_grpc.InferenceStub(channel)
Proxy setting
If you are behind a firewall or developing within another container or VM and want to communicate with a CCAI container running in the same physical machine, and your system has a proxy setting, you may need to check the proxy setting, the service IP address be set into the ‘no_proxy’.