메인 콘텐츠로 건너뛰기
ChatSDK는 EKB 콘텐츠 크리에이터 SDK의 핵심 컴포넌트로, 대화형 AI 애플리케이션을 쉽게 구축할 수 있게 합니다. 포괄적인 채팅 관리, 메시지 처리, 스트리밍 응답 및 지식 기반 통합을 제공합니다. 이 기사에서는 SDK를 설치하고 빠르게 시작하는 방법을 알아봅니다. 다양한 구성 옵션을 탐색하고, 인증 방법을 알아보며, 이 SDK에서 사용할 수 있는 핵심 메서드를 배웁니다.

설치

빠른 시작

구성

ChatSDKConfig 인터페이스

구성 옵션

  • baseUrl: API 엔드포인트의 기본 URL
  • projectId: 고유한 프로젝트 식별자
  • apiKey & apiSecret: 서버 측 인증용
  • accessToken: 클라이언트 측 인증용 (웹 앱)

인증

ChatSDK는 두 가지 인증 방법을 지원합니다:

API 키 인증 (서버 측)

액세스 토큰 인증 (클라이언트 측)

핵심 메서드

채팅 관리

createChat(name?, documentKeys?)

새 채팅 대화를 만듭니다.
예시:

listChats(cursor?, limit?)

프로젝트의 페이지네이션된 채팅 목록을 가져옵니다.
예시:

getChatHistory(chatId)

전체 메시지 기록이 포함된 채팅을 가져옵니다.
예시:

deleteChat(chatId)

채팅과 모든 메시지를 영구적으로 삭제합니다.
예시:

updateChatName(chatId, newName)

기존 채팅의 표시 이름을 업데이트합니다.
예시:

메시지 처리

sendMessage(message, options?)

메시지를 보내고 AI 응답을 받습니다.
SendMessageOptions:
예시:

sendFeedback(messageId, chatId, feedback)

AI 응답에 대한 피드백을 제공합니다.
예시:

스트리밍 지원

sendMessageStream(message, options)

실시간 스트리밍 응답이 포함된 메시지를 보냅니다.
StreamCallbacks:
예시:

오류 처리

SDK는 API 관련 실패에 대해 APIError 객체를 발생시킵니다:
예시:

예시

기본 채팅 애플리케이션

이 예시에서는 EKB SDK를 사용하여 단순한 비스트리밍 메시지 교환으로 기본 채팅 애플리케이션을 구축하는 방법을 알아봅니다. 환경 변수에서 API 자격 증명을 가져와 ChatSDK를 초기화하는 SimpleChatApp 클래스를 만드는 것으로 시작합니다. 클래스는 currentChatId로 현재 채팅 세션을 추적하고 세 가지 주요 메서드를 제공합니다: startNewChat()은 사용자 지정 이름으로 새 채팅 대화를 만들고, sendMessage()는 AI에 메시지를 보내고 완전한 응답을 반환하며(채팅이 없으면 자동으로 만듦), getChatList()는 기존 채팅 대화를 가져옵니다.

실시간 업데이트가 포함된 스트리밍 채팅

이 예시에서는 EKB API에 연결하고 AI 응답을 실시간으로 표시하는 스트리밍 채팅 인터페이스를 구축하는 방법을 알아봅니다. API 자격 증명으로 ChatSDK를 초기화하고 메시지가 표시될 HTML 요소에 대한 참조를 포함하는 StreamingChat 클래스를 만드는 것으로 시작합니다.

지식 기반 통합

이 예시에서는 지식 기반에 업로드된 특정 문서를 기반으로 질문에 답변할 수 있는 지식 기반 기반 채팅 애플리케이션을 구축하는 방법을 알아봅니다.

모범 사례

오류 처리

모든 SDK 메서드에 대해 적절한 오류 처리를 항상 구현합니다:

더 나은 UX를 위한 스트리밍

더 긴 응답에 대해 실시간 피드백을 제공하기 위해 스트리밍을 사용합니다:

API 호출 최적화

  • 각 메시지에 대해 새 채팅을 만드는 대신 채팅 ID를 재사용합니다
  • 채팅 목록에 페이지네이션을 사용합니다
  • 자주 접근하는 데이터에 캐싱을 구현합니다

구성 관리

구성을 안전하게 저장하고 환경 변수를 사용합니다:

메모리 관리

리소스를 정리하고 메모리 누수를 방지합니다: