ABAP에서 LLM 호출하기: ABAP AI SDK와 ISLM 시나리오 개요
3줄 요약
ABAP AI SDK 는 ABAP Cloud 에서 대규모 언어 모델(LLM)을 부르는 릴리스된 ABAP 클래스 묶음이고, ISLM(Intelligent Scenario Lifecycle Management)과 연동돼요.
사용하려면 먼저 관리 작업, 지능형 시나리오(intelligent scenario), 시나리오 모델(어떤 LLM 을 쓸지 정의)을 만들어야 해요.
코드는
create_instance→execute_for_string→get_completion순서이고, 매개변수 설정, 메시지 목록, 프롬프트 템플릿도 쓸 수 있어요.
어떤 상황에서 쓰나요
"ABAP 프로그램 안에서 번역이나 요약처럼 LLM 기능을 부르고 싶다"는 요구가 생기고 있어요. SAP 공식 ABAP 치트시트의 *Generative AI* 편은 설명 문서 링크와, ABAP AI SDK 의 릴리스된 클래스를 부르는 예제 코드를 모아 둬요. 이 글은 그 구조를 개발자 시각에서 정리한 개요예요. 개발을 돕는 AI(Joule for Developers)와, 내 앱이 부르는 LLM(ABAP AI SDK)은 서로 다른 얘기라는 점도 구분해 두어야 해요.
핵심 내용
문서 안내 — 치트시트는 다음 자료를 안내해요: Joule for Developers, ABAP AI Capabilities 소개 블로그 세 편, SAP Help 의 ABAP AI 문서와 *Generative AI in ABAP Cloud*, ABAP AI 전략 FAQ, GitHub 튜토리얼(Joule 로 Fiori 앱을 만드는 RAP120), Devtoberfest 세션.
전제 조건. ABAP AI SDK 는 ISLM 과 연동돼서, 쓰기 전에 문서에 있는 관리 작업을 해야 해요. 지능형 시나리오(완성 API 인스턴스화 같은 기능을 가진 ABAP 저장소 오브젝트)와 지능형 시나리오 모델(어떤 LLM 을 쓸지 등을 정의)이 필요해요. 예제는 ZDEMO_ABAP_INT_SCEN 시나리오와 ZDEMO_PROMPT_TEMPLATE 프롬프트 템플릿 ID 라는 가정된 이름을 써요.
기본 호출 순서
TRY.
FINAL(ai_api) = cl_aic_islm_compl_api_factory=>get( )->create_instance( 'ZDEMO_ABAP_INT_SCEN' ).
FINAL(result) = ai_api->execute_for_string( `Tell me a joke.` ).
FINAL(completion) = result->get_completion( ).
CATCH cx_aic_api_factory cx_aic_completion_api INTO FINAL(error).
FINAL(error_text) = error->get_text( ).
ENDTRY.예제 클래스가 보여 주는 것
완성(completion) API 인스턴스 만들기 (
cl_aic_islm_compl_api_factory=>get( )->create_instance( 시나리오 ))문자열 프롬프트로 LLM 호출 (
execute_for_string)매개변수 설정:
get_parameter_setter( )로set_maximum_tokens( 500 ),set_temperature( '0.5' )(0과 1 사이)결과 정보: 토큰 수(
get_completion_token_count,get_prompt_token_count,get_total_token_count)와 실행 시간(get_runtime_ms)메시지 목록으로 호출: 메시지 컨테이너에 시스템 역할(
set_system_role), 사용자 메시지, 도우미 메시지를 쌓고execute_for_messages프롬프트 라이브러리:
cl_aic_islm_prompt_tpl_factory로 프롬프트 템플릿을 가져와 시스템 역할로 써요. 템플릿에 따라 입력 매개변수가 있을 수 있어요.
예외는 cx_aic_api_factory, cx_aic_completion_api, 프롬프트 템플릿은 cx_aic_prompt_template 을 잡아요.
주의할 점
고객사 코드와 데이터를 AI 도구에 넣지 마세요. 이 글은 SDK 호출 구조를 소개하는 것이고, 어떤 데이터를 LLM 으로 보내도 되는지는 고객사 보안 정책과 계약, SAP 의 데이터 처리 조건을 따로 확인해야 해요. 치트시트는 이 점을 다루지 않아요.
이 SDK 는 클라우드 ABAP 환경과 ISLM 관리 설정을 전제로 해요. 온프레미스 S/4HANA 에서 같은 클래스가 쓰이는지는 치트시트에서 확인하지 못했어요.
예제 이름(시나리오, 모델, 템플릿)은 가정이에요. 실제 사용 가능 모델과 비용 구조는 SAP Help 문서를 확인하세요. 이 글에서는 다루지 않았어요.
치트시트는 계속 갱신되는 문서예요. 이 편의 첫 공개는 2025년 2월이고, 제가 읽은 판은 2026년 10월 기준이에요. 이 글은 읽고 정리한 것이고 예제를 직접 실행해 보지는 않았어요.
원문 주소: https://github.com/SAP-samples/abap-cheat-sheets/blob/main/30_Generative_AI.md
출처와 이용 안내
원문: ABAP Cheat Sheets - Generative AI · 작성자 SAP SE and contributors SAP-samples · 작성일 2025-02-19 · 기준 클라우드 ABAP 환경 ABAP AI SDK, ISLM 연동 · 확인일 2026-10-25
이 글은 위 원문을 읽고 한국어로 요약·재구성한 글이며 번역본이 아니에요. 원문의 저작권은 작성자와 SAP에 있어요.
원문은 Apache-2.0 라이선스(https://www.apache.org/licenses/LICENSE-2.0)로 공개된 자료예요. 이 글은 내용을 한국어로 줄이고 순서를 바꾼 변경본이며, 원저작자가 이 글을 보증하지 않아요.
설정과 화면은 릴리스마다 달라요. 적용하기 전에 원문과 SAP Help Portal, 관련 SAP Note에서 최신 내용을 확인해 주세요.
SAP와 SAP 제품명은 SAP SE의 상표예요. 바로투입은 SAP와 관련이 없어요.
댓글 0
아직 댓글이 없어요.
로그인하고 댓글 쓰기