인공지능 (AI,GPT)

OpenAI의 Assistants API 활용한 GPT 모델 사용 예제

날으는물고기 2024. 2. 13. 00:57

Elevate User Experience By Implementing OpenAI Assistant API

예제를 통한 Assistants API의 사용 방법과 관련 코드를 설명하겠습니다.

OpenAI의 Assistants API 소개

  • Assistants API란?
    • OpenAI에서 제공하는 API 도구로, 개발자들이 AI 기반 애플리케이션을 쉽게 구축할 수 있도록 도와줍니다.
    • GPT 모델을 사용하여 다양한 기능을 구현할 수 있습니다.

Playground 활용

  • Playground 이용:
    • 코드 설치 전에 Playground에서 에이전트를 만들고 테스트할 수 있습니다.
    • 기능 실험, Code Interpreter, Retrieval, File Upload 등이 가능하며, 로그 확인도 할 수 있습니다.

Assistants API의 기본 원리

  1. Assistant 시작:
    • 스레드(사용자와의 대화 또는 세션을 관리하는 단위)를 생성합니다.
    • 사용자의 메시지를 스레드에 추가하고 실행합니다.
  2. 완료 후 처리:
    • 실행 완료 시 Assistant의 메시지가 스레드에 추가됩니다.

파이썬으로 실행하기

  1. 파이썬 SDK 설치 및 업그레이드
    • pip install --upgrade openai
  2. 기본 설정
    • app.py 파일 생성 및 API 키 설정
      from openai import OpenAI
      
      client = OpenAI(api_key="YOUR_OPEN_AI_API_KEY")
  3. Assistant 만들기 (여행 계획 봇 예제)
    • 여행 계획 봇 생성
      assistant = client.beta.assistants.create(
          name="Travel Planner",
          instructions="You are a travel planner. Provide travel suggestions and information.",
          tools=[{"type": "retrieval"}],
          model="gpt-4-1106-preview"
      )
      
      print(assistant)
    • 이 코드는 'Travel Planner'라는 이름의 Assistant를 생성합니다. 이 Assistant는 여행 계획과 관련된 제안과 정보를 제공하는 역할을 합니다.
  4. 스레드 생성 및 사용
    • 스레드 만들기
      thread = client.beta.threads.create()
    • 메시지 추가
      message = client.beta.threads.messages.create(
          thread_id=thread.id,
          role="user",
          content="I'm planning a trip to Paris. What are some must-visit places and local food recommendations?",
      )
    • 여기서는 사용자가 파리 여행 계획에 대한 조언을 구하는 메시지를 추가합니다.
  5. 스레드 실행
    • 실행 요청
      run = client.beta.threads.runs.create(
          thread_id=thread.id,
          assistant_id=assistant.id,
          instructions="Provide detailed travel suggestions including landmarks and local cuisine.",
      )
    • 이 단계에서는 스레드를 실행하여 Assistant가 사용자의 요청에 대한 답변을 제공하도록 요청합니다.
  6. Run 상태 확인 및 메시지 확인
    • Run의 상태를 주기적으로 확인하여 'completed' 상태가 되면 다음 단계로 이동합니다.
    • 스레드의 Assistant 메시지를 확인하여 응답을 받습니다.

추가적인 사항

  • 파일 관리: 파일 업로드와 삭제는 file endpoint를 통해 관리할 수 있습니다.
  • 파일 제한: 파일은 최대 20개, 개당 512MB 제한, 조직 당 총 100GB를 관리할 수 있습니다.
  • Retrieval 및 Code Interpreter 비용 정보 제공.
  • 데이터 및 파일 보안: OpenAI에 보내는 데이터 및 파일은 모델 교육에 사용되지 않으며, 필요 시 삭제할 수 있습니다.
  • API Key를 통한 전체 조직 자원 접근 가능.
  • Streaming, notifications, DALL-E 도구, 사용자 메시지에 이미지 첨부 기능 등.

 

이 설명은 Assistants API의 개념, Playground 사용법, 파이썬으로의 구현 방법, 여행 계획 봇 예제, 추가적인 관리 및 비용 정보 등을 포함하여 초보자도 이해할 수 있도록 자세하게 설명합니다. 개발자들은 이 정보를 바탕으로 자신의 AI 애플리케이션을 효과적으로 개발할 수 있을 것입니다.

728x90