KR102613754B1 - 언어 모델 기반 시스템 운영 자동화 방법 - Google Patents

언어 모델 기반 시스템 운영 자동화 방법 Download PDF

Info

Publication number
KR102613754B1
KR102613754B1 KR1020230147356A KR20230147356A KR102613754B1 KR 102613754 B1 KR102613754 B1 KR 102613754B1 KR 1020230147356 A KR1020230147356 A KR 1020230147356A KR 20230147356 A KR20230147356 A KR 20230147356A KR 102613754 B1 KR102613754 B1 KR 102613754B1
Authority
KR
South Korea
Prior art keywords
module
api
api request
language model
plan
Prior art date
Application number
KR1020230147356A
Other languages
English (en)
Inventor
양봉열
Original Assignee
주식회사 로그프레소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 로그프레소 filed Critical 주식회사 로그프레소
Priority to KR1020230147356A priority Critical patent/KR102613754B1/ko
Application granted granted Critical
Publication of KR102613754B1 publication Critical patent/KR102613754B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/011Automatic controllers electric details of the correcting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 의한 언어 모델 기반 시스템 운영 자동화 방법은, 사용자의 작업 메시지를 입력받아 처리하는 대화 모듈과, 작업 계획 생성 모듈과, API 요청 생성 모듈과, API 실행 모듈을 포함하는 에이전트 시스템이 실행하며, 상기 방법은, 대화 모듈이, 사용자의 작업 메시지를 다차원 벡터로 변환하는 제1 단계와; 대화 모듈이, 제1 단계에서 변환된 다차원 벡터와 계획 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제2 단계와; 대화 모듈이, 유사도가 가장 높은 계획 템플릿을 제1 프롬프트에 추가하는 제3 단계와; 작업 계획 생성 모듈이, 대화 모듈이 제1 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 작업 목록 계획을 생성하는 제4 단계와; 대화 모듈이, 제4 단계에서 생성된 작업 목록에 포함된 각각의 작업 단계의 다차원 벡터와 API 요청 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제5 단계와; 대화 모듈이, 유사도가 가장 높은 API 요청 템플릿을 제2 프롬프트에 추가하는 제6 단계와; API 요청 생성 모듈이, 대화 모듈이 제2 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 API 요청 구문을 생성하는 제7 단계와; 대화 모듈이, API 실행 모듈을 통해 상기 구조화된 API 요청 구문에 포함된 API 요청에 따라 시스템 API를 호출하도록 하는 제8 단계와; 대화 모듈이, API 실행 모듈이 호출된 API를 실행한 결과를 출력하는 제9 단계를 포함한다.

Description

언어 모델 기반 시스템 운영 자동화 방법{Method for Automating System Operation Based on Language Model}
본 발명은 언어 모델에 기반하여 시스템 운영을 자동화 하는 방법에 관한 것으로서 좀 더 구체적으로는, 대형 언어 모델의 추론 결과를 시스템이 시행하도록 하는 자동화 방법에 관한 것이다.
종래 기술에 따르면, 시스템 운영을 위해서 데스크탑 애플리케이션 또는 웹 애플리케이션 기반의 GUI 방식, 설정 파일, 또는 셸 기반의 명령줄 입력 방식으로 수집, 저장, 분석, 시각화 등의 각 단계의 작업을 수행할 것을 요구한다. 이러한 방식에서는, 사용자가 사용자 인터페이스의 기능, 쿼리 문법, 명령어의 기능을 정확하게 이해하고 단계별로 수행해야 하므로 시스템 학습에 많은 시간이 소요된다. 그리고 사용자 인터페이스가 반복 작업을 지원하지 않는 경우, 예를 들어 보안관제시스템에서 여러 개의 IP 주소에 대해 조사해야 하는데 배치 작업을 지원하지 않는 경우라면 사용자가 직접 반복작업을 오랜 시간 수행해야 하는 문제가 있었다.
OpenAI가 2022년 말에 ChatGPT를 공개하면서 조 단위의 매개변수로 훈련된 대규모(대형) 언어 모델(LLM: Large Language Model)을 누구나 활용할 수 있게 되었다. 대규모 언어 모델은 질문에 대한 단순 답변뿐 아니라 추론을 수행할 수 있다.
대규모 언어 모델의 추론 결과를 시스템이 실행하는 아키텍처를 구성하면, 사용자가 시스템 운영을 위해 자연어 요청을 했을 때 자동으로 단계별 작업 계획을 수립하고 실행할 수 있다.
[선행기술문헌]
한국특허등록 제10-2575129호 (2023년 9월 6일 공고)
본 발명은, 시스템 운영을 위해 사용자가 학습하거나 정확하게 명령어를 입력하지 않더라도, 대규모(대형) 언어 모델을 이용하여 사용자의 자연어 명령으로 시스템 작업을 가능하게 하는 언어 모델 기반 시스템 운영 자동화 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 언어 모델 기반 시스템 운영 자동화 방법은, 사용자의 작업 메시지를 입력받아 처리하는 대화 모듈과, 작업 계획 생성 모듈과, API 요청 생성 모듈과, API 실행 모듈을 포함하는 에이전트 시스템이 실행하며, 상기 방법은, 대화 모듈이, 사용자의 작업 메시지를 다차원 벡터로 변환하는 제1 단계와; 대화 모듈이, 제1 단계에서 변환된 다차원 벡터와 계획 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제2 단계와; 대화 모듈이, 유사도가 가장 높은 계획 템플릿을 제1 프롬프트에 추가하는 제3 단계와; 작업 계획 생성 모듈이, 대화 모듈이 제1 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 작업 목록 계획을 생성하는 제4 단계와; 대화 모듈이, 제4 단계에서 생성된 작업 목록에 포함된 각각의 작업 단계의 다차원 벡터와 API 요청 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제5 단계와; 대화 모듈이, 유사도가 가장 높은 API 요청 템플릿을 제2 프롬프트에 추가하는 제6 단계와; API 요청 생성 모듈이, 대화 모듈이 제2 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 API 요청 구문을 생성하는 제7 단계와; 대화 모듈이, API 실행 모듈을 통해 상기 구조화된 API 요청 구문에 포함된 API 요청에 따라 시스템 API를 호출하도록 하는 제8 단계와; 대화 모듈이, API 실행 모듈이 호출된 API를 실행한 결과를 출력하는 제9 단계를 포함한다.
제3 단계 및 제6 단계 중 적어도 어느 하나의 단계에서, 미리 결정된 컨텍스트 길이에 맞추어 계획 템플릿 또는 API 요청 템플릿이 프롬프트에 추가될 수 있다.
에이전트 시스템은, 계획 템플릿이 기록되어 있는 작업 계획 템플릿 데이터베이스와, API 요청 템플릿이 기록되어 있는 API 요청 템플릿 데이터베이스를 더 포함할 수 있다.
본 발명에 의한 방법의 단계는 컴퓨터 판독 가능 기록 매체에 기록된 컴퓨터 프로그램에 의해서 실행될 수 있다.
본 발명에 의하면 대규모 언어 모델을 이용하여 사용자의 자연어 명령으로 시스템 작업을 가능하게 할 수 있다.
도 1은 본 발명에 의한 언어 모델 기반 시스템 운영 자동화 방법을 실행하는 에이전트 시스템의 블록도.
도 2는 본 발명에 의한 언어 모델 기반 시스템 운영 자동화 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서는 본 발명의 설명에 필요한 최소한의 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 언급되지 않은 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 명세서에서 "모듈" 또는 “유니트” 또는 “~부”는 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.
본 명세서에서 사용되는 “제1”, “제2” 또는 그와 유사한 표현들은 같거나 유사한 구성요소를 구분적으로 표현하기 위해서 또는 본 발명을 구성하는 구성요소 또는 단계들의 명칭을 구분하기 위해 사용되며, 순서를 의미하거나 복수임을 의미하는 것이 아니다.
본 발명에 의한 방법은 컴퓨터, 태블릿 PC, 모바일폰, 휴대용 연산 장치, 고정식 연산 장치 등의 전자적 연산 장치에 의해서 실행될 수 있다. 또한, 본 발명의 하나 또는 그 이상의 방법 또는 형태가 적어도 하나의 프로세서에 의해 실행될 수 있다는 점이 이해되어야 한다. 프로세서는, 컴퓨터, 태블릿PC, 모바일 장치, 휴대용 연산 장치 등에 설치될 수 있다. 컴퓨터 프로그램 명령을 저장하도록 되어 있는 메모리가 그러한 장치에 설치되어서 프로그램이 저장된 프로그램 명령을 프로세서가 실행하도록 특별히 프로그램되어 하나 또는 그 이상의, 본 명세서에 기재된 바와 같은 프로세스를 실행할 수 있다. 또한, 본 명세서에 기재된 정보 및 방법 등은, 하나 또는 그 이상의 추가적인 구성요소와 프로세서를 포함하는 컴퓨터, 태블릿PC, 모바일 장치, 휴대용 연산 장치 등에 의해서 실행될 수 있다는 점이 이해되어야 한다. 또한, 제어 로직은, 프로세서, 제어부/제어 유니트 등에 의해 실행가능한 프로그램 명령을 포함하는 비휘발성 컴퓨터 판독 가능 매체로 구현될 수 있다. 컴퓨터 판독 가능 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 플래시 드라이브, 스마트 카드, 광학 데이터 저장 장치 등이 있지만 그에 제한되는 것은 아니다. 또한, 컴퓨터 판독 가능 기록 매체는 네트워크로 연결된 컴퓨터에 분산되어, 컴퓨터 판독 가능 매체가 분산된 방식 예를 들어 원격 서버 또는 클라우드에 의해 분산된 방식으로 저장되고 실행될 수도 있다.
도 1에는 본 발명에 의한, 언어 모델 기반 시스템 운영 자동화 방법을 실행하는 에이전트 시스템(1)과 대상 시스템(100), 그리고 언어 모델(2)을 포함하는 환경의 블록도가 도시되어 있다.
에이전트 시스템(1)은, 대화 모듈(10)과, 작업 계획 생성 모듈(20)과, API 요청 생성 모듈(30)과, API 실행 모듈(40)과, 작업 계획 템플릿 DB(25)와, API 요청 템플릿 DB(35)와, 대화 세션 정보(45)를 포함한다. 언어 모델(2)은 대규모(대형) 언어 모델(LLM, Large Language Model)일 수 있다.
대화 모듈(10)은 사용자의 자연어 명령을 수신하고 이를 처리하는 역할을 수행한다. 사용자의 자연어 명령은 음성 또는 텍스트로 대화 모듈에 입력될 수 있다. 사용자의 자연어 명령을 대화 모듈(10)로 전달하기 위한 입력 수단으로 마이크 또는 키보드, 터치 패드, 전자 펜 등의 입력 장치(5)가 제공될 수 있다. 대화 모듈(10)은, 사용자 명령 메시지의 내용을 처리하여 언어 모델에 입력하고 언어 모델의 출력을 기초로 API를 실행시키게 하고 API 실행 결과를 출력하는 역할을 한다.
작업 계획 생성 모듈(20)은, 사용자의 명령 메시지에 기초하여 구조화된 작업 계획 목록을 생성한다.
작업 계획 템플릿 DB(25)에는 계획 템플릿과, 계획 템플릿의 다차원 벡터가 저장되어 있다.
수집기 삭제를 예로 들면, 계획 템플릿은 다음과 같이 구성할 수 있다.
To delete a logger,
1. Find logger by name <X>
2. Remove logger named <X> with guid from previous step
API 요청 생성 모듈(30)은, 대화 세션 정보(45)에 저장되어 있는 최근 대화 내역과 구조화된 작업 계획 목록의 개별 작업 계획에 기초하여 구조화된 API 요청 구문을 생성한다.
대화 모듈(10)이 API 요청 생성 모듈(30)에 전달하는 최근 대화 내역은 작업 계획의 단계 중 현재 실행하는 단계 이전의 단계 수에 대해 예를 들어 2배수 이상의 최근 대화 메시지를 포함할 수 있다. 이는 각 작업 단계마다 API 작업 요청과 API 구문 응답한 내역이 다음 작업 단계의 API 요청시 반영되어야 하기 때문이다.
API 요청 템플릿 DB(35)에는 API 요청 템플릿과, API 요청 템플릿의 다차원 벡터가 저장되어 있다.
수집기 삭제 작업과 관련하여 유사도가 높은 API 요청 템플릿은 다음과 같을 수 있다.
[수집기 목록 조회]
Question:
Please provide a list of loggers with '<X>' in the name.
Answer:
{
"action": "rest-api", "method": "GET", "path":"/api/sonar/loggers",
"params": { "keywords": "<X>" }
}
[수집기 삭제]
Question:
Drop a logger named 'test'
Answer:
{
"action": "rest-api", "msg": "Remove logger 'test'.", "method": "DELETE", "path": "/api/sonar/loggers/<GUID>","params": {}
}
API 실행 모듈(40)은, 생성된 API 요청 구문에 따라 대상 시스템의 API 서비스(150)를 호출한다.
대화 세션 정보(45)에는, 에이전트 시스템(1)과 사용자의 대화 내역이 저장될 수 있다.
각 대화 세션에는 고유 식별자가 부여되고, 사용자는 이전 대화 세션을 이어 나가거나 새로 대화 세션을 시작할 수 있다. 대화 세션은 시각, 주체(사용자 또는 에이전트 시스템), 메시지를 포함할 수 있다.
도 2에는 본 발명에 의한 시스템 운영 자동화 방법의 흐름도가 도시되어 있다.
설명의 편의를 위해 두 가지 사용자 명령 메시지의 처리 과정을 예로 들어 설명한다.
[실시예 1]
사용자 명령 메시지: Sep 13 2023 18:31:24: %ASA-2-106006: Deny inbound UDP from 162.142.125.141/12212 to 203.247.145.79/1604 on interface outside 이 로그를 파싱하는 정규식을 만들고, 그 정규식을 asa_test 파서로 만든 다음, asa_test 파서로 이 로그 파싱을 테스트해줘.
[실시예 2]
사용자 명령 메시지: 최근 티켓 3개를 조회하고 각 IP 평판을 조회해줘.
먼저 대화 모듈(10)이 입력 장치(5)를 통해서 사용자의 명령 메시지를 수신한다.(단계 200) 사용자의 명령은 음성 메시지일 수도 있고, 텍스트 메시지일 수도 있다.
대화 모듈(10)은 입력된 메시지를 다차원 벡터로 변환한다.(단계 205) 대화 모듈(10)은, 변환된 다차원 벡터를, 작업 계획 템플릿 DB(25)에 저장되어 있는 계획 템플릿의 다차원 벡터와 대비해서 유사도를 산출한다.
산출하는 유사도는 거리 기반 유사도, 각도 기반 유사도, 공분산ㆍ상관관계 기반 유사도 등을 사용할 수 있으며 그 종류에 제한되지 않는다. 예를 들어, 유클리디안 거리 유사도, 맨하탄 거리 유사도, 민코스키 거리 유사도, 코사인 유사도, Mahalanobis 거리 유사도, 피어슨 상관계수 유사도 등을 사용할 수 있다.
단계(215)에서, 대화 모듈(10)은 유사도가 가장 높은 계획 템플릿을 제1 프롬프트에 추가한다. 이 때, 언어 모델(2)의 컨텍스트 길이 제한에 맞춰서 제1 프롬프트에 계획 템플릿을 추가할 수 있다.
대화 모듈(10)은 제1 프롬프트를 언어 모델(2)에 입력하고, 언어 모델(2)의 출력에 기초하여, 작업 계획 생성 모듈(20)이 구조화된 작업 목록을 생성한다.
실시예 1의 사용자 명령 메시지에 대한 구조화된 작업 목록은 다음과 같을 수 있다.
1. '%ASA-2-106006: Deny inbound UDP from 162.142.125.141/12212 to 203.247.145.79/1604 on interface outside' 문자열에 대한 정규식을 생성한다.
2. 이전 단계에서 생성된 정규식으로 asa_test 라는 이름의 파서를 생성한다.
3. asa_test 라는 이름의 파서를 이용하여 로그 파싱 결과를 테스트한다.
위 작업 목록은 다음과 같이 표현될 수 있다.
[
{
"msg": "Create a regular expression to parse the log: '%ASA-2-106006: Deny inbound UDP from 162.142.125.141/12212 to 203.247.145.79/1604 on interface outside'"
},
{
"msg": "Create a parser named 'asa_test' using the created regular expression"
},
{
"msg": "Test the log parsing using the 'asa_test' parser"
}
]
실시예 2의 사용자 명령 메시지에 대한 구조화된 작업 목록은 다음과 같이 표현될 수 있다.
[
{
"msg": "최근 티켓 3개를 조회해줘."
},
{
"msg": "각 IP 평판을 조회해줘."
}
]
대화 모듈(10)은, 구조화된 작업 목록에 포함되어 있는 개별 작업 단계를 다차원 벡터로 변환하고, 이를 API 요청 템플릿 DB(35)에 기록되어 있는 API 요청 템플릿의 다차원 벡터와 대비해서 유사도를 산출한다.(단계 225)
대화 모듈(10)은, 유사도가 가장 높은 API 요청 템플릿을 제2 프롬프트에 추가한다.(단계 230)
대화 모듈(10)이, 제2 프롬프트를 언어 모델(2)에 입력하고 그 출력을 기초로 API 요청 생성 모듈(30)이 구조화된 API 요청 구문을 생성한다.(단계235) 그리고 API 요청 구문의 API 요청에 따라서 API 실행 모듈(40)이 API 서비스(150)를 호출한다.(단계 240) 대화 모듈(10)은, API 서비스의 반환 결과 즉 API 실행 결과를 출력한다.(단계 245)
실시예 1의 1번 작업 단계와 가장 유사한 API 요청 템플릿을 제2 프롬프트에 추가하고, 이를 언어 모델에 입력하면 다음과 같은 응답이 나올 수 있다.
\%ASA-2-106006: Deny inbound UDP from (?<src_ip>[^/]+)/(?<src_port>\d+) to (?<dst_ip>[^/]+)/(?<dst_port>\d+) on interface outside
이 응답은 API 호출 생성 구문은 없고 메시지만 구조화된 형식으로 응답한 것이다.
실시예 1의 2번 작업 단계와 가장 유사한 API 요청 템플릿을 제2 프롬프트에 추가하고, 이를 언어 모델에 입력하면 다음과 같은 응답이 나올 수 있다.
POST https://demo/api/sonar/parsers {configs={ "regex": "\\%ASA-2-106006: Deny inbound UDP from (?<src_ip>[^/]+)/(?<src_port>\\d+) to (?<dst_ip>[^/]+)/(?<dst_port>\\d+) on interface outside" }, code=asa_test, name=asa_test, factory_name=regex}
여기에서, configs, code, name, factory_name 매개변수 값은 자동으로 지정될 수 있다.
API 실행 모듈(40)은, 상기 응답에 따라서 API 서비스(150)의 파서 생성 API를 호출하고, 대화 모듈(10)이 그 반환 결과를 출력한다. 반환 응답은, 생성 성공시에 에러 메시지 없는 응답으로 할 수 있다.
실시예 1의 3번 작업 단계와 가장 유사한 API 요청 템플릿을 제2 프롬프트에 추가하고, 이를 언어 모델에 입력하면 다음과 같은 응답이 나올 수 있다.
POST https://demo/api/sonar/parsers/asa_test/test {line=%ASA-2-106006: Deny inbound UDP from 162.142.125.141/12212 to 203.247.145.79/1604 on interface outside}
파서 식별자와 line 매개변수 값은 자동으로 지정될 수 있다.
API 실행 모듈(40)은, 상기 응답에 따라서 API 서비스(150)의 파서 테스트 API를 호출하고. 대화 모듈(10)이 그 반환 결과를 출력한다. 출력 결과는 다음과 같을 수 있는데, 이는 응답을 아스키 테이블로 변환하여 파싱 결과를 출력한 것이다.
실시예 2의 1번 작업 단계와 가장 유사한 API 요청 템플릿을 제2 프롬프트에 추가하고, 이를 언어 모델(2)에 입력하면 다음과 같은 응답이 나올 수 있다.
https://demo/api/sonar/tickets?sort_type=DESC&sort_column=updated_at&limit=3
API 실행 모듈(40)은, 상기 응답에 따라서 API 서비스(150)의 티켓 목록 조회 API를 호출하고, 대화 모듈(10)이 그 반환 결과를 출력한다. 반환 결과는 예를 들어 다음과 같을 수 있다.
{
"total": 41911,
"tickets": [
{ "id": 58571, "guid": "c9fc910d-74cf-4991-a018-76d7639e1b05", "title": "DMZ 포트 스캔 탐지: 8.219.95.175","priority": "MEDIUM", "status": "CLOSED", "created": "2023-09-22 17:00:01+0900" },
{ "id": 58570, "guid": "d65126a0-c8f8-4ad4-972b-064504c6b5b4", "title": "DMZ 포트 스캔 탐지: 104.250.52.97","priority": "MEDIUM", "status": "CLOSED", "created": "2023-09-22 09:40:01+0900" },
{ "id": 58569, "guid": "e29ecdc5-799e-4249-b0a6-97faefbafd03", "title": "DMZ 포트 스캔 탐지: 92.38.3.160", "priority": "MEDIUM", "status": "CLOSED", "created": "2023-09-21 08:10:00+0900" }
]
}
실시예 2에서 2번 작업 단계와 가장 유사한 API 요청 템플릿을 제2 프롬프트에 추가하고, 이를 언어 모델(2)에 입력하면 다음과 같은 응답이 나올 수 있다.
Query: json "{}" | eval ip = array("8.219.95.175", "104.250.52.97", "92.38.3.160") | eval ip = ip(ip) | explode ip | abuseipdb-check-ip-batch field=ip
상기 응답은 이전 응답의 IP를 추출해서 AbuselPDB 조회 쿼리문을 자동으로 생성하는 응답이다.
API 실행 모듈(40)은, 상기 응답에 따라서 API 서비스(150)의 API를 호출하고, 대화 모듈(10)이 그 반환 결과를 출력한다. 반환 결과는 예를 들어 다음과 같을 수 있다.
본 발명에 의하면 추가적인 작업을 자연어 명령 메시지에 추가하더라도 자동으로 빠르게 작업을 처리할 수 있으며, 보안 분석과 관련하여 고도로 복잡한 위협 조사 및 분석 작업 역시 자연어로 지시하여 수행하는 것이 가능하다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10: 대화 모듈 20: 작업 계획 생성 모듈
30: API 요청 생성 모듈 40: API 실행 모듈

