Agent Assist๋ Agent Assist ๊ธฐ๋ฅ์ UI์ ํตํฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฌ์ ๋น๋๋ ๋ง์ถค์ค์ ๊ฐ๋ฅํ UI ๊ตฌ์ฑ์์ ๋ชจ๋์ ์ ๊ณตํฉ๋๋ค. ๋ชจ๋์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ์ ํ์ฌ ์์ด์ ํธ์๊ฒ Agent Assist ์ถ์ฒ์ ํ์ํ ์ ์์ต๋๋ค. LivePerson์ ๋ชจ๋์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ๊ตฌ์ฒด์ ์ธ ์๋ด๋ LivePerson ํํ ๋ฆฌ์ผ์ ์ฐธ๊ณ ํ์ธ์.
Agent Assist ๊ธฐ๋ฅ
๋ค์์ UI ๋ชจ๋ ๊ตฌ์ฑ์์๋ก ๊ตฌํํ ์ ์๋ Agent Assist ๊ธฐ๋ฅ์ ๋๋ค.
- ์ง์ ์ด์์คํดํธ
- (์ฌ์ ๋์) ์์ฑํ ์ง์ ์ง์
- ์ค๋งํธ ๋ต์ฅ
- ๋ํ ์์ฝ
- ์คํฌ๋ฆฝํธ
์์ํ๊ธฐ ์ ์
UI ๋ชจ๋์ ๊ตฌํํ๊ธฐ ์ ์ ๋ํ ํ๋กํ์ ๊ตฌ์ฑํฉ๋๋ค.
UI ๋ชจ๋ ๊ตฌํ
UI์ Agent Assist ๋ชจ๋์ ํตํฉํ๋ ๊ธฐ๋ณธ ์ ๊ทผ ๋ฐฉ์์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๊ด๋ฆฌ ์ปจํ ์ด๋ ์ ๊ทผ ๋ฐฉ์์ ์ ํํ ๋ชจ๋ ์๋ด ์ง์ ๊ธฐ๋ฅ์ ๋จ์ผ ํจ๋์ ํตํฉํฉ๋๋ค. ๋๋ ์ธํฐํ์ด์ค์์ ๊ตฌ์ฑ์ ๋ง์ถค์ค์ ํ๋ ค๋ฉด ๊ธฐ๋ฅ์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ธ์ค๋ฉด ๋ฉ๋๋ค. UI ๊ตฌ์ฑ์์์ ์๋ด์ฌ ๋ฐ์คํฌํฑ ๊ฐ์ ํต์ ์ UI ๋ชจ๋ ์ปค๋ฅํฐ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ๋ชจ๋ ํต์ ์ ๋ง์ถค ์ด๋ฒคํธ๋ฅผ ๋์คํจ์นํ์ฌ ์ด๋ฃจ์ด์ง๋๋ค.
์ปจํ ์ด๋ ์ ๊ทผ ๋ฐฉ์๊ณผ ๊ฐ๋ณ ๊ตฌ์ฑ์์๋ ๋ชจ๋ ์์คํ ์์ ์ฌ์ฉํ ์ ์์ง๋ง Agent Assist๋ Genesys Cloud, LivePerson, Twilio, Salesforce์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ UI ๋ชจ๋ ์ปค๋ฅํฐ๋ง ์ ๊ณตํฉ๋๋ค. UI ๋ชจ๋์ ๋ค๋ฅธ ์์ด์ ํธ ์์คํ ๊ณผ ํตํฉํ๋ ค๋ฉด ์์ฒด ์ปค๋ฅํฐ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ง์ถค UI ๋ชจ๋ ์ปค๋ฅํฐ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ์ผ ๋ฒ์
์ต์ ๋ฒ์ ์ ์ง์ ํ์ฌ gstatic ํ์ผ์ ์ต์ ๋ฒ์ ์ ๊ฐ์ ธ์ต๋๋ค.
<script src="https://www.gstatic.com/agent-assist-ui-modules/v1/container.js"></script>
์ ํํ ๋ฒ์ ์ ์ง์ ํ์ฌ gstatic ํ์ผ์ ํน์ ์์ ํ ๋ฒ์ ์ ๊ฐ์ ธ์ต๋๋ค.
<script src="https://www.gstatic.com/agent-assist-ui-modules/v1.7/container.js"></script>
์ต์ ๋ฒ์ :
Container: v1.12 Container: v2.0 Common: v1.6 Knowledge assist: v1.1 Generative knowledge assist: v2.9 Smart reply: v1.4 Summarization: v1.3 Transcript: v1.3
๊ด๋ฆฌํ ์ปจํ ์ด๋
๊ด๋ฆฌํ ์ปจํ ์ด๋ ์ ๊ทผ ๋ฐฉ์์ ์ ํํ Agent Assist ๊ธฐ๋ฅ์ ํ๋์ ํตํฉ ํจ๋์ ๋ ๋๋งํ๋ ๋จ์ผ ๊ตฌ์ฑ์์๋ฅผ ํตํฉํฉ๋๋ค. ์ด ํจ๋์ ์ปค๋ฅํฐ ๋ก๋ ๋ฐ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋น๋กฏํ ๋ชจ๋ ๊ณต์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. LivePerson๊ณผ ๊ฐ์ ์๋ ํํฐ ์๋ด์ฌ ๋ฐ์คํฌํฑ์ ๋ชจ๋์ ํตํฉํ๋ ๊ฒฝ์ฐ ๋๋ UI์์ ์๋ด์ฌ ์ง์ ๊ธฐ๋ฅ์ด ๋ ๋๋ง๋๋ ๋ฐฉ์์ ์ต์ํ์ผ๋ก ๋ง์ถค์ค์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ปจํ ์ด๋ ๊ตฌ์ฑ์์๊ฐ ์ด๊ธฐํ๋๋ฉด ํ์ํ ๋ชจ๋ ์ข ์ ํญ๋ชฉ์ด ๋ก๋๋ฉ๋๋ค. ์ปจํ ์ด๋๋ฅผ ์ด๊ธฐํํ๋ ๋ฐ๋ ํ๋์ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ์ํ๋ฉฐ, ์ฌ์ฉ๋๋ Agent Assist ๊ธฐ๋ฅ์ ์๋ ์๊ด์์ต๋๋ค.
์ปจํ ์ด๋ ๊ตฌ์ฑ์์๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
<script src="https://www.gstatic.com/agent-assist-ui-modules/v1/container.js"></script>
์์ ํ๊ทธ ์ด๋ฆ:
<agent-assist-ui-modules>
์ด๊ธฐํ ์:
const uiModulesEl = document.createElement('agent-assist-ui-modules');
uiModulesEl.setAttribute('features', 'SMART_REPLY,ARTICLE_SUGGESTION');
uiModulesEl.setAttribute('conversation-profile', 'projects/my-project/locations/global/conversationProfiles/123');
uiModulesEl.setAttribute('auth-token', authToken);
uiModulesEl.setAttribute('channel', 'chat');
uiModulesEl.setAttribute('custom-api-endpoint', 'https://my-dialogflow-proxy-service.com');
uiModulesEl.setAttribute('dark-mode-background', '#000000');
hostElement.appendChild(uiModulesEl);
์์ธํ ๋ด์ฉ์ ๊ตฌ์ฑ์์ API ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๊ฐ๋ณ ๊ตฌ์ฑ์์
๋จ์ผ ์ปจํ ์ด๋ ๋์ ์๋ด์ฌ ์ง์ UI ๋ชจ๋์ ๊ฐ๋ณ์ ์ผ๋ก ํตํฉํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋์ ํ์ด์ง์ ๋ค๋ฅธ ์น์ ์ ๋ ๋๋งํด์ผ ํ๋ ๋ง์ถค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๊ฑฐ๋ ์๋นํ ๋ง์ถค์ค์ ์ด ํ์ํ ๊ฒฝ์ฐ์๋ง ๊ถ์ฅ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ ๊ฐ ๊ธฐ๋ฅ๋ณ UI ๋ชจ๋์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ๋ํ UI ๋ชจ๋ ์ปค๋ฅํฐ๋ฅผ ๊ฐ์ ธ์ ์ด๊ธฐํํด์ผ ํฉ๋๋ค.
UI ๋ชจ๋ ์ปค๋ฅํฐ ๊ตฌํ
์ปจํ
์ด๋ ๋ฒ์ 1์ ์ฌ์ฉํ์ง ์๋ ํ UI ๋ชจ๋์ ์ฌ์ฉํ๋ ค๋ฉด UI ๋ชจ๋ ์ปค๋ฅํฐ๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ค์ ์ฝ๋๋ฅผ ์ ํ๋ฆฌ์ผ์ด์
์ ์ถ๊ฐํ์ฌ ์ธ์คํด์คํํ๊ณ ์ด๊ธฐํํ ์ ์๋ ์ ์ญ UiModulesConnector
ํด๋์ค๋ฅผ ๋
ธ์ถํฉ๋๋ค.
<script src="https://www.gstatic.com/agent-assist-ui-modules/v1/common.js"></script>
๋ฐฉ๋ฒ:
constructor(): void;
init(config: ConnectorConfig): void;
disconnect(): void;
setAuthToken(token: string): void;
๋ค์์ ์ปค๋ฅํฐ ๊ตฌ์ฑ ๊ฐ์ฒด์ ์ ์ฒด TypeScript ์ธํฐํ์ด์ค์ ์์์
๋๋ค. ์ง์๋์ง ์๋ ์์คํ
๊ณผ ํจ๊ป ์ฌ์ฉํ ๋ง์ถค UI ๋ชจ๋ ์ปค๋ฅํฐ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ agentDesktop
๋ฅผ Custom
๋ก ์ค์ ํฉ๋๋ค. ๋ค์ ์์์๋ ์ง์๋๋ ์๋ด์ฌ ๋ฐ์คํฌํฑ ์์คํ
๋ชฉ๋ก์ ์ ๊ณตํฉ๋๋ค.
interface ConnectorConfig { /** Communication mode for the UI modules application. */ channel: 'chat'|'voice'; /** Agent desktop to use. */ agentDesktop: 'LivePerson' | 'GenesysCloud' | 'SalesForce' | 'GenesysEngageWwe' | 'Custom'; /** Conversation profile name to use. */ conversationProfileName: string; /** API Connector config. */ apiConfig: { /** * Authentication token to attach to outgoing requests. Should be a valid * OAuth token for Dialogflow API, or any other token for custom API * endpoints. */ authToken: string; /** * Specifies a custom proxy server to call instead of calling the Dialogflow * API directly. */ customApiEndpoint?: string; /** API key to use. */ apiKey?: string; /** * Additional HTTP headers to include in the Dialogflow/proxy server API * request. */ headers?: Array; } /** Event-based connector config. Set this for voice conversations. */ eventBasedConfig?: { /** * Transport protocol to use for updates. Defaults to 'websocket' if none is * specified. */ transport?: 'websocket'|'polling'; /** Event-based library to use (i.e., Socket.io). */ library?: 'SocketIo'; /** Endpoint to which the connection will be established. */ notifierServerEndpoint: string; } }
์ธ์คํด์คํ ์์:
const connector = new UiModulesConnector(); connector.init({ channel: 'chat', agentDesktop: 'Custom', conversationProfileName: 'projects/my-project/locations/global/conversationProfiles/123', apiConfig: { authToken: 'abc123', customApiEndpoint: 'https://my-dialogflow-proxy-server.com', } });
๊ฐ๊ฒฉ ๋ฉด์ฑ ์กฐํญ
UI ๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ์๋น์ค์ ๊ด๋ จ๋ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค.