> For the complete documentation index, see [llms.txt](https://docs.tibero.com/sysmasterdb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/sysmasterdb/8.4_manual/ai-chatbot.md).

# AI Chatbot

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2F7IKDdAzoH1qwc6YQte2S%2Fimage.png?alt=media&#x26;token=532eab4a-57b9-4c4e-b35d-f0f30f71da19" alt=""><figcaption></figcaption></figure>

글로벌 내비게이션 바에서 **\[AI Bot]** 아이콘을 클릭하면 AI Chatbot 패널이 열린다.

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2FMVh0hqUKi4hCQVPwoWTS%2F286_chatbot.png?alt=media" alt=""><figcaption></figcaption></figure>

AI Chatbot은 자연어로 질문을 입력하면 관제 대상 인스턴스의 모니터링 데이터를 조회하거나, SysMasterDB 매뉴얼에서 관련 내용을 찾아 답변하는 기능이다. 챗봇은 질문의 의도를 자동으로 판단하여 다음 두 가지 유형 중 하나로 처리한다.

| 질문 유형  | 설명                                                                 | 질문 예시                       |
| ------ | ------------------------------------------------------------------ | --------------------------- |
| 데이터 조회 | 관제 대상 인스턴스의 모니터링 데이터를 조회하여 표와 요약으로 답변한다. 자세한 내용은 Data Query를 참고한다. | "어제 CPU 사용률이 가장 높았던 인스턴스는?" |
| 매뉴얼 검색 | SysMasterDB 매뉴얼에서 관련 내용을 찾아 답변한다. 자세한 내용은 Manual Search를 참고한다.     | "알림 설정은 어떻게 하나요?"           |

질문 유형은 챗봇이 자동으로 구분하므로 별도의 모드 전환 없이 자유롭게 질문할 수 있다. 이전 대화 내용을 기억하므로 "방금 결과 다시 보여줘"와 같은 후속 질문도 가능하다.

질문은 언어 제한 없이 입력할 수 있다. 매뉴얼 검색 답변은 한국어로 생성되고, 데이터 조회 답변은 사용자의 시간대에 해당하는 언어(예: Asia/Seoul이면 한국어)로 생성된다.

## 사용 요구사항

AI Chatbot을 사용하기 위해서는 다음 요구사항을 모두 만족해야 한다. Super Admin과 Admin을 제외한 일반 User는 AI ChatBot 권한이 없으면 글로벌 내비게이션 바의 AI Bot 아이콘이 비활성화되며, AI Model이 설정되지 않은 상태에서 질문하면 답변 대신 오류 메시지가 표시된다.

* Super Admin이 Settings의 AI Model 메뉴에서 올바른 모델과 API Key를 설정해야 한다.
* 사용자는 인스턴스를 1개 이상 보유한 그룹에 속해 있어야 한다.
* 사용자는 AI ChatBot 권한이 있어야 한다. Super Admin과 Admin은 기본적으로 사용할 수 있으며, 일반 User는 Super Admin 또는 Admin이 부여한 AI ChatBot 권한(Configurable Privileges)이 있는 경우에만 사용할 수 있다. 권한 부여 방법은 [Configurable Privileges](/sysmasterdb/8.4_manual/settings/user.md#configurable-privileges) 를 참고한다.

{% hint style="info" %}
**참고**

챗봇 패널이 열려 있는 동안 그룹에서 제외되거나, 관리자가 AI ChatBot 권한을 해제하거나, 소속 그룹이 삭제되면 **Access Removed** 안내 창이 표시된다. Confirm을 클릭하면 그룹 선택 화면으로 이동한다. AI ChatBot 권한만 해제된 경우에는 대화가 삭제되지 않는다.
{% endhint %}

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2FSHN9ybW4mpzEoPN3pPA2%2Fa3_access-removed.png?alt=media" alt=""><figcaption></figcaption></figure>

## 추천 질문

대화를 시작하기 전 첫 화면에는 추천 질문 버튼이 제공된다. 추천 질문 버튼을 클릭하면 아래 표의 질문이 입력창에 입력된다. 자동으로 전송되지는 않으며, 내용을 수정하거나 그대로 전송할 수 있다.

| 버튼 문구                                                           | 입력되는 질문                                                                               |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Show the Query with the longest execution time today.           | 오늘 실행된 SQL 중 가장 오래 걸린 SQL 보여줘. 수행 시간 단위는 분으로 보여줘.                                     |
| Show the top 5 processes with the highest CPU and memory usage. | 오늘 수행한 프로세스 중에 cpu usage, memory usage 가장 높은 5개 선택해서 프로세스 이름이랑 시점 함께 보여줘.             |
| Show me the SQL query with the highest physical reads today.    | 오늘 수집한 sql trace 중에 physical read가 가장 많았던 sql을 인스턴스랑, sql id 그리고 childnumber랑 함께 알려줘. |
| Tell me about the user permissions for SysMasterDB.             | SysMasterDB의 사용자 권한에 대해 알려줘.                                                          |

## 인스턴스 선택

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2FljA6USjkOHtwQzIM4Ryz%2F287_context.png?alt=media" alt=""><figcaption></figcaption></figure>

사용자는 데이터 조회 시 원하는 인스턴스를 선택해서 필터를 걸 수 있다. 이때 선택 가능한 인스턴스는 해당 그룹에 속해 있는 인스턴스 범위 내에서만 가능하다.

{% hint style="info" %}
**참고**

기본값은 전체 선택이며, 선택한 내용은 저장되지 않는다.
{% endhint %}

## 대화 관리

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2F2oZlHhMZQUeT7BH5lfQo%2Fimage.png?alt=media&amp;token=70781760-eed5-47fe-9f4b-2e44ad79d3d9" alt=""><figcaption></figcaption></figure>

챗봇 패널 좌측의 사이드 메뉴에서 대화 목록을 관리할 수 있다. 모든 대화 내용은 즉시 저장되므로 이전 대화를 선택하여 이어서 질문할 수 있다.

| 항목          | 설명                                                                                          |
| ----------- | ------------------------------------------------------------------------------------------- |
| New Chat    | 새 대화를 시작한다.                                                                                 |
| Recent Chat | 최근 대화 목록이다. 대화를 선택하면 이전 대화에 이어서 질문할 수 있다.                                                   |
| Pinned      | 고정한 대화 목록이다. 대화의 더보기(···) 메뉴에서 Pin to top을 선택하면 고정되고, Unpin을 선택하면 해제된다. 고정한 대화가 있을 때만 표시된다. |
| Delete      | 대화의 더보기(···) 메뉴에서 Delete를 선택하면 대화를 삭제한다. 삭제한 대화는 되돌릴 수 없다.                                  |

{% hint style="info" %}
**참고**

대화는 그룹 기준으로 저장된다. 따라서 그룹이 변경될 경우 해당 그룹 기준으로 저장되었던 채팅 목록을 불러온다.
{% endhint %}

### 대화 보존 및 삭제

다음의 경우 대화 내용이 삭제된다.

* 사용자가 대화 목록에서 직접 삭제한 경우
* 그룹에서 제외되거나 소속 그룹이 삭제된 경우
* 마지막 질문 시각을 기준으로 데이터 보존 기간(기본 7일)이 지난 대화가 매일 자정에 자동으로 정리되는 경우 (고정한 대화는 자동 정리 대상에서 제외된다)

자세한 내용은 하위 페이지에서 설명한다.

{% content-ref url="/pages/iDm7Fqzk6z1kuT5gikth" %}
[Data Query](/sysmasterdb/8.4_manual/ai-chatbot/data-query.md)
{% endcontent-ref %}

{% content-ref url="/pages/dhHsOwbpqoiTsnTL3Pfi" %}
[Manual Search](/sysmasterdb/8.4_manual/ai-chatbot/manual-search.md)
{% endcontent-ref %}