Claims (5)

  1. 사용자의 작업 메시지를 입력받아 처리하는 대화 모듈과, 작업 계획 생성 모듈과, API 요청 생성 모듈과, API 실행 모듈을 포함하는 에이전트 시스템이 실행하는 언어 모델 기반 시스템 운영 자동화 방법에 있어서,
    대화 모듈이, 사용자의 작업 메시지를 다차원 벡터로 변환하는 제1 단계와,
    대화 모듈이, 제1 단계에서 변환된 다차원 벡터와 계획 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제2 단계와,
    대화 모듈이, 유사도가 가장 높은 계획 템플릿을 제1 프롬프트에 추가하는 제3 단계와,
    작업 계획 생성 모듈이, 대화 모듈이 제1 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 작업 목록 계획을 생성하는 제4 단계와,
    대화 모듈이, 제4 단계에서 생성된 작업 목록에 포함된 각각의 작업 단계의 다차원 벡터와 API 요청 템플릿의 다차원 벡터의 유사도 산출을 실행하는 제5 단계와,
    대화 모듈이, 유사도가 가장 높은 API 요청 템플릿을 제2 프롬프트에 추가하는 제6 단계와,
    API 요청 생성 모듈이, 대화 모듈이 제2 프롬프트를 언어 모델에 입력하여 출력된 출력을 기초로 구조화된 API 요청 구문을 생성하는 제7 단계와,
    대화 모듈이, API 실행 모듈을 통해 상기 구조화된 API 요청 구문에 포함된 API 요청에 따라 시스템 API를 호출하도록 하는 제8 단계와,
    대화 모듈이, API 실행 모듈이 호출된 API를 실행한 결과를 출력하는 제9 단계를 포함하는,
    언어 모델 기반 시스템 운영 자동화 방법.
  2. 청구항 1에 있어서,
    제3 단계 및 제6 단계 중 적어도 어느 하나의 단계에서, 미리 결정된 컨텍스트 길이에 맞추어 계획 템플릿 또는 API 요청 템플릿이 프롬프트에 추가되는,
    언어 모델 기반 시스템 운영 자동화 방법.
  3. 청구항 1 또는 2에 있어서,
    에이전트 시스템은, 계획 템플릿이 기록되어 있는 작업 계획 템플릿 데이터베이스와, API 요청 템플릿이 기록되어 있는 API 요청 템플릿 데이터베이스를 더 포함하는,
    언어 모델 기반 시스템 운영 자동화 방법.
  4. 청구항 1 또는 2의 방법의 단계를 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
  5. 청구항 1 또는 2의 방법의 단계를 실행하기 위해 컴퓨터 판독 가능 기록 매체에 기록된 컴퓨터 프로그램.
