Oracle Digital Assistant를 Oracle Content Management에 구축된 웹 사이트에 통합
소개
기업들은 내부 또는 외부 대상자에게 컨텐츠를 배포하기 위해 마케팅 사이트, 영업 포털, 파트너 허브와 같은 컨텐츠 공유 웹 사이트를 구축하고자 하는 경우가 많습니다. Oracle Content Management는 이러한 콘텐츠 공유 웹 사이트를 구축하기 위한 강력한 기능을 갖춘 툴을 제공합니다.
디지털 도우미 및 챗봇을 통해 영업 및 마케팅 팀이 디지털 비즈니스 확장을 신속하게 추적하고 고객 경험을 개선할 수 있습니다.
Oracle Digital Assistant는 사용자가 자연어 대화에서 다양한 작업을 수행할 수 있도록 지원하는 AI 기반 인터페이스인 디지털 어시스턴트를 생성 및 배포할 수 있는 플랫폼입니다. CMS(Content Management System)에서 모든 컨텐츠를 제공해야 하는 경우 어떻게 됩니까? 다행히도 풍부한 헤드리스 CMS 기능을 갖춘 Oracle Content Management는 모든 콘텐츠 관리 및 거버넌스 요구사항을 위한 최고의 솔루션을 제공합니다.
이 사용지침서에서는 먼저 Oracle Content Management를 헤드리스 CMS로, JavaScript에서 콘텐츠 전달을 위해 SDK(소프트웨어 개발 키트)를 활용하여 Oracle Digital Assistant에서 챗봇을 구축합니다. 다음으로 Oracle Content Management의 Site Builder를 사용하여 영업 지원 웹 사이트를 생성 및 편집하고 Oracle Content Management 사용자정의 구성요소를 사용하여 챗봇을 추가합니다.
튜토리얼은 다음 네 단계로 구성됩니다.
- Café Supremo 영업 지원 웹 사이트를 설정하십시오.
- Oracle Digital Assistant 기술 구축
- Oracle Content Management 사용자정의 구성요소 설정
- 웹 사이트에 사용자정의 구성요소 추가
필요 조건
이 튜토리얼을 계속하기 전에 먼저 다음 정보를 읽는 것이 좋습니다.
이 자습서를 따르려면 다음이 필요합니다.
- Oracle Content Management 가입
- 콘텐츠 관리자 롤이 있는 Oracle Content Management 계정
- ODA(Oracle Digital Assistant) 구독
- ODA 인스턴스
- 글로벌 액세스를 위해 Node.js 및 NPM(Node Package Manager)이 설치된 Windows 또는 Mac 컴퓨터
우리가 구축하고 있는 것
Café Supremo는 전 세계 매장 위치를 보유한 가공 커피하우스 체인입니다. Café Supremo 영업 지원 웹 사이트는 Oracle Content Management를 사용하여 생성됩니다.
Café Supremo 영업 지원 웹 사이트를 통해 전 세계 Café Supremo 기업의 영업 담당자가 영업에 필요한 정보를 모두 얻을 수 있습니다. 영업 지원 웹 사이트에 대해 알아보고 Café Supremo 영업 지원 웹 사이트에 대한 소개를 보려면 영업 지원 웹 사이트 생성에 대해 알아보기를 참조하십시오.
이 고급 버전의 Café Supremo 영업 지원 사이트는 Oracle Content Management 채널에서 제공되는 콘텐츠를 가져오는 ODA(Oracle Digital Assistant)를 통해 개발된 챗봇을 제공합니다.
다음은 이 자습서의 마지막 부분인 영업 지원 사이트입니다.

작업 1: Café Supremo 영업 지원 웹 사이트 설정
이 섹션에서는 Oracle Content Management를 사용하여 Café Supremo 영업 지원 웹 사이트를 설정합니다.
시작하려면 Oracle Content Management 다운로드 페이지에서 Café Supremo 영업 지원 웹 사이트에 대한 템플리트 및 샘플 코드가 포함된 zip 파일을 다운로드해야 합니다. 템플리트 복사본을 얻으면 해당 템플리트를 Oracle Content Management에 업로드하여 판매 지원 웹 사이트를 생성합니다.
zip 파일에는 readme 파일, 라이센스 파일 및 템플리트 zip 파일이 포함됩니다.
주: 샘플 템플리트 및 Café Supremo 영업 지원 웹 사이트에서 사용되는 이미지는 Shutterstock 이미지입니다. 이 이미지를 재사용할 경우 Shutterstock을 통해 라이센스를 받아야 합니다. 이 이미지를 자신의 이미지로 바꿀 수도 있습니다.
Café Supremo 참조 영업 지원 웹 사이트를 설정하려면 다음과 같이 하십시오.
Oracle Content Management에 관리자로 사인인합니다. Oracle Content Management 웹 인터페이스의 왼쪽 탐색 메뉴에 ADMINISTRATION 섹션이 표시되지 않으면 관리자 권한이 없는 것입니다. 이 경우 서비스 관리자에게 문의하십시오.
왼쪽 탐색 메뉴에서 개발자, 모든 템플리트 보기를 차례로 누릅니다.

[템플리트] 페이지에서 생성을 누르고 템플리트 패키지 임포트를 선택합니다.
[파일 선택] 대화상자에서 파일을 업로드하거나 새 폴더를 생성할 폴더로 이동하고 업로드를 누릅니다.
CafeSupremoSalesEnablement.zip 템플리트 패키지를 찾아 선택하고 열기를 누릅니다. 파일이 업로드될 때까지 기다립니다. 파일이 업로드되면 선택할 수 있습니다.
CafeSupremoSalesEnablement.zip 확인란을 선택하고 확인을 누릅니다. 이제 [템플리트] 페이지의 템플리트 목록에 CafeSupremoSalesEnablement 템플리트가 포함됩니다.
왼쪽 탐색 메뉴의 ADMINISTRATION에서 Content를 누릅니다.
이제 웹 사이트에서 사용하는 모든 디지털 자산을 한 곳에서 관리할 수 있는 스토리지 위치인 저장소를 만듭니다.
드롭다운 목록에서 저장소를 선택하고 오른쪽 상단 모서리에서 생성을 누릅니다.
이름 필드에 웹 사이트에 대한 의미 있는 저장소 이름(예: 'CafeSupremoSalesEnablement Repository')을 입력합니다.
기본 언어 필드에서 영어(미국)(en-US)가 선택되었는지 확인합니다.
저장을 누릅니다. 이제 새로 생성된 저장소가 [콘텐츠] 페이지의 저장소 목록에 포함됩니다.
![이 이미지는 Oracle Content Management 웹 인터페이스에서 [자산 저장소 생성] 페이지를 보여줍니다. 이 이미지는 Oracle Content Management 웹 인터페이스에서 [자산 저장소 생성] 페이지를 보여줍니다.](./images/create-repository.png)
왼쪽 탐색 메뉴에서 사이트를 누릅니다.
[사이트] 페이지의 오른쪽 위에 있는 생성을 누릅니다.
![이 이미지는 오른쪽 상단 모서리에 [생성] 단추가 있는 Oracle Content Management 웹 인터페이스의 [사이트] 랜딩 페이지를 보여줍니다. 이 이미지는 오른쪽 상단 모서리에 [생성] 단추가 있는 Oracle Content Management 웹 인터페이스의 [사이트] 랜딩 페이지를 보여줍니다.](./images/sites-landing-page.png)
사이트 생성 대화상자에서 CafeSupremoSalesEnablement 템플리트를 선택합니다.
다음 필드에 입력을 완료합니다.
자산 저장소 - 이전에 생성한 자산 저장소(예: 'CafeSupremoSalesEnablement Repository')를 선택합니다.
지역화 정책 - 현지화 정책은 샘플 코드 및 템플리트의 일부로 사용할 수 있으므로 자동으로 선택됩니다.
기본 언어 - 이 필드는 기본적으로 영어(미국)(en-US)로 설정됩니다.
![이 이미지는 Oracle Content Management 웹 인터페이스에서 [사이트 생성] 페이지를 보여줍니다. 이 이미지는 Oracle Content Management 웹 인터페이스에서 [사이트 생성] 페이지를 보여줍니다.](./images/create-site.png)
다음을 누르고 사이트 세부정보를 추가합니다.
이름 - 웹 사이트의 이름을 입력합니다(예: CafeSupremoSalesEnablement).
친구 URL 값에 대한 접두어 - 콘텐츠 항목의 친숙한 URL 값에 추가됩니다.
설명 - 사이트에 대한 선택적 설명을 제공합니다.

Create를 누릅니다.
영업 지원 웹 사이트가 생성되었으며 이제 사이트 페이지에 나열됩니다.
작업 2: Oracle Digital Assistant 기술 구축
ODA 챗봇 애플리케이션에서 Oracle Content Management 콘텐츠를 소비하기 위해 GitHub의 오픈 소스 저장소에서 제공되는 Oracle Content Management ODA 챗봇 샘플을 사용할 수 있습니다.
주: ODA 챗봇 샘플은 선택 사항이며 이 자습서에서 사용하면 빠르게 시작할 수 있습니다. 자체 챗봇 애플리케이션을 구축할 수도 있습니다.
ODA에서 챗봇 기술을 구축하려면 다음과 같이 하십시오.
- 샘플 저장소 복제
- 인스턴스로 ODA 기술 임포트
- 커스텀 구성 요소 서비스 설정 및 구성
- Content SDK 사용
- 콘텐츠 SDK를 사용하여 콘텐츠 패치(fetch)
- 커스텀 구성요소 서비스 패키지화 및 배치
샘플 저장소 복제
Oracle Content Management ODA 챗봇 샘플은 GitHub의 오픈 소스 저장소에서 제공됩니다. 먼저 GitHub에서 로컬 컴퓨터로 샘플 저장소를 복제하고 이 샘플에서 작동하도록 디렉토리를 변경해야 합니다.
git clone https://github.com/oracle/oce-integration-samples.git
cd oce-integration-samples/oce-oda-chatbot-sample/site-integration-chatbot-sample
이제 코드베이스가 준비되었으므로 이 자습서에서 사용할 폴더를 자세히 살펴보겠습니다.
oda-custom-component 폴더는 ODA 사용자 정의 구성 요소입니다.

