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

'Programing > ChatGPT' 카테고리의 다른 글

GUI AI Agent 가 나타났다  (1) 2024.12.28
Create an Assistant  (1) 2024.12.26

이전 회사에서 로봇 프로세스 자동화 (RPA) 도구를 접했었다.

사용자가 윈도우 어플리케이션을 조작한 기록을 기억하거나 프로그래밍하여
사용자의 업무 프로세스를 GUI에서 재현해내는 솔루션이었는데
공장에서 자동화된 로봇처럼 사무실에서 자동화된 업무를 알아서 척척 해내는 로봇이다.

그리고 오늘 GUI AI Agent 소식을 접하게 되었다.
  -> "SAP GUI AI Agent를 생성했습니다." (출처:SAP S/4 HANA 네이버 카페)

링크의 내용에서 구현에 사용된 기술은 LangGraph, GPT-4o 이다. 
문서에 나오는 시연 동영상에서 보여주는 작업 내용은 매우 초보적인 레벨의 그것이었지만
구축된 시스템이 보여주는 가능성은 드디어 자비스의 탄생을 예고하는 듯 보였다.

해당 에이전트에게 작업을 의뢰하면서 발생하는 오류를 수정하고 프로세스를 추가하다보면 어느새 한사람 분을 거뜬히 해내는 충실한 비서가 만들어지는 것이다.

대화형 AI 가 나오기 이전에는 불가능했던 다음의 기능들이 이젠 너무나 자연스럽게 받아들여지는게 작금의 현실이다.

  • 주어진 업무 프로세스를 분석하고 사용자를 대신하여 전처리 작업을 수행하여 사용자의 업무에 도움이 되는 결과값을 제공. 
  • 사용자의 선택과 화면 조작에 따라 실시간으로 가이드를 조정.
  • 고객 지원 에이전트가 사용자의 문제에 맞는 해결 단계를 실시간으로 생성하고 사용자 화면에서 가이드.
  • 사용자의 입력(클릭, 드래그 등)을 이벤트로 처리하고, 이에 따라 적절한 가이드나 화면을 즉각 제공.
  • 사용자가 잘못된 선택을 할 경우 이를 감지하고 적합한 가이드를 실시간 제공.

 

굴지의 글로벌 공룡 기업들인 Google 과 Microsoft 는 이미 Dialogflow (Google), Microsoft Bot Framework를 통해 이러한 GUI AI Agent 환경을 구축했고 더불어 OpenAI 도 Assistant(Beta) API 를 통해 GUI 와의 연동이 가능해졌다.

OpenAI 는 2023년 11월 7일부터 Assistants API 를 제공해주는데 현재까지도 베타 버전이다.

개발자들은 이 API 를 통해 Assistant 를 생성 할 수 있고 Platform Dashboard 에서도 Assistant 를 생성 할 수 있다.

Assistants API 를 통해 Assistant 를 생성하는 Curl 예제는 다음과 같다.

curl "https://api.openai.com/v1/assistants" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Beta: assistants=v2" \
-d '{
  "instructions": "You are a personal math tutor. Write and run code to answer math questions.",
  "name": "Math Tutor",
  "tools": [{"type": "code_interpreter"}],
  "model": "gpt-4o"
}'

출처 :: https://platform.openai.com/docs/assistants/quickstart#step-1-create-an-assistant

Platform Dashboard 에서는 Assistant 를 생성하고 Playground 를 통해 테스트도 가능하다.

+ Recent posts