KR1020230147356A 2023-10-31 2023-10-31 언어 모델 기반 시스템 운영 자동화 방법 KR102613754B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230147356A KR102613754B1 (ko) 2023-10-31 2023-10-31 언어 모델 기반 시스템 운영 자동화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230147356A KR102613754B1 (ko) 2023-10-31 2023-10-31 언어 모델 기반 시스템 운영 자동화 방법

Publications (1)

Publication Number Publication Date
KR102613754B1 true KR102613754B1 (ko) 2023-12-15

Family

ID=89124837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230147356A KR102613754B1 (ko) 2023-10-31 2023-10-31 언어 모델 기반 시스템 운영 자동화 방법

Country Status (1)

Country Link
KR (1) KR102613754B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215857A (ja) * 2018-04-16 2019-12-19 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェント
KR20230071673A (ko) * 2021-11-16 2023-05-23 네이버 주식회사 언어 모델을 이용한 개방형 도메인 대화 모델 구축을 위한 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20230083183A (ko) * 2021-12-02 2023-06-09 위고데이터 주식회사 외부 api를 이용한 시나리오 기반의 인공지능 챗봇 서비스 제공 시스템
KR102575129B1 (ko) * 2023-06-29 2023-09-06 주식회사 이글루코퍼레이션 언어 모델을 이용한 보안 위협 탐지 보고서 생성 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215857A (ja) * 2018-04-16 2019-12-19 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェント
KR20230071673A (ko) * 2021-11-16 2023-05-23 네이버 주식회사 언어 모델을 이용한 개방형 도메인 대화 모델 구축을 위한 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20230083183A (ko) * 2021-12-02 2023-06-09 위고데이터 주식회사 외부 api를 이용한 시나리오 기반의 인공지능 챗봇 서비스 제공 시스템
KR102575129B1 (ko) * 2023-06-29 2023-09-06 주식회사 이글루코퍼레이션 언어 모델을 이용한 보안 위협 탐지 보고서 생성 장치 및 방법

