본문 바로가기

Cloud/AZURE

Azure OpenAI Assistant - Part 1

Today Keys :   azure, openai, assistant, service, code interpreter

이번 포스팅에서는 Azure OpenAI Service의 Assistant 기능에 대한 사용법에 대해서 알아봅니다.
첫 번째 포스팅에서는 Play Ground를 통해서 Assistant 기능 중, Code Interpreter 사용해 봅니다.
Code Interpreter를 사용하면, Assistants API를 사용하여, 샌드박스 환경에서 Python 코드를 작성하여 실행하게 됩니다.

Azure OpenAI Studio의 좌측의 Playground 메뉴를 보면, 다음과 같이 Assistant가 Preview로 추가된 것을 볼 수 있습니다.
Assistant는 현재(24.03.01)  3개의 리전에서만 Preview로 사용이 가능하기 때문에 Australia East, East US2, Sweden Central이어야 해당 기능을 사용 할 수 있습니다.
Assistants 메뉴를 선택합니다.
 

 
 
Assistants playground의 모습은 아래와 같습니다.
기존 Chat playground의 모습와 유사하긴 합니다.
 
왼쪽의 Assistants setup은 Assistants에 대한 설정을 할 수 있고,
가운데에서는 설정한 Assistants로 Chat세션으로, Assistants API에서는 Thread라고 합니다.
오른쪽의 로그는 Assistant API 작업에 대한 자세한 스냅샷을 보여줍니다.
 
 

 

Assistant를 사용하기 위해서 먼저 아래와 같이 설정해봅니다.
 
본 예제에서 다뤄지는 Assistant는 Code Interpreter 기능을 이용해서 수학 문제를 풀어주도록 도와주는 역할을 하려고 합니다.
 
먼저 Assistant 이름은 'AI 수학 도우미'라고 하고,
Instructions에서는 '당신은 수학 문제에 답하는 데 도움이 되는 코드를 작성할 수 있는 AI 도우미입니다'라고  지정했습니다.
 
Assistant에서 사용할 적절한 모델을 선택합니다. 여기에서는 gpt-4-1106-preview모델을 선택했습니다.
(참고로, 현재 Assistant에서 지원되는 모델은 지정되어 있고, 리전에 따라서 조금 다를 수 있습니다. )
 
하단의 Assistant tools에서 Code Interpreter의 토글 버튼을 눌러서 기능을 활성화 합니다.
 
설정을 모두 마치면, 상단의 Save 버튼을 눌러야 적용이 됩니다.
 
 
 
Save 버튼을 누르고 나면, 아래와 같이 Assistant ID가 생깁니다.
이후에 New를 눌러서, 추가적인 Assistant를 생성 할 수도 있습니다.
 

 

 
혹은 Open을 눌러서 다음과 같이 기존에 만들어 둔, Assistant를 불러와서 사용도 가능합니다.
 

 

 

이제 앞서 만든 Assistant를 이용해서 Chat을 해봅니다.
 
'어떤 정사각형의 가로를 3cm, 세로를 2cm만큼 늘였더니 넓이가 처음의 2배가 되었다. 처음 정사각형의 한 변의 길이는?'
라는 문제를 내면,
Assistant에서 활성화한 Code Interpreter 기능이 동작하여, 해당 문제를 풀기 위한 코드를 작성하고, 그 코드로 확인한 결과 값을 내용을 토대로 제일 하단과 같이 답변을 하게 됩니다.
 
 
실제 사용한 코드를 확인하기 위해서,
'이 문제를 풀기 위해서 사용한 코드를 알려줘' 라고 요청하면
다음과 같이 실제 사용한 코드를 알려주기도 합니다.

 

 
이러한 과정은 제일 오른쪽의 Logs에서도 확인이 가능합니다.
 
실제 문제를 풀던 Step의 내용을 살펴보면, 다음과 같이 Code Interpreter가 사용되었고,
아래 그림에서는 짤렸지만, Input 부분에서 위에서 확인한 코드를 확인 할 수 있습니다.
그리고 그 코드의 결과는 Outputs의 logs를 보시면 있습니다.

 

Microsoft Learn에서 살펴보기