ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OpenAI Assistants API v2 stream 오브젝트의 in/outbound
    인턴 2024. 6. 3. 09:05

    인바운드

    • 네트워크에 들어오는 정보
    • 메시지가 클라이언트에서 서버로 향함 ex) 첨부파일을 서버에 저장(업로드)
    • 예를 들어, 웹 서버의 경우 클라이언트가 웹페이지를 요청하고, 이 요청이 웹 서버로 전송되는 경우

     

    아웃바운드

    • 네트워크에서 나가는 정보
    • 클라이언트의 요청을 처리하고 메시지가 서버에서 클라이언트로 향함 ex)첨부파일 다운로드
    • 내부의 사용자가 웹 페이지를 요청하면, 요청된 데이터가 내부 시스템에서 인터넷을 통해 외부로 전송

     

     

     

    OpenAI Assistants API v2 스트리밍 기능

    • 실시간 상호작용: Assistants API v2의 스트리밍 기능을 통해 사용자는 실시간으로 AI 어시스턴트의 응답을 받을 수 있다.
    • 다중 사용자 지원: 스트리밍 기능은 단일 스레드에서 다중 사용자 상호작용을 관리할 수 있는 기능을 제공
    • 스트리밍 기능을 활용하여 실시간 대화형 애플리케이션을 구축할 수 있는 방법을 제공하고 있다

     

     

    Server-sent Events(SSE)

    • OpenAI 공식 홈페이지에서 SSE 방식을 표준으로 사용한다고 명시함

    • 서버가 클라이언트에게 단방향으로 실시간 업데이트를 전송
    • 클라이언트의 별도 추가요청 없이 서버에서 업데이트를 스트리밍
    • 클라이언트 입장에서 Inbound 통신 (서버에서 클라이언트로 데이터를 보내는 단방향 stream이기 때문)

     

     

     

     

    결론

    Server-sent Events 방식 사용

    1. 클라이언트가 서버에 stream을 생성하는 요청을 보낸다. ('/threads/{thread_id}/runs' 엔드포인트로 HTTP POST 요청을 전송)
    2. 서버로부터 실시간 스트리밍 데이터를 받는다 (event_handler=AssistantEventHandler)
      1. AssistantEventHandler 클래스: 서버에서 클라이언트로 이벤트를 전송

    서버가 클라이언트에게 단방향으로 실시간 업데이트를 전송하기 때문에 클라이언트 입장에서 Inbound 통신이다.

     

    '인턴' 카테고리의 다른 글

    GraphQL (1) - schema, query, response  (1) 2024.01.19
    GraphQL 알아보기  (0) 2024.01.18
    OpenAI Assistant Tools  (1) 2023.12.28
    OpenAI Assistant 작동 방식  (0) 2023.12.28
Designed by Tistory.