ai.chat (AI 챗)
ai.chat
는 AI 챗 서비스와 상호 작용하기 위한 여러 메서드와 속성을 제공하는 객체입니다.
1. 메서드
prompt (AI 챗 프롬프트)
import { eliceContents } from 'src/constants';
eliceContents.ai.chat.prompt(
'초등학생이 쉽게 풀 수 있는 문제를 만들겠습니다...',
{ systemInstruction: '...' }
);
// { session: '550e8400-e29b-41d4-a716-446655440000', contentResponse: '초등학생이 쉽게 풀 수 있는 문제를 만들겠습니다...' }
이 메서드를 사용하여 AI 채팅 응답을 생성할 수 있습니다. 프롬프트를 설정하여 응답을 생성할 수 있습니다. 첫 번째 인자는 프롬프트 내용
이고, 두 번째 인자는 구성
입니다. 구성은 선택 사항이며 다음과 같은 옵션을 제공합니다:
systemInstruction
: 시스템 지시사항을 설정할 수 있으며, 이 인자를 전달하면 시스템 지시사항을 항상 재정의합니다.
⚠️ 응답의 경우 세션 ID와 AI 콘텐츠 응답을 반환합니다. 사용자가 페이지를 새로 고침해도 채팅 메시지를 다시 로드하려면 이 세션 ID를 KV 스토어 또는 로컬 스토리지에 저장해야 합니다.
load (AI 챗 로드)
import { eliceContents } from 'src/constants';
const initChat = async () => {
const sessions = await eliceContents.getKeyValue({ key: 'sessions' });
const firstSession = sessions[0];
if (firstSession) {
eliceContents.ai.chat.load(firstSession); // [{ role: 'system', content: '초등학생이 쉽게 풀 수 있는 문제를 만들겠습니다...', ts: 1634025600000 }, ...]
}
};
이 메서드를 사용하여 AI 채팅 서비스에서 채팅 메시지를 로드할 수 있습니다. 첫 번째 인자는 prompt 메서드에서 얻은 세션 ID입니다.
응답으로 챗 메시지 배열을 반환합니다. 각 챗 메시지에는 role
, content
, ts
가 포함됩니다.
role
은 현재 3가지로 구분됩니다:
system
: 시스템 지침 내용assistant
: AI 응답 내용user
: 사용자 입력 내용
clear (AI 챗 지우기)
서버에 저장된 특정 세션의 챗 메시지를 지우려면 이 메서드를 사용할 수 있습니다. 첫 번째 인자는 prompt
메서드에서 얻은 세션 ID입니다.
import { eliceContents } from 'src/constants';
const clearChat = async () => {
await eliceContents.ai.chat.clear('550e8400-e29b-41d4-a716-446655440000');
};