OpenAI Assistants API + Postman(포스트맨) 을 이용하여 Agent 테스트하기
1. 준비물
> OpenAI API Key
API Key 는 https://platform.openai.com/api-keys 에서 발급 가능하다.
유료 결재가 필요하며 키 발급시 팝업으로 단 한번만 알려주기 때문에 별도로 저장해두고 사용해야 한다.
분실시엔 재발급을 통해 키 확인이 가능하며 기존 키는 자동 만료된다.
참고로 발급 받은 키를 프로젝트 문서등에 키값 내용 그대로 GitHub 에 올린 경우에도 해당 키는 자동 만료된다.
> Assistant ID
Assistant 는 API 를 통해 생성(Create an Assistant) 할 수 있고 Platform Dashboard 에서도 생성 할 수 있다.
나의 경우엔 Assistant 에 'File Search' 와 'Functions' 를 설정하여 나만의 에이전트로써 기능들을 부여하였다.
> GPT
+ model : gpt-4o
> Postman
+ ver : 11.23.3
2. 테스트 절차
> Postman 실행
실행 이후 아래의 요청(Request)들을 순서대로 생성하고 공통된 설정은 다음과 같다.
+ Authorization Type 에 Bearer Token 설정후 발급 받은 API Key 입력
+ Headers 에 'Content-Type : application/json', 'OpenAI-Beta : assistants=v2' 를 추가
> Create a Thread
+ Method Type : POST
+ URL : https://api.openai.com/v1/threads
+ Body 는 'none' 으로 설정
+ 실행하면 thread id 를 반환해주는데 이를 저장해 둔다.
> Add a Message to the Thread
+ Method Type : POST
+ URL : https://api.openai.com/v1/threads/{thread_id}/messages
+ Body 는 raw와 JOSN 포맷 선택후 내용은 'Create message' 를 참고하여 추가한다.
+ 실행하면 msg id 를 반환해주는데 이를 저장해 둔다.
> Create a Run
+ Method Type : POST
+ URL : https://api.openai.com/v1/threads/{thread_id}/runs
+ Body 는 'raw'와 'JOSN' 포맷 선택후 내용은 'Create run' 를 참고하여 추가한다.
+ 실행하면 run id 를 반환해주는데 이를 저장해 둔다.
> Retrieve Run
+ Method Type : GET
+ URL : https://api.openai.com/v1/threads/{thread_id}/runs/{run_id}
+ Body 는 'none' 으로 설정
+ 실행후 응답에 "status" : "completed" 인지 확인한다.
> List messages
+ Method Type : GET
+ URL : https://api.openai.com/v1/threads/{thread_id}/messages
+ Body 는 'none' 으로 설정
+ 'Retrieve Run' 에서 status 가 completed 라면 'List messages' 실행후 응답에 "role": "assistant" 인 메세지가 있다.
content 의 내용이 Agent 의 답변이다.
3. 참고자료
> API Reference - OpenAI API
> Assistants API quickstart - OpenAI API
> https://www.youtube.com/watch?v=-Wne4a-8RlY