Similar Documents

Publication Publication Date Title
US20190370615A1 (en) State machine methods and apparatus comprising work unit transitions that execute acitons relating to natural language communication, and artifical intelligence agents to monitor state machine status and generate events to trigger state machine transitions
US20200007474A1 (en) Knowledge-driven dialog support conversation system
KR101004501B1 (ko) 쿼리에 기초하여 사용자에게 문서의 정보를 렌더링하는 방법, 음성 쿼리에 기초하여 사용자에게 정보를 렌더링하는 방법, 사용자에게 정보를 제공하는 방법, 및 컴퓨터 판독 가능 기록 매체
US11281862B2 (en) Significant correlation framework for command translation
US11126938B2 (en) Targeted data element detection for crowd sourced projects with machine learning
WO2018153273A1 (zh) 语义解析方法、装置及存储介质
CN112069206B (zh) 基于rpa及ai的数据查询方法、装置、介质及计算设备
EP3251114B1 (en) Transcription correction using multi-token structures
KR20080040644A (ko) 음성 애플리케이션 계측 및 로깅
CN111949255A (zh) 基于语音的脚本编写方法、装置、设备及存储介质
CN116762078A (zh) 用于聊天机器人会话的实体解析
CN116521841B (zh) 用于生成回复信息的方法、装置、设备及介质
KR102613754B1 (ko) 언어 모델 기반 시스템 운영 자동화 방법
JP2004038179A (ja) 音声命令語処理装置及び方法
CN113051895A (zh) 语音识别的方法、装置、电子设备、介质和程序产品
US20200265325A1 (en) Knowledge-driven automated scientific model extraction, explanations, and hypothesis generation
CN113806230A (zh) 基于用例语音的软件测试方法、装置、设备及介质
KR20220056396A (ko) 히스토리 기반의 로보틱 처리 자동화 시나리오 자동 완성 시스템 및 방법
WO2021051565A1 (zh) 基于机器学习的语义解析方法、装置、电子设备及计算机非易失性可读存储介质
US20240096312A1 (en) SYSTEM AND METHOD FOR ADAPTIVELY TRAVERSING CONVERSATION STATES USING CONVERSATIONAL Al TO EXTRACT CONTEXTUAL INFORMATION
Langen Speech Assistance: Use Cases in Industry
CN117196546B (en) RPA flow executing system and method based on page state understanding and large model driving
JP7163845B2 (ja) 情報処理装置、およびプログラム
CN117455416B (zh) 应用于建筑项目管理的数据分析方法及系统
US11315590B2 (en) Voice and graphical user interface

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant