Table of contents
외부 REST API 사용을 위해서는 사용자 지정 커넥터 Manifest 파일이 있어야만 합니다.
수월한 진행을 위해 사전에 생성한 CoinCap REST API의 JSON 파일은 아래 경로를 통해 다운로드 받으실 수 있습니다.
JSON 파일 다운로드 참고 6-2 (옵션)사용자 지정 커넥터 만들기 강의를 참조하면 JSON 형태의 Manifest 파일을 생성할 수 있습니다.
Copilot agent 만들기
이전 강의에서 알려 드린 Copilot Studio로 접속을 진행합니다. 왼쪽 [에이전트]을 선택한 후 [Copilot for Microsoft 365]를 선택합니다.
[에이전트] 탭에서 [에이전트 추가]를 선택합니다.
[이름]은 Copilot Agent의 이름을 작성합니다.
[설명]은 해당 Agent의 설명으로 Agent에 대한 설명을 진행합니다.
[지침]은 Agent가 어떻게 동작을 할 것인지에 대한 내용입니다.
지침은 아래 텍스트를 복사하여 붙여넣기를 하시거나 새롭게 선언을 하셔도 됩니다.
[추가 설정]에서 [웹 브라우징]은 외부 작업을 통해서 가져온 데이터만을 사용하기 위해 사용 중지로 설정을 합니다.
1
2
3
4
5
6
7
#목적
저는 사용자가 질문하는 내용에 대해 작업을 통해 정보를 전달하는 정보 전달 코치입니다.
#지침
1. 외부 링크는 사용하지 않고, 작업에서만 확인 된 내용을 전달합니다
2. 답변은 공손한 어조를 사용하여 전달을 합니다.
#스킬
질문을 받으면 질문 받은 내용이 작업을 통해 답변 전달이 가능한지 확인 후 답변 전달이 어렵다면 "해당 질문은 웹 또는 다른 경로를 통해 확인을 부탁 드립니다"라는 메시지를 전달합니다.
에이전트가 만들어졌다면, 아래와 같이 [작업 추가]를 진행합니다.
이번 강의에서는 외부 API를 사용하는 사용자 지정 커넥터 연결 방식을 사용해보기 과정이기 때문에 [사용자 지정 커넥터]를 사용할 예정입니다.
[사용자 지정 커넥터의 API 추가]를 선택합니다.
사용자 지정 커넥터의 API를 사용하기 위해서는 REST API의 Manifest 파일이 있어야만 합니다.
JSON 형태의 Manifest 파일이 없다면 6-2 사용자 지정 커넥터 만들기 강의를 참조하여 주시기 바랍니다.
사전에 생성한 CoinCap REST API의 JSON 파일은 아래 경로를 통해 다운로드 받으실 수 있습니다. https://github.com/lanslote/copilot/blob/main/_agent-HOL/assets/60/CoinCap.swagger.json
[REST API 사양 업로드]에서는 앞에서 다운로드 받은 Json 파일을 추가해 줍니다. Drag&Drop을 하시거나 파일 찾기를 통해 업로드 해주세요.
REST API 사양이 업로드 완료되면 아래와 같이 JSON 값들이 들어온 것을 확인할 수 있습니다.
[작업 이름], [설명]은 JSON 파일에 설정한 값들을 가져와 설정이 된 것을 확인할 수 있습니다.
같은 테넌트 내에서 동일한 JSON 파일로 테스트를 하시는 경우 반드시 작업 이름을 변경 부탁드립니다.
예를 들어, CoinCap 뒤에 생년월일 등을 붙여서 CoinCap0626과 같은 형태로 테넌트 내내 유일한 이름으로 변경을 진행합니다.
해당 예제 작업은 API 제공을 해주는 CoinCap에서 Nokey 형태로 제공을 하는 API이기 때문에 별도로 인증 선택을 하지 않아도 됩니다. 다음으로 진행을 합니다.
Copilot for Microsoft 365에서 사용 가능한 작업은 GetCoin으로 JSON 파일에서 정의 된 값이 나타납니다. 다음으로 진행을 합니다.
해당 영역에서는 [작업 이름]와 [작업 설명]을 을 지정할 수 있는데 JSON 파일에서 GetCoin으로 작업 이름 및 설명을 지정해 놓았습니다. 사용자 선택에 따라 변경이 가능합니다. 작업 설명 또한 사용자가 변경을 하실 수 있습니다.
여기서는 매개 변수에 대한 설정을 진행합니다. Sample REST API Spec에 따라 JSON 파일에서는 ID를 매개 변수로 설정을 하였습니다. REST API의 Spec은 CoinCap을 통해 확인하실 수 있습니다. https://docs.coincap.io/
JSON 파일에서 ID에 대한 설명 및 출력에 대한 설명을 사전에 지정해 놓았습니다. 필요에 따라 설정 값을 변경하실 수 있습니다. 예제를 위해 변경을 하지 않고 다음로 진행을 하겠습니다.
다시 한번 앞에서 설정한 작업에 대한 화면을 확인할 수 있습니다. 변경 사항이 없기 때문에 다음로 진행을 합니다.
작업 리뷰에서는 REST API 플러그인 추가 과정에 대한 리뷰를 진행합니다. 작업 게시를 위해 다음으로 진행을 합니다.
작업 게시가 완료되면 [연결 만들기]를 실행합니다.
작업 검색에서 coincap 또는 GetCoin을 검색하면 앞서 추가한 사용자 지정 커넥터가 나타나는 것을 확인할 수 있습니다.
[GetCoin]을 선택합니다.
3단계 중 1단계: 작업 선택 영역은 이미 사전에 정의 된 작업에 대한 정보가 들어가 있는 것을 확인하실 수 있습니다. 스크롤을 내려보면 아래 화면과 같이 [작업 이름]과 [표시 이름]이 설정되어 있는 것을 확인할 수 있습니다. 해당 강의에서는 별**도로 수정하지 않고 [다음]으로 넘어갑니다.
3단계 중 2단계: 입력 및 출력 검토 영역에서는 입력과 출력에 대한 설정을 진행할 수 있습니다.
[입력]란은 매개 변수인 ID에 대한 설정을 진행하는데, 이 값은 프롬프트를 통해 입력되는 값이기 때문에 해당 강의에서는 동적으로 할당을 진행합니다.
[출력]에서는 [출력 편집]을 선택합니다.
프롬프트 결과에 URL이 포함되어 있으면 외부 링크로 인해 결과가 차단되는 경우가 발생하기에 URL이 포함 된 응답 속성을 삭제를 진행합니다. Sample REST API의 응답에는 Explorer라는 속성이 있는데, 이 속성은 URL을 포함하고 있기 때문에 삭제(휴지통 아이콘)진행 합니다. [다음]으로 진행합니다.
3단계 중 3단계: 검토 및 완료에서는 특별한 이상이 없다면 [마치기]를 진행합니다.
작업이 추가 되면 [작업]에 CoinCap - GetCoin이 추가 된것을 확인할 수 있습니다.
오른쪽 옆 패널에서 [에이전트 테스트]를 진행할 수 있습니다. 여기서 예를 들어 “비트코인 정보를 알려줘”라고 프롬프트를 입력하게 되면 아래와 같이 연결 정보 확인 요청이 발생합니다.
이는 REST API에 대한 연결 정보가 생성되어 있지 않기 때문에 발생한 것입니다. [Connect]를 눌러서 연결 정보를 생성합니다.
[연결 관리] 페이지에서 [연결]을 실행합니다.
연결 정보를 생성하기 위해 [제출]을 실행합니다.
연결이 완료 되면 아래와 같이 [연결됨]을 확인하실 수 있습니다.
다시 한번 프롬프트에서 [Retry]를 진행합니다. 그러면 정상적으로 비트코인 정보를 [작업]을 통해 가져온 것을 확인할 수 있습니다.
참고로 이 값은 CoinCap에서 제공하는 REST API이기 때문에 아래와 같이 JSON 타입으로 결과가 전달되며, 이 결과는 실시간으로 달라지게 됩니다.
정상적으로 동작하는 것을 확인하였다면, [게시]를 통해 Copilot Agent를 생성 및 게시합니다.
게시가 진행되면, 현재 생성한 Copilot Agent를 어디에 배포할 것인가 선택을 하게 됩니다. 해당 강의에서는 조직이 아닌 내 계정으로 테스트를 진행하기 때문에 [링크 공유]에서 [복사]를 선택합니다.
브라우저를 실행하여 복사된 공유 URL을 붙여 넣기하면, 아래와 같이 Copilot Agent에 대한 배포창이 나타나며 [Add]를 선택하여 내 계정에 Copilot Agent를 추가합니다.
Copilot Agent가 추가되었다면, 비즈챗으로 넘어가서 Copilot Agent를 실행합니다. 그리고 코인 정보에 대한 프롬프트를 입력합니다. 프롬프트를 입력하게 되면 작업이 실행되기 위한 [허용 절차]가 발생합니다. [항상 허용]을 선택합니다.
다시 한번 생성한 Agent의 작업 연결 진행을 위한 과정이 진행됩니다. 아래 화면과 같이 로그인을 진행합니다.
[연결 관리] 페이지에서 작업으로 실행 될 CoinCap에 대한 연결을 진행합니다. 이는 앞에서 진행한 테스트 과정에서 발생한 [연결 관리]와 동일한 과정입니다.
CoinCap 연결 관리에 대한 제출을 진행하면 정상적으로 작업이 진행이 됩니다.
연결이 완료 된 후 다시 한번 프롬프트를 통해 코인 관련 정보를 입력하면 정상적으로 코인 정보를 가져오는 것을 확인할 수 있습니다.
이번 강의에서는 외부 REST API에 대한 Manifest 파일을 가지고 [사용자 지정 커넥터]를 추가하여 사용하는 방법에 대해 알아 봤습니다. 고객사 내에서 사용하는 서버에서 제공하는 REST API과 Manifest 파일이 있다면 Copilot Agent에 [작업]으로 추가를 하실 수 있습니다.