---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# MLSolution - 전역

# MLSolution - 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 12분

MLSolution API는 예측을 처리 예측 인텔리전스 하고 모든 기능(유사성, 분류 및 클러스터링)에 대한 솔루션 개체를 검색하는 메서드를 제공합니다.  
이 API는 분류 및 클러스터링 솔루션에 고유한 모든 솔루션 기능과 메서드 중에서 일반적으로 사용되는 메서드를 제공합니다.

* 모든 솔루션 객체에 사용되는 공통 메서드:
  * getCapability()
  * getVersion()
  * isActive()
  * 예측()
  {#MLSolutionAPI__ul_uyg_bjy_xjb}
* 분류 및 회귀 솔루션에만 사용되는 방법:
  * 적용예측()
  {#MLSolutionAPI__ul_wls_bjy_xjb}
* 클러스터링 솔루션에만 사용되는 방법:
  * getClusterAssignments()
  * getClusterForRecord()
  * getClusterInfo()
  {#MLSolutionAPI__ul_j35_bjy_xjb}
{#MLSolutionAPI__ul_cd1_1jy_xjb}

MLSolution API에는 플러그인(com.glide.platform_ml)이 필요 예측 인텔리전스 하며 `sn_ml` 네임스페이스 내에서 제공됩니다.

이 개체의 메서드는 [MLSolutionFactory](https://servicenow-prod.fluidtopics.net/lXUIAVoIwPkYAB~tsUw0rw#MLSolutionFactoryAPI "MLSolutionFactory API는 MLSolution 스크립트 가능한 개체를 가져오는 팩터리 클래스입니다.")를 사용하여 인스턴스화됩니다.{#MLSolutionAPI__classInstantMLSF}
**관련 개념**   

* [MLSolutionUtil](https://servicenow-prod.fluidtopics.net/KQixAMPAckGk66ZJAc5d6Q#MLSolutionUtilAPI "MLSolutionUtil 스크립트 포함은 예측을 가져오 예측 인텔리전스 는 메서드를 제공합니다.")
* [REST API: 여러 솔루션에 대한 예측 가져오기](https://servicenow-prod.fluidtopics.net/FEr2tyhyaKtHDxDg7Cde3w#agent-intelligence-api "예측 인텔리전스 API는 하나 이상의 입력 필드와 훈련된 솔루션을 기반으로 필드 값을 예측하는 엔드포인트를 제공합니다.")

## MLSolution - applyPrediction(GlideRecord now_GR) {#ariaid-title2}

분류 솔루션에 대한 예측 결과를 가져오고 신뢰도 값이 임계치보다 높은 경우 입력 GlideRecord에 적용합니다.
{#MLSolution-applyPrediction_GR__table_hqw_pbm_yfb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| now_GR | GlideRecord | 예측을 실행하고 결과를 적용할 값이 포함된 GlideRecord 객체입니다. |
[표 1. 매개변수]

{#MLSolution-applyPrediction_GR__table_hqw_pbm_yfb} {#MLSolution-applyPrediction_GR__table_iqw_pbm_yfb__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 예측이 적용되었는지 여부를 나타내는 플래그: * true: 예측이 적용됨 * false: 예측 거부됨 {#MLSolution-applyPrediction_GR__ul_pvl_ggm_ckb} |
[표 2. 반환]

{#MLSolution-applyPrediction_GR__table_iqw_pbm_yfb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");

    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");

    mlSolution.applyPrediction(inputGR);

## MLSolution - getCapability() {#ariaid-title3}

교육된 솔루션의 역량 정보를 가져옵니다.
{#MLSolution-getCapability__table_em3_pfx_ggb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 3. 매개변수]

{#MLSolution-getCapability__table_em3_pfx_ggb} {#MLSolution-getCapability__table_fm3_pfx_ggb__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 교육된 솔루션의 유형입니다. 가능한 값: * 유사성 * 분류 * 클러스터링 {#MLSolution-getCapability__ul_sv5_slm_ckb} |
[표 4. 반환]

{#MLSolution-getCapability__table_fm3_pfx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");

    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    options.top_n_per_cluster = 3;

    if (mlSolution.getCapability() == 'clustering') {
    	var results = mlSolution.getClusterAssignments(options);
    	// pretty print JSON results
    	gs.print(JSON.stringify(JSON.parse(results), null, 2));
    }

## MLSolution - getClusterAssignments(개체 옵션) {#ariaid-title4}

클러스터링 솔루션에 대한 할당을 가져옵니다.
{#MLSolution-getClusterAssignments_O__table_t1q_hxt_rhb__entry__3}{#MLSolution-getClusterAssignments_O__ml-cluster-create-xbl}

| 이름 | 유형 | 설명 |
|-|-|-|
| 옵션 | 객체 | 옵션입니다. 클러스터링 솔루션 내에서 반환된 결과의 범위를 그룹 및 수준별로 좁히는 데 사용할 값입니다. 기본값: 모든 클러스터에 대한 클러스터 구성원 자격을 반환합니다. |
| options.group_by | 문자열 | 옵션입니다. 클러스터 구성원 자격을 검색할 세부 항목 필드(예: assignment_group)를 식별합니다. 이 필드는 클러스터링 정의 양식의 그룹화 기준 사용 확인란에 제공된 옵션과 동일한 그룹화를 제공합니다. 제공되는 정보는 테이블 필드에서 선택한 테이블에 따라 다릅니다. 자세한 내용은 [클러스터링 솔루션 만들기 및 교육](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US) 을 참조하세요. |
| options.cluster_id | 문자열 | 옵션입니다. 클러스터 요약 \[ml_cluster_summary\] 테이블에 있는 교육된 솔루션의 클러스터 ID입니다. |
| options.top_n_per_cluster | 번호 | 각 클러스터에 대해 수신할 상위 결과 수입니다. |
[표 5. 매개변수]

{#MLSolution-getClusterAssignments_O__table_t1q_hxt_rhb} {#MLSolution-getClusterAssignments_O__table_u1q_hxt_rhb__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | cluster_id별로 높아지는 순서대로 클러스터 정보를 포함하는 JSON 배열: * cluster_id: 문자열. 클러스터의 솔루션 내에서 고유한 클러스터 번호입니다.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsID} * rec_display_id: 문자열. 기록 유형 및 번호입니다.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-dispid} * rec_sys_id: 문자열. 기록 sys_id.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-sysid} * group_by: 그룹화된 경우 이 클러스터와 연결된 분할 필드의 이름입니다.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsGrp} {#MLSolution-getClusterAssignments_O__ul_oz5_dwm_rhb} |
[표 6. 반환]

{#MLSolution-getClusterAssignments_O__table_u1q_hxt_rhb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");

    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = '1';
    // returns top 3 results per cluster
    options.top_n_per_cluster = 3;

    var results = mlSolution.getClusterAssignments(options);

출력:

    [{"cluster_id":"1","rec_display_id":"Incident: INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
     {"cluster_id":"1","rec_display_id":"Incident: INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]

## MLSolution - getClusterForRecord(GlideRecord now_GR) {#ariaid-title5}

클러스터링 솔루션에 대한 클러스터 정보를 가져옵니다.
{#MLSolution-getClusterForRecord_GR__table_ak2_xcn_rhb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| now_GR | GlideRecord | 입력 GlideRecord의 이름입니다. |
[표 7. 매개변수]

{#MLSolution-getClusterForRecord_GR__table_ak2_xcn_rhb} {#MLSolution-getClusterForRecord_GR__table_bk2_xcn_rhb__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 기록이 클러스터에 속하는 경우 클러스터 요약 \[ml_cluster_summary\] 테이블의 cluster_id입니다. 기록이 클러스터에 속하지 않는 경우 빈 문자열을 반환합니다. |
[표 8. 반환]

{#MLSolution-getClusterForRecord_GR__table_bk2_xcn_rhb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    var now_GR = new GlideRecord('incident');
    if (mlSolution.getCapability() == 'clustering') {
    var clusterId = mlSolution.getClusterForRecord(now_GR);
    }

## MLSolution - getClusterInfo(객체 옵션) {#ariaid-title6}

지정된 클러스터링 솔루션에 대한 정보를 가져옵니다..
{#MLSolution-getClusterInfo_O__table_ak2_xcn_rhb__entry__3}{#MLSolution-getClusterInfo_O__ml-cluster-create-xbl}

| 이름 | 유형 | 설명 |
|-|-|-|
| 옵션 | 객체 | 옵션입니다. 클러스터링 솔루션 내에서 반환된 결과를 그룹과 수준별로 좁힙니다. 기본값: 모든 클러스터에 대한 클러스터 구성원 자격을 반환합니다. |
| options.group_by | 문자열 | 옵션입니다. 클러스터 구성원 자격을 검색할 세부 항목 필드(예: assignment_group)를 식별합니다. 이 필드는 클러스터링 정의 양식의 그룹화 기준 사용 확인란에 제공된 옵션과 동일한 그룹화를 제공합니다. 제공되는 정보는 테이블 필드에서 선택한 테이블에 따라 다릅니다. 자세한 내용은 [클러스터링 솔루션 만들기 및 교육](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US) 을 참조하세요. |
| options.cluster_id | 문자열 | 옵션입니다. 클러스터 요약 \[ml_cluster_summary\] 테이블에 있는 교육된 솔루션의 클러스터 ID입니다. |
[표 9. 매개변수]

{#MLSolution-getClusterInfo_O__table_ak2_xcn_rhb} {#MLSolution-getClusterInfo_O__table_bk2_xcn_rhb__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | cluster_id별로 높아지는 순서대로 클러스터 정보를 포함하는 JSON 배열: * cluster_id: 문자열. 클러스터의 솔루션 내에서 고유한 클러스터 번호입니다.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsID} * cluster_quality: 문자열. 0에서 100까지의 번호입니다. 숫자가 높을수록 클러스터 밀도가 높음을 나타냅니다.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsCQ} * cluster_size: 문자열. 클러스터의 기록 수입니다.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsSize} * group_by: 그룹화된 경우 이 클러스터와 연결된 분할 필드의 이름입니다.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsGrp} * cluster_concept: 문자열. 빈도의 내림차순으로 클러스터를 설명하는 단어의 집합입니다.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsConcept} {#MLSolution-getClusterInfo_O__ul_oz5_tv5_rhb} |
[표 10. 반환]

{#MLSolution-getClusterInfo_O__table_bk2_xcn_rhb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");

    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;

    var results = mlSolution.getClusterInfo(options);

출력:

    [ {"cluster_id":"1","cluster_quality":"56.6","cluster_size":"46","group_by":"SLA","cluster_concept":"issue occur capacity ..."},
      {"cluster_id":"2","cluster_quality":"55.47","cluster_size":"75","group_by":"SLA","cluster_concept":"clone instance request ..."},
    ... ]

## MLSolution - getVersion() {#ariaid-title7}

활성 솔루션의 버전을 가져옵니다.
{#MLSolution-getVersion__table_hrt_ngx_ggb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 11. 매개변수]

{#MLSolution-getVersion__table_hrt_ngx_ggb} {#MLSolution-getVersion__table_irt_ngx_ggb__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 활성 솔루션의 버전입니다. |
[표 12. 반환]

{#MLSolution-getVersion__table_irt_ngx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");

    var solutionVersion = mlSolution.getVersion();

## MLSolution - isActive() {#ariaid-title8}

솔루션이 활성 상태인지 여부를 결정합니다.
{#MLSolution-isActive__table_xzj_lgx_ggb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 13. 매개변수]

{#MLSolution-isActive__table_xzj_lgx_ggb} {#MLSolution-isActive__table_yzj_lgx_ggb__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 솔루션이 활성 상태인지 여부를 나타내는 플래그입니다. * true: 솔루션 활성 * false: 솔루션 비활성 {#MLSolution-isActive__ul_cnk_ltv_bkb} |
[표 14. 반환]

{#MLSolution-isActive__table_yzj_lgx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");

    var isActive = mlSolution.isActive();

## MLSolution - predict(객체 입력, 객체 옵션) {#ariaid-title9}

GlideRecord 또는 키-값 쌍의 배열이 지정된 예측 서버에서 예측 결과를 가져옵니다.
GlideRecord는 반복기이므로 이 메서드를 사용하여 여러 입력 기록으로 예측을 호출할 수 있습니다.
{#MLSolution-predict_O_O__table_vv5_yfx_ggb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 입력 | 객체 | [GlideRecord](https://servicenow-prod.fluidtopics.net/Q2N~KJ0CerSTV4yr_nWFJw#c_GlideRecordAPI "GlideRecord API는 데이터베이스 작업에 사용됩니다.") 또는 필드 이름과 값을 키-값 쌍으로 포함하는 JSON 객체의 배열. |
| 옵션 | 객체 | 옵션입니다. 다음 속성이 있는 JSON 키-값 쌍: * top_n: 번호. 제공된 경우 지정된 예측 수를 포함하여 상위 결과를 반환합니다.{#MLSolution-predict_O_O__solution-prediction-topn} * apply_threshold: 부울. 솔루션의 임계값을 확인하고 결과 세트에 적용합니다. 임계값은 유사성에 대한 솔루션 임계치 또는 분류에 대한 클래스 수준 임계치입니다. 기본값은 true입니다.{#MLSolution-predict_O_O__solution-prediction-thresh} * custom_results_filter: 문자열. 유사성 솔루션만 사용할 수 있습니다. 인코딩된 쿼리를 사용하여 결과가 반환될 수 있는 세트를 지정합니다.{#MLSolution-predict_O_O__solution-prediction-custom} {#MLSolution-predict_O_O__ul_eqd_tcs_ckb} |
[표 15. 매개변수]

{#MLSolution-predict_O_O__table_vv5_yfx_ggb} {#MLSolution-predict_O_O__table_khq_hgx_ggb__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | sys_id 또는 record_number별로 정렬된 예측 결과를 포함하는 JSON 객체입니다. * predictedValue: 문자열. 예측 결과를 나타내는 값입니다.{#MLSolution-predict_O_O__ml-returnsVal} * predictedSysId: 문자열. 예측 값의 sys_id입니다. 정보는 정보가 예측되는 모든 테이블에서 결과를 얻을 수 있습니다.{#MLSolution-predict_O_O__ml-returnsID} * 신뢰도: 숫자. 예측과 관련된 신뢰도 값입니다. 예: 53.84.{#MLSolution-predict_O_O__ml-returnsConf} * 임계치: 숫자 예측과 연결된 구성된 임계치의 값입니다.{#MLSolution-predict_O_O__ml-returnsThrsh} {#MLSolution-predict_O_O__ul_fg2_vcs_ckb} |
[표 16. 반환]

{#MLSolution-predict_O_O__table_khq_hgx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");

    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("0ef47232db801300864adfea5e961912");

    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;

    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");

    // multiple GlideRecord input
    var input = new GlideRecord("incident");
    input.addQuery("sys_created_onONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()");
    input.query();

    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;

    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

출력:

    {
        input_gr_sys_id1: [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx

                    }, 
                    {
                        predictedValue : yyy,
                        predictedSysId : xx1,
                        confidence : xxx,
                        threshold : xxx
                    }
            ],
        input_gr_sys_id2 : [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx

                    }, 
                ...
            ]
    }

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");

    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, 
    			{short_description:"need help with password"}];

    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;

    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));


