AI 채팅 목록 조회

지정한 AI 대화의 채팅 메시지 목록을 최신순으로 조회합니다. since 매개변수에 채팅 GUID를 지정하면 해당 채팅 이전의 메시지를 가져와 무한 스크롤 형태로 활용할 수 있습니다. 새 질문은 AI 채팅 질문 전송 API로 전송합니다.

필요 권한

로그인한 계정으로 이용할 수 있습니다. 각 사용자는 자신이 생성한 대화의 채팅만 조회할 수 있습니다.

HTTP 요청

GET /api/sonar/ai/conversations/:guid/chats
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     "https://HOSTNAME/api/sonar/ai/conversations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/chats?limit=10"
요청 매개변수
경로 매개변수
타입설명비고
guid문자열대화 GUID36자
쿼리 매개변수
필수타입설명비고
sinceX문자열기준 채팅 GUID지정 시 해당 채팅 이전의 메시지를 반환
limitO32비트 정수최대 갯수

정상 응답

{
  "chats": [
    {
      "guid": "c1d2e3f4-1234-5678-9abc-def012345678",
      "conversation_guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "category": "AUTO",
      "question": "최근 1시간 동안 차단된 IP를 알려줘",
      "tasks": [
        {
          "chat_guid": "c1d2e3f4-1234-5678-9abc-def012345678",
          "idx": 1,
          "content": "차단 이력 조회",
          "category": "ACTION",
          "status": "COMPLETED",
          "need_approve": false,
          "approved": false,
          "request": {
            "action": "rest-api",
            "method": "GET",
            "path": "/api/sonar/response-logs",
            "params": {}
          },
          "response": {
            "total_count": 3
          }
        }
      ],
      "created": "2024-09-15 14:30:05+0900",
      "updated": "2024-09-15 14:30:30+0900"
    }
  ]
}
  • chats (배열): 채팅 메시지 목록 (최신순)
    • guid (문자열): 채팅 GUID
    • conversation_guid (문자열): 소속 대화 GUID
    • category (문자열): 채팅 처리 모드 (AUTO, PLAIN, QNA, ACTION)
    • question (문자열): 사용자 질문
    • tasks (배열): 태스크 목록
      • chat_guid (문자열): 소속 채팅 GUID
      • idx (32비트 정수): 태스크 순번 (1부터 시작)
      • content (문자열): 태스크 내용
      • category (문자열): 태스크 처리 모드 (AUTO, PLAIN, QNA, ACTION)
      • status (문자열): 태스크 상태 (WAIT, LOADED, WAIT_APPROVE, COMPLETED, ERROR, STOPPED)
      • need_approve (불리언): 실행 전 승인 필요 여부. 상태가 WAIT가 아닐 때만 포함됩니다.
      • approved (불리언): 승인 완료 여부. 상태가 WAIT가 아닐 때만 포함됩니다.
      • request (맵): 태스크가 수행하는 요청 정보(액션 종류, 호출 메서드·경로, 파라미터 등). 상태가 WAIT가 아니며 요청 정보가 있을 때만 포함됩니다.
      • response (맵): 요청 수행 결과. 상태가 WAIT가 아니며 응답이 있을 때만 포함됩니다.
      • post_action (맵): 후처리 결과. 상태가 WAIT가 아니며 후처리가 있을 때만 포함됩니다.
      • error (맵): 오류 정보. 상태가 WAIT가 아니며 오류가 발생했을 때만 포함됩니다.
      • stream (맵): 진행 중인 LLM 스트리밍 응답 정보. 스트리밍이 진행 중일 때만 포함됩니다.
    • created (문자열): 채팅 생성 시각 (yyyy-MM-dd HH:mm:ssZ 형식)
    • updated (문자열): 채팅 수정 시각 (yyyy-MM-dd HH:mm:ssZ 형식)

오류 응답

필수 매개변수가 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "limit should be not null"
}
guid가 GUID 형식이 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-param-type",
  "error_msg": "guid should be guid type."
}
limit 값이 정수가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'limit' parameter should be int type"
}