programming/python

[파이썬] chatgpt에서 받은 응답의 데이터형 확인

labj 2024. 3. 11. 12:08

chatgpt에서 받은 응답을 sample_json.json 이라고 파일로 저장해두고 시퀀스, 컬렉션을 확인해 봅니다. 

chatgpt에서 받은 응답은 json 형식입니다. 

* sample_json.json

{
  "id": "cBatnZhKsLxtcoq9aMOYvkmOlJUNUUj-8hpWh0",
  "object": "chat.completion",
  "created": 5691337009,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\uc7a1\ud1a0\uc774\ub780 \uac78 \ube0c\ub79c\ub4dc."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 67,
    "completion_tokens": 154,
    "total_tokens": 221
  },
  "system_fingerprint": null
}

 

sample_json.json 이라는 파일에 있는 내용을 파이썬을 이용해서 데이터형을 확인 해봅니다.

import json
s = '안녕하세요'
print(type(s))
with open('sample_json.json') as file:
    datas = json.load(file)
    print(datas)
    print(type(datas))
    json_test = datas['choices']
    print(json_test)
    print(type(json_test))
    print(json_test[0])
    print(json_test[0]['message'])
    print(type(json_test[0]['message']))
    print(json_test[0]['message']['content'])

 

 

확인 결과는 다음처럼 나옵니다. 이걸로 chatgpt에서 받은 응답의 데이터형이 어떤지 확인해 볼 수 있습니다. 

<class 'str'>
{'id': 'chatcmpl-8hKsnZBOtLxWMOYhoJUNUUjq9avk0', 'object': 'chat.completion', 'created': 1705339069, 'model': 'gpt-3.5-turbo-0613', 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': '잡토이란 걸 브랜드 명이 아닐 경우, "여러가지 장난감"이라는 뜻으로 해석하기도 합니다. 따라서, 잡토이에 대해 생각한다면 다양한 종류의 장난감들이 떠오를 수 있습니다. 예를 들면, 블록, 퍼즐, 인형, 자동차, 로봇 등 다양한 카테고리의 장난감들이 생각나겠죠.'}, 'logprobs': None, 'finish_reason': 'stop'}], 'usage': {'prompt_tokens': 67, 'completion_tokens': 154, 'total_tokens': 221}, 'system_fingerprint': None}
<class 'dict'>
[{'index': 0, 'message': {'role': 'assistant', 'content': '잡토이란 걸 브랜드 명이 아닐 경우, "여러가지 장난감"이라는 뜻으로 해석하기도 합니다. 따라서, 잡토이에 대해 생각한다면 다양한 종류의 장난감들이 떠오를 수 있습니다. 예를 들면, 블록, 퍼즐, 인형, 자동차, 로봇 등 다양한 카테고리의 장난감들이 생각나겠죠.'}, 'logprobs': None, 'finish_reason': 'stop'}]
<class 'list'>
{'index': 0, 'message': {'role': 'assistant', 'content': '잡토이란 걸 브랜드 명이 아닐 경우, "여러가지 장난감"이라는 뜻으로 해석하기도 합니다. 따라서, 잡토이에 대해 생각한다면 다양한 종류의 장난감들이 떠오를 수 있습니다. 예를 들면, 블록, 퍼즐, 인형, 자동차, 로봇 등 다양한 카테고리의 장난감들이 생각나겠죠.'}, 'logprobs': None, 'finish_reason': 'stop'}
{'role': 'assistant', 'content': '잡토이란 걸 브랜드 명이 아닐 경우, "여러가지 장난감"이라는 뜻으로 해석하기도 합니다. 따라서, 잡토이에 대해 생각한다면 다양한 종류의 장난감들이 떠오를 수 있습니다. 예를 들면, 블록, 퍼즐, 인형, 자동차, 로봇 등 다양한 카테고리의 장난감들이 생각나겠죠.'}
<class 'dict'>
잡토이란 걸 브랜드 명이 아닐 경우, "여러가지 장난감"이라는 뜻으로 해석하기도 합니다. 따라서, 잡토이에 대해 생각한다면 다양한 종류의 장난감들이 떠오를 수 있습니다. 예를 들면, 블록, 퍼즐, 인형, 자동차, 로봇 등 다양한 카테고리의 장난감들이 생각나겠죠.

 

확인해 보니 문자열(str), 사전(dict), 리스트(list)의 데이터형을 확인해 볼 수 있습니다.