API 사용하기

API(어플리케이션 프로그래밍 인터페이스)는 인공지능의 구현 방식을 알지 못해도, 제품 또는 서비스가 서로 커뮤니케이션 할 수 있으며, 어플리케이션 개발을 간소화하여 시간과 비용을 절약 할 수 있습니다.

CLICK AI에서 제공하는 API는 생성된 인공지능으로 매번 예측값을 구하는 수고스러움을 대신하여 프로그래밍을 통하여 자동화 하도록 해줍니다.

API 확인하기

1. 상단 네비게이션 바에서 학습을 클릭합니다.

2. 프로젝트 리스트에서 API를 확인하고자 모델이 있는 인공지능 프로젝트를 클릭합니다.

3. 프로젝트 하단의 모델 리스트에서 API를 확인하고자 하는 인공지능 모델의 상세보기를 클릭합니다.

4. 화면 중앙 좌측의 탭 중 API를 클릭합니다.

5. JavaScript/Python/wget/Java 총 4개의 언어로 API를 확인할 수 있습니다.

API로 예측하기

아래 코드는 예시로 작성된 것이며, 실제 코드와 상이할 수 있습니다.

개별예측

  1. 적합한 언어의 API를 복사하여 붙여놓고, 각 파라미터에 입력값을 입력합니다. 아래 코드 예시를 기준으로 parameter1은 칼럼명, test.csv는 학습 시 사용된 데이터 명을 의미합니다.

  2. 각 파라미터(칼럼)별 n에 입력값을 입력한 후 실행하면, 결과값을 확인할 수 있습니다.

import requests
import json

url = "http://0.0.0.0:xxxxx/predict/xxxxxx/"

payload = {"modelid":111111,"apptoken":"xxxxxx",
           "parameter": {"parameter1_test.csv":n,
                         "parameter2_test.csv":n,
                         "parameter3_test.csv":n,
                         "parameter4_test.csv":n,
                         "parameter5_test.csv":n,
                         "parameter6_test.csv":n,
                         "parameter7_test.csv":n}}
headers = {
             'content-type': "application/json",
             'cache-control': "no-cache",
           }

response = requests.request("POST", url, data=json.dumps(payload), headers=headers)

print(response.text)

일괄예측

  1. 각 칼럼(파라미터)별 값이 입력된 다수의 행을 csv 파일로 저장합니다.(본 예시에서는 test.csv에 해당합니다.)

  2. 다량의 행을 입력하고 결과를 확인하는 경우, 아래 코드 예시와 같이 sample 변수의 추가와 각 파라미터 별 입력값을 입력하는 위치에 row[0], row[1]...을 입력합니다.

  3. 코드를 실행하고 결과값을 확인합니다.

import requests
import json

url = "http://0.0.0.0:xxxxx/predict/xxxxxx/"

# sample = 샘플데이터
sample = pd.read_csv('test.csv', index_col=0)

for _, row in sample.iterrows():
    payload = {"modelid":111111,"apptoken":"xxxxxx",
               "parameter": {"parameter1_test.csv":row[0],
                             "parameter2_test.csv":row[1],
                             "parameter3_test.csv":row[2],
                             "parameter4_test.csv":row[3],
                             "parameter5_test.csv":row[4],
                             "parameter6_test.csv":row[5],
                             "parameter7_test.csv":row[6]}}
headers = {
             'content-type': "application/json",
             'cache-control': "no-cache",
           }

response = requests.request("POST", url, data=json.dumps(payload), headers=headers)

print(response.text)

다른 질문이 있으신가요? [email protected]로 문의주시면 도움을 드립니다.

Last updated