Jump to content

chat-completions 호출 시 인증 문제


Recommended Posts

String url = "https://clovastudio.stream.ntruss.com/v1/tasks/" + modelId + "/chat-completions";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer "+ API_KEY);
headers.set("X-NCP-CLOVASTUDIO-REQUEST-ID", UUID.randomUUID().toString());
headers.setContentType(MediaType.APPLICATION_JSON);

String body = """

{
    "messages": [
       {
            "role": "user",
            "content": "테스트 해보자."
       }
   ]
}
""";

HttpEntity<String> requestEntity = new HttpEntity<>(body, headers);

try {
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
 
다음과 같이 작성하여 요청을 전송하였습니다.
튜닝 생성이나 조회를 통해 확인해보았을 때 정상적으로 진행되는 것을 보아 API_KEY의 문제는 아닌 것으로 판단됩니다.
1. 요청 헤더의 필수값 두가지 인증과 content-Type을 설정해주었고,
2. 요청 바디의 필수값을 설정하여 전송하였습니다.
또한, 입력할 taskId또한 학습 조회를 진행하였을 때 상태가 SUCCEEDED인 것으로 보아 학습이 잘 완료된 것으로 생각됩니다.
 
그런데 요청을 보낼 경우 
url : https://clovastudio.stream.ntruss.com/v1/tasks/lmh8mmt8/chat-completions

403 Forbidden on POST request for "https://clovastudio.stream.ntruss.com/v1/tasks/lmh8mmt8/chat-completions": "{"status":{"code":"40300","message":"Forbidden"}}"
API 요청 실패: 403 Forbidden on POST request for "https://clovastudio.stream.ntruss.com/v1/tasks/lmh8mmt8/chat-completions": "{"status":{"code":"40300","message":"Forbidden"}}"
이러한 에러가 발생하고 있습니다.
 
어떤 부분이 잘못되었는지 도움을 주실 수 있을까요??
다른 api들을 테스트하였을 때, 잘못 될 경우 에러 코드를 잘 전달받고 있는 상황이며,
학습 생성, 조회, 리스트 조회 등 다른 기능들은 모두 잘 동작하는 상황입니다.
 
학습을 생성한 후 해당 taskId에 대한 권한을 부여해야 하거나, chat-completions를 사용하기 위해선 현재 계정에 대해 다른 권한이 추가로 필요할까요?
해당 계정으로 학습 생성, 조회는 가능한 상황입니다.
 
링크 복사
다른 사이트에 공유하기

안녕하세요 @ho0214님, 

우선 api version을 v2로 바꾸었을 때도 동일한 증상인지 확인 부탁드리며, 

여전히 문제가 지속될 경우 튜닝에 사용하신 베이스 모델이 무엇인지, 혹시 학습을 진행한 계정과 chat completions를 이용하고자 하는 계정이 다른 것인지 여쭙습니다.

관련 정보 공유주시면 확인하여 답변드릴 수 있도록 하겠습니다.

감사합니다.

링크 복사
다른 사이트에 공유하기

튜닝에 사용한 베이스모델은 HCX-003입니다.
말씀하신 api version이 url의 v1, v2를 말씀하시는 것이라면 둘 다 실행시켜 보았을 때 동일한 결과가 나타납니다.
API를 호출시켜 학습을 생성시켰으며, chat-completions를 호출할 때 사용한 API_KEY는 동일한 것을 사용하였습니다.

 

둘다 API를 호출시켰으며 요청을 보낼 때 사용자 계정을 입력하는 항목은 없어보이는데
API_KEY를 동일한 값을 사용하였는지로 이해하면 될까요??
 

링크 복사
다른 사이트에 공유하기

안녕하세요 @ho0214님, 답변 감사드립니다. 

우선 사용자 계정 관련 내용은 동일 API Key 여부를 여쭤본 것이 맞습니다.

그와 별개로 다시 확인해보니 호출하신 API Endpoint에서 testapp 또는 serviceapp이 빠져있는 것 같습니다.

클로바 스튜디오 우측 상단 프로필 > 내 작업 > 튜닝 에서 학습하신 모델 (튜닝 작업) 의 테스트 앱을 생성 후 해당 엔드포인트 (v1 또는 v2 앞에 'testapp'이 추가로 붙습니다) 확인하여 호출해보시겠어요?

해당 경우에도 오류 발생 시 말씀주시면 감사하겠습니다.

링크 복사
다른 사이트에 공유하기

게시글 및 댓글을 작성하려면 로그인 해주세요.



로그인
×
×
  • Create New...