SalesEnablementChatbotIntegration 폴더는 챗봇 기술입니다.

SE2-ODA-Chatbot 폴더는 Oracle Content Management 사이트 사용자정의 구성요소입니다.

주: headless-chatbot-sample 폴더는 헤드리스 챗봇 샘플의 일부입니다. 이 헤드리스 챗봇 샘플에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
인스턴스로 ODA 기술 임포트
SalesEnablementChatbotIntegration 폴더는 이 자습서에서 사용되는 ODA 기술입니다. 다음 단계에 따라 ODA 인스턴스에 대한 기술을 생성 및 교육합니다.
Oracle Digital Assistant 인스턴스의 왼쪽에 있는 탐색 메뉴를 열고 개발, 기술을 차례로 누릅니다.
![이 이미지는 왼쪽 탐색 메뉴가 열리고 [기술] 옵션이 강조 표시된 Oracle Digital Assistance 인스턴스를 보여줍니다. 이 이미지는 왼쪽 탐색 메뉴가 열리고 [기술] 옵션이 강조 표시된 Oracle Digital Assistance 인스턴스를 보여줍니다.](./images/oda-skills.png)
영업 지원 챗봇 통합 기술을 검색합니다.
주: 인스턴스에 이 기술이 없는 경우 SalesEnablementChatbotIntegration 폴더의 콘텐츠를 선택하여 단일 zip 파일로 압축합니다. ODA 인스턴스의 [기술] 페이지에서 기술 임포트를 누르고 방금 생성한 zip 파일을 임포트합니다. SalesEnablementChatbotIntegration 폴더를 직접 압축하면 임포트 시 오류가 발생합니다.
Sales Enablement 챗봇 통합 기술 카드에서 옵션 아이콘, 복제를 차례로 누릅니다.

복제된 스킬에 고유한 표시 이름을 부여합니다. 예를 들어 'AB - Sales Enablement 챗봇 통합'과 같은 시작 시 이니셜을 추가합니다. 다른 모든 값은 변경하지 않고 그대로 둡니다. 이후 복제된 기술 열기를 선택하고 복제를 누릅니다.
주: 이름은 문자로 시작해야 하며 문자, 숫자, 기간 및 밑줄만 포함할 수 있습니다. 100자를 초과할 수 없습니다.

교육을 누르고 교육자 Ht가 선택되었는지 확인한 다음 제출을 눌러 기술을 교육합니다.
주: 이 자습서에서는 Ht 교육을 사용하면 좋지만 매우 유용합니다. 프로덕션 작업의 경우 더 나은 의도 해상도를 제공하는 Tm 교육을 사용해야 합니다.

영업 지원 챗봇 통합 기술
기술은 사용자와 상호 작용하고 식음료 주문, 예약 및 연락처 정보 변경과 같은 특정 유형의 작업을 수행하도록 설계된 개인 챗봇입니다. ODAChatbot 기술은 사용자가 텍스트 메시지와 선택 목록과 같은 단순 UI 요소의 조합을 통해 적합한 영업 지원 공고 및 스토리를 찾을 수 있도록 도와줍니다.
디지털 도우미 및 기술 개발을 자세히 시작하기 전에 다음과 같은 몇 가지 개념을 숙지하고자 합니다.
소개 - 사용자가 수행해야 하는 작업 또는 작업의 범주입니다. 이 기술에는 두 가지 의도가 있습니다.
- 인사말: 사용자에게 환영 메시지를 표시합니다.
- StoryIntent: 이 의도는 Oracle Content Management의 적절한 메뉴와 콘텐츠 항목을 보여줍니다.
엔티티 - 작업 이행 기술을 사용으로 설정하는 사용자 입력에서 정보의 주요 부분을 식별하는 변수입니다. 기술에는 7개의 엔티티가 있습니다.
- TopMenu: 메뉴 항목을 포함하는 값 목록 개체입니다.
- HomeMenu: 홈 메뉴의 범주를 포함하는 값 목록 개체입니다.
- CafeSupremoMenu: Cafe Supremo 메뉴의 범주를 포함하는 값 목록 개체입니다.
- LearningMenu: 학습 메뉴의 범주를 포함하는 값 목록 개체입니다.
- SellingMenu: 판매 메뉴의 범주를 포함하는 값 목록 개체입니다.
- MenuBag: 메뉴 항목 엔티티의 조합 백 엔티티, 즉 HomeMenu, CafeSupremoMenu, LearningMenu 및 SellingMenu 엔티티입니다.
- StoryCategory: 모든 스토리 범주를 포함하는 값 목록 개체입니다.
의도와 엔티티 모두 NLP(자연어 처리)의 공통 개념입니다. NLP는 텍스트에서 정보 및 관련 정보를 추출하기 위한 과학입니다.
구성요소 - 사용자에게 응답할 수 있도록 다양한 기능을 제공하는 기술입니다. 텍스트 출력과 같은 일반 기능이나 백엔드에서 정보를 반환하고 사용자 정의 논리를 수행할 수 있는 사용자 정의 구성 요소일 수 있습니다. 이 기술에는 REST API를 통해 Oracle Content Management에서 콘텐츠 항목을 가져오는 하나의 사용자정의 구성요소 서비스 sales-enablement-custom-component가 있습니다.
대화상자 흐름 - 기술 사용자 상호 작용의 정의입니다. 대화상자 플로우는 사용자 입력에 따라 기술이 반응하고 동작하는 방식을 설명합니다.
채널 - 사용자는 메시징 플랫폼 또는 클라이언트 메시징 앱을 통해 디지털 어시스턴트 및 기술에 액세스할 수 있습니다. 단일 디지털 도우미 또는 기술에 여러 채널이 구성되어 있으므로 서로 다른 서비스에서 동시에 실행할 수 있습니다. 이 자습서에서는 Oracle 웹 채널을 사용하여 웹 애플리케이션의 기술에 액세스합니다.
Oracle Digital Assistant 및 기술에 대한 자세한 내용은 제품 문서를 확인하십시오.
사용자정의 구성요소 서비스 설정 및 구성
코드 기반의 oda-custom-component 폴더는 OCM의 보안 채널에서 콘텐츠를 인출하는 데 사용되는 ODA 사용자정의 구성요소입니다. 먼저 이 ODA 사용자 정의 구성 요소에 대한 종속성을 다운로드해야 합니다. site-integration-chatbot-sample/oda-custom-component 디렉토리에서 다음 명령을 실행합니다.
npm install
다음으로 Oracle Content Management Content SDK(및 기타 모든 요청)가 올바른 채널 토큰을 사용하여 올바른 인스턴스 URL 및 API 버전을 대상으로 지정할 수 있도록 몇 가지 정보를 구성해야 합니다.
이러한 값은 구성 요소/server-config-utils.js에서 새 전달 클라이언트를 인스턴스화하는 데 사용됩니다.
텍스트 편집기에서 server-config-utils.js 파일을 엽니다. 다음을 확인합니다.
contentServer: "https://instance-name.cec.ocp.oraclecloud.com",
contentVersion: "v1.1",
channelToken: "4b7b22ad5f5245f28579641d5489a98f",
각 키-값 쌍을 변경하여 인스턴스 URL, 대상으로 지정할 API 버전 및 CafeSupremoSalesEnablement 사이트의 게시 채널과 연관된 채널 토큰을 반영합니다.
Oracle Content Management Content SDK 사용
Oracle Content Management는 애플리케이션에서 콘텐츠를 검색하고 사용하는 데 도움이 되는 SDK를 제공합니다. SDK는 NPM 모듈로 게시되며 프로젝트는 GitHub에 호스팅됩니다.
여기서 SDK에 대해 자세히 알아보십시오.
SDK가 package.json 파일에서 ODA 사용자정의 구성요소의 런타임 종속성으로 등록되었습니다.
콘텐츠 SDK를 사용하여 콘텐츠 인출
이제 Content SDK를 활용하여 ODA 커스터마이징 구성요소를 통해 챗봇 기술에 대한 콘텐츠를 가져올 수 있습니다.
component/services.js 폴더에는 Content SDK를 사용하여 Oracle Content Management에서 데이터를 가져오는 코드가 포함되어 있습니다.
component/server-config-utils.js 파일은 Content SDK를 임포트한 다음 지정된 구성을 사용하여 전달 클라이언트를 생성합니다.
다음 명령은 SDK를 가져옵니다.
createDeliveryClient = require('@oracle/content-management-sdk');다음 명령은 전달 클라이언트를 생성합니다.
deliveryClient = createDeliveryClient(serverconfig);component/services.js 파일에는 챗봇에 대한 콘텐츠 항목을 가져오기 위한 모든 코드가 포함되어 있습니다. 챗봇에 대한 모든 콘텐츠를 가져오기 위한 하나의 주요 기능이 있습니다.
다음 함수를 호출하여 CafeSupremoSalesEnablement 저장소에서 특정 분류 범주에 대한 모든 데이터를 검색합니다.
function getStoryData(client, categoryName) {
if (categoryName === 'Announcements') {
return fetchItemsForAnnouncements(client, false)
.then((topLevelItem) => {
const { totalResults } = topLevelItem;
const promises = [];
// for each item, retrieve the result object and add it to the promise
topLevelItem.items.forEach((item) => {
promises.push(
retrieveAnnouncementsObject(client, item.id)
.then((resultobject) => ({ ...resultobject })),
);
});
// execute all the promises before returning the data
return Promise.all(promises)
.then((arrayOfItems) => ({
totalResults,
items: arrayOfItems.flat(),
}));
});
}
return fetchItemsForCategoryName(client, categoryName, false)
.then((topLevelItem) => {
const { totalResults } = topLevelItem;
const promises = [];
// for each item, retrieve the result object and add it to the promise
topLevelItem.items.forEach((item) => {
promises.push(
retrieveResultObject(client, item.id)
.then((resultobject) => ({ ...resultobject })),
);
});
// execute all the promises before returning the data
return Promise.all(promises)
.then((arrayOfItems) => ({
totalResults,
items: arrayOfItems.flat(),
}));
});
}getStoryData 함수는 공지 또는 스토리 범주에 대한 요청 생성 여부에 따라 두 개의 서로 다른 통화 세트를 만듭니다.
공고 데이터
공고에 대한 모든 콘텐츠 항목을 가져오려면 하나의 데이터 호출이 필요합니다.
getStoryData 함수는 'SE2-Announcements' 유형의 모든 콘텐츠 항목을 가져오는 fetchItemsForAnnouncements을 호출합니다. 그런 다음 retrieveAnnouncementsObject 함수가 호출되고 결과 객체의 제목 및 요약 필드가 fetchItemsForAnnouncements의 데이터로 채워집니다.
function fetchItemsForAnnouncements(client, limit) {
return client.getItems({
q: '(type eq "SE2-Announcement")',
fields: 'all',
expand: 'all',
limit: limit ? 4 : 100,
totalResults: true,
});
}스토리 데이터
스토리에 대한 모든 콘텐츠 항목을 가져오려면 여러 개의 데이터 호출이 필요합니다.
먼저, 사용자가 요청한 범주에 대한 모든 콘텐츠 항목을 가져옵니다.
가져온 각 콘텐츠 항목에 대해 미디어 URL을 검색하도록 호출합니다.
getStoryData 함수는 fetchItemsForCategoryName를 호출하여 사용자가 지정한 대로 유형이 'SE2-Story'이고 분류 범주 이름이 있는 모든 콘텐츠 항목을 가져옵니다.
function fetchItemsForCategoryName(client, categoryName, limit) {
return client.getItems({
q: `(taxonomies.categories.name eq "${categoryName}" and type eq "SE2-Story")`,
fields: 'all',
expand: 'all',
limit: limit ? 4 : 100,
totalResults: true,
});
}fetchItemsForCategoryName에서 인출한 콘텐츠 항목에는 매체 ID 필드가 있습니다. retrieveMediaURL 함수는 이 매체 ID를 사용하여 매체 URL을 인출합니다.
function retrieveMediaURL(client, identifier) {
return client.getItem({
id: identifier,
fields: 'all',
expand: 'all',
}).then((asset) => {
let url = null;
if (asset.fields && asset.fields.renditions && asset.fields.fileType !== 'mp4') {
const object = asset.fields.renditions.filter((item) => item.name === 'Small')[0];
const format = object.formats.filter((item) => item.format === 'jpg')[0];
const self = format.links.filter((item) => item.rel === 'self')[0];
url = self.href;
} else {
url = asset.fields.native.links[0].href;
}
return [url, asset.fields.fileType];
});
}사용자정의 구성요소 서비스 패키지화 및 배치
스킬, 원격 노드 서버 또는 Oracle Mobile Hub에 대한 내장 컨테이너에 사용자정의 구성요소를 배포할 수 있습니다. 이 사용지침서에서는 커스터마이징 구성요소 서비스를 내장 컨테이너에 배포합니다. 이렇게 하려면 먼저 사용자 정의 구성 요소 서비스를 배치 가능한 파일로 패키지화해야 합니다.
JavaScript IDE에서 작업을 저장합니다.
터미널 창을 열고 site-integration-chatbot-sample/oda-custom-component 폴더로 이동합니다.
oda-custom-component 폴더에 다음 npm 명령을 입력합니다.
bots-node-sdk packpackage.json 파일의 prepack 스크립트 때문에 이 명령은 먼저 prepack 명령을 실행하여 패키지를 확인합니다. 그런 다음 이 명령은 노드 프로젝트 및 해당 종속성을 oda-custom-component-1.0.0.tgz이라는 배치 가능한 tarball로 패키지화합니다.
tarball은 devDependencies를 제외한 모든 종속성을 포함해야 합니다.
ODA 인스턴스의 챗봇 기술에서 왼쪽 막대의 구성 요소 아이콘을 클릭하여 구성 요소 서비스 페이지를 엽니다. 새 서비스를 생성하려면 + 서비스를 누릅니다.

Create Service(서비스 만들기) 대화 상자에서 다음을 수행합니다.
Name(이름) 필드에 SalesEnablementCustomComponent을 입력합니다.
설명 필드에서 선택적 설명을 추가할 수 있습니다.
포함된 컨테이너 옵션이 선택되어 있는지 확인합니다.
oda-custom-component-1.0.0.tgz 파일을 패키지 파일 필드로 끌어 놓거나 업로드합니다.
Create를 누릅니다.
![이 이미지는 [서비스 생성] 대화상자를 보여 줍니다. 이 이미지는 [서비스 생성] 대화상자를 보여 줍니다.](./images/create-service-2.png)
상태 필드에 준비가 표시될 때까지 기다리십시오. 몇 초 정도 걸릴 수 있습니다.
스킬의 내장 컨테이너에 배치된 사용자정의 구성요소 서비스를 사용하여 구성요소를 테스트할 준비가 되었습니다.
Oracle Digital Assistant 및 사용자정의 구성요소에 대해 자세히 알아보려면 교육 문서를 확인하십시오.
Oracle Digital Assistant 웹 채널 생성
Oracle 웹 클라이언트가 자신의 기술에 액세스할 수 있는 Oracle Digital Assistant 사용자 채널을 생성합니다. 웹 클라이언트만 이 채널을 사용할 수 있도록 클라이언트 인증이 필요하도록 구성합니다.
Oracle Digital Assistant 인스턴스의 왼쪽에 있는 탐색 메뉴를 열고 개발, 채널을 차례로 누릅니다.

채널 페이지에서 + 채널을 눌러 채널을 추가합니다.
[채널 생성] 페이지에서 아래 스크린샷에 표시된 대로 이 정보를 입력합니다.
- 이름: 문자로 시작하고 문자, 숫자, 기간 및 밑줄(_)만 포함하는 고유한 이름입니다(예: AB_SalesEnablementChatbotIntegration).
- 설명: (선택사항) 사용된 채널입니다.
- 채널 유형: Oracle Web입니다.
- 허용된 도메인: * (단일 별표는 모든 도메인을 허용합니다.)
- Client Authentication Enabled: 클라이언트를 off 위치에 둡니다.

Create를 누릅니다.
경로 지정 대상 드롭다운 목록에서 이 자습서에 대해 생성한 기술을 선택합니다.

채널 사용 옵션을 On으로 전환합니다.
이 채널에 표시된 채널 ID를 기록해 두십시오. 나중에 이 자습서에서 이 값을 웹 앱에서 사용합니다.

또한 웹 브라우저의 주소 필드에 나타나는 인스턴스 URL(예: oda-xxxx.data.digitalassistant.oci.oraclecloud.com)에서 Oracle Digital Assistant 호스트 및 도메인(정규화된 도메인 이름으로 참조됨)을 기록합니다. 이 값은 나중에 자습서에서 사용합니다.
이제 웹 사이트의 챗봇을 기술에 연결하도록 인스턴스가 설정되었습니다.
작업 3: Oracle Content Management 사용자정의 구성요소 설정
이제 SE2-ODA-Chatbot 사용자정의 구성요소를 Oracle Content Management 인스턴스로 임포트해야 합니다.
Oracle Content Management 사용자정의 구성요소 설정은 3단계 프로세스입니다.
Oracle Digital Assistant 웹 SDK 추가
SE2-ODA-Chatbot 사용자 정의 구성 요소에 ODA web-sdk.js 파일을 추가해야 합니다. SDK는 Oracle Digital Assistant와 기술(또는 디지털 어시스턴트) 사이에 있는 Oracle Chat Server에 연결됩니다. 그런 다음 채팅 서버는 처리 능력에 메시지를 전달하여 클라이언트에 기술 응답을 전달합니다.
Oracle Web SDK의 최신 버전을 다운로드하고 선택한 폴더에 압축을 풉니다. 또한 사이드 메뉴를 열고 다운로드를 눌러 Digital Assistant 인스턴스에서 이 SDK의 다운로드 페이지로 이동할 수 있습니다.
Oracle Web SDK 폴더에서 native-client-sdk-js/web-sdk.js 파일을 복사하고 SE2-ODA-Chatbot/assets/chatbot 폴더에 넣습니다.

SE2-ODA-Chatbot 사용자정의 구성요소 임포트
SE2-ODA-Chatbot 사용자정의 구성요소를 임포트하려면 다음을 수행합니다.
site-integration-chatbot-sample 폴더로 이동하여 SE2-ODA-Chatbot 폴더를 zip 파일로 압축합니다.
Oracle Content Management 웹 인터페이스에 관리자로 로그인합니다.
왼쪽 탐색 메뉴에서 Developer를 누르고 View All Components를 누릅니다. 개발자 옵션이 표시되지 않는 경우 필수 사용자 역할이 없는 것입니다.
구성요소 페이지에서 생성을 누르고 구성요소 임포트를 선택합니다.
![이 이미지는 [생성] 드롭다운 메뉴가 열려 있는 [구성 요소] 페이지를 보여줍니다. 드롭다운 메뉴의 맨 아래에는 구성요소 가져오기 옵션이 있습니다. 이 이미지는 [생성] 드롭다운 메뉴가 열려 있는 [구성 요소] 페이지를 보여줍니다. 드롭다운 메뉴의 맨 아래에는 구성요소 가져오기 옵션이 있습니다.](./images/import-component.png)
구성요소를 업로드하거나 새 폴더를 생성할 Oracle Content Management 인스턴스의 폴더로 이동합니다. 업로드를 누른 다음 SE2-ODA-Chatbot.zip 파일을 찾아 열기를 누릅니다.
SE2-ODA-Chatbot.zip 파일을 선택하고 확인을 누릅니다.
![이 이미지는 SE2-ODA-Chatbot.zip 파일이 선택되고 OK가 사용으로 설정된 [파일 선택] 페이지를 보여줍니다. 이 이미지는 SE2-ODA-Chatbot.zip 파일이 선택되고 OK가 사용으로 설정된 [파일 선택] 페이지를 보여줍니다.](./images/import-component.png)
구성요소 또는 레이아웃 이름 또는 ID가 존재하는 경우 충돌을 해결할지 묻는 메시지가 표시됩니다. 새 구성요소를 생성해야 할 수도 있고, 기존 구성요소를 임포트된 버전으로 겹쳐쓸 수도 있습니다.
SE2-ODA-Chatbot 구성 요소가 성공적으로 업로드되면 구성 요소 페이지에 나열됩니다.
SE2-ODA-Chatbot 사용자정의 구성요소 게시
이제 임포트한 SE2-ODA-Chatbot 구성요소를 게시해야 합니다.
[구성요소] 페이지에서 SE2-ODA-Chatbot 구성요소를 선택하고 작업 표시줄 또는 마우스 오른쪽 단추 누르기 메뉴에서 게시를 누릅니다.
![이 이미지는 SE2-ODA-Chatbot 구성요소가 선택되고 [게시] 옵션이 사용으로 설정된 [구성 요소] 페이지를 보여줍니다. 이 이미지는 SE2-ODA-Chatbot 구성요소가 선택되고 [게시] 옵션이 사용으로 설정된 [구성 요소] 페이지를 보여줍니다.](./images/select-component-for-publish.png)
[구성요소 게시] 대화상자에서 진행 확인을 선택하고 확인을 누릅니다.
![이 이미지는 '진행 확인' 체크박스가 선택되고 확인 버튼이 사용으로 설정된 [구성 요소 게시] 페이지를 보여줍니다. 이 이미지는 '진행 확인' 체크박스가 선택되고 확인 버튼이 사용으로 설정된 [구성 요소 게시] 페이지를 보여줍니다.](./images/publish-component.png)
SE2-ODA-Chatbot 구성 요소가 게시되면 페이지 상단에 알림이 표시되어 이를 확인합니다.
작업 4: 웹 사이트에 사용자정의 구성요소 추가
마지막 단계로 SE2-ODA-Chatbot 사용자정의 구성요소를 Site Builder에서 끌어 놓는 방식으로 영업 지원 사이트에 추가합니다.
영업 지원 사이트에 챗봇을 추가하는 작업은 2단계 프로세스입니다.
웹 사이트 편집
첫 번째 단계는 SE2-ODA-Chatbot 사용자정의 구성요소를 사용하여 챗봇을 영업 지원 사이트에 추가하는 것입니다.
Oracle Content Management 웹 인터페이스에 로그인하고 [사이트] 페이지를 엽니다.
새로 생성된 웹 사이트를 선택하고 작업 표시줄 또는 마우스 오른쪽 단추 누르기 메뉴에서 열기를 선택하여 사이트 작성기에서 엽니다.
보기/편집 스위치를 토글하여 사이트를 편집 모드로 전환합니다.
업데이트 이름을 입력하고 확인을 누릅니다.
왼쪽 사이드바에서 구성요소, 사용자정의를 차례로 눌러 사용자정의 구성요소 목록을 표시합니다.
![이 이미지는 [사용자 정의] 옵션이 선택된 사이트 작성기의 구성 요소 목록을 보여줍니다. 이 이미지는 [사용자 정의] 옵션이 선택된 사이트 작성기의 구성 요소 목록을 보여줍니다.](./images/select-custom-component.png)
이제 SE2-ODA-Chatbot 사용자 정의 구성 요소를 사용하여 ODA 챗봇 위젯을 홈 페이지에 추가해 보겠습니다. 페이지의 아무 곳에나 SE2-ODA-Chatbot 구성 요소를 끌어 놓습니다. SE2-ODA-Chatbot 구성 요소의 제목을 눌러 해당 상위가 원하는 구성 요소인지 확인합니다. 이것은 웹 페이지 구조 내에서 구성요소가 어디에 있는지 확인하는 유용한 방법입니다.

[일반 사항] 탭에서 사용자 설정을 완료합니다.
- ODA URI: ODA 인스턴스 URL(http:// 제외)입니다.
- 채널 ID: ODA 웹 채널 ID입니다.
- 챗봇 제목: 헤더에 표시되는 채팅 위젯의 제목입니다.
- 챗봇 구성: 선택적으로 ODA 챗봇에 대한 추가 구성을 JSON 객체로 제공합니다(모든 키 및 값 문자열에 대해 큰따옴표 사용).
위 단계를 반복하여 웹 사이트의 모든 페이지에 챗봇을 추가합니다.
웹 사이트 게시
이제 챗봇을 웹 사이트에 성공적으로 추가했으며, 이를 게시하여 사용자가 볼 수 있도록 온라인으로 제공할 수 있습니다.
모든 사항이 나타나면 사이트 작성기의 오른쪽 상단에서 커밋을 눌러 기본 웹 사이트에 변경사항을 커밋합니다.

[업데이트 커밋] 대화상자에서 커밋을 누릅니다.

변경사항이 커밋되면 웹 사이트를 게시할 준비가 되었습니다. 사이트 작성기를 닫습니다.
Oracle Content Management 웹 인터페이스의 왼쪽 탐색 메뉴에서 사이트를 누르고 웹 사이트를 선택합니다.
메뉴 모음에서 사이드바를 누르고 속성을 선택하거나 마우스 오른쪽 단추 누르기 메뉴에서 속성을 선택합니다.

속성 대화상자에서 보안 탭을 누른 다음 이 사이트에 액세스하려면 모든 사용자가 사인인해야 함 필드에서 예를 선택합니다. 온라인으로 이동할 때 이 사이트에 액세스할 수 있는 사람 필드에서 클라우드 사용자 체크박스를 선택하고 저장을 누릅니다.

작업 표시줄 또는 마우스 오른쪽 단추 누르기 메뉴에서 게시를 선택합니다.

웹 사이트가 게시되면 페이지 상단에 통지가 표시되어 이를 확인합니다.
[사이트] 페이지에서 웹 사이트를 다시 선택하고 작업 표시줄 또는 마우스 오른쪽 단추 누르기 메뉴에서 온라인으로 전환을 선택합니다. [온라인으로 전환] 대화상자에서 진행 확인을 선택하고 온라인으로 전환을 누릅니다.

![이 이미지는 사이트 작성기의 [온라인으로 가져오기] 대화상자를 보여줍니다. 이 이미지는 사이트 작성기의 [온라인으로 가져오기] 대화상자를 보여줍니다.](./images/sales-enablement-online-dialog.png)
바로 그겁니다. 이제 웹 사이트가 온라인이고 다른 사람이 볼 수 있습니다.
웹 사이트를 보려면 작업 표시줄에서 보기를 선택하거나 마우스 오른쪽 단추 누르기 메뉴를 선택하거나 웹 브로 URL을 엽니다.
챗봇 활용 방법
사이트에서 챗봇을 사용할 수 있는 몇 가지 방법은 다음과 같습니다.
시작하려면 봇에 문의하십시오.
봇에게 "봇을 사용하는 방법"을 요청하십시오.

질의를 입력하여 스토리를 찾습니다.
봇에게 "자금 솔루션 제공"을 요청하고, 스토리 카드를 클릭하여 웹 사이트에서 여십시오.

쿼리를 말하고 오디오 응답을 받아 스토리를 찾을 수 있습니다.
오디오 입력을 사용하고 "Cafe 세일즈 플레이 보기"를 사용하려면 오디오 응답을 설정합니다.
"자세히 표시"를 눌러 범주의 다른 스토리를 보거나 "다른 항목을 찾을 수 있음"을 입력하여 새 질의를 시작할 수 있습니다.

다른 메뉴 항목을 참조하십시오.
"기본 메뉴를 보고 싶습니다."라는 봇에 문의하십시오.

특정 메뉴에 대해 자세히 알아봅니다.
봇 "홈 메뉴 표시"를 문의하거나 기본 메뉴 목록에서 메뉴 항목을 클릭하거나 "판매 메뉴에서 찾을 수 있는 항목"을 입력하거나 "판매 메뉴에서 찾을 수 있는 항목"을 입력합니다.

Oracle Digital Assistant를 Oracle Content Management에 구축된 웹 사이트에 통합
F52687-01
2022년 1월
Copyright © 2021, 2022, Oracle and/or its affiliates.
주 저자: Oracle Corporation