#708 Smilegate Select AI OCI GenAI 전환
프로젝트 개요
Smilegate DATA & AI PoC는 Autonomous Database의 게임 데이터에서 Select AI Text2SQL을 생성하고, MCP와 백오피스를 통해 결과를 조회한다. 현재 운영 프로파일은 외부 OpenRouter 경유 Claude를 사용한다.
목표
SGMP_POC_HAIKU45가 가진 게임 데이터 object list와 메타데이터 활용 범위는 유지하면서, LLM 호출 경로만 OCI Generative AI openai.gpt-5.4-mini로 전환한다. ADB Resource Principal이 아닌 이 머신의 ~/.oci/config DEFAULT API signing credential을 ADB credential으로 등록한다.
전환 설계
| 구분 | 기존 | 전환 후 |
|---|---|---|
| 프로파일 | SGMP_POC_HAIKU45 |
SGMP_POC_OCI_GPT54MINI |
| 제공자 | OpenAI 호환 외부 경로 | OCI Generative AI (provider: oci) |
| 모델 | Claude Haiku 4.5 | openai.gpt-5.4-mini |
| 인증 | 외부 API credential | DEFAULT API signing key 기반 SGMP_POC_OCI_DEFAULT_CRED |
| OCI 리전 | 외부 서비스 | us-chicago-1 (GPT-5.4 Mini OCI inference route) |
| 게임 데이터 범위 | 기존 object list | 기존 profile attributes에서 복제 |
| MCP 설정 | 기존 프로파일명 | BACKOFFICE_SELECT_AI_PROFILE=SGMP_POC_OCI_GPT54MINI |
신규 프로파일은 기존 프로파일의 metadata 관련 attributes를 복사하고, 외부 endpoint·credential·model은 OCI 값으로 새로 설정한다. 따라서 object list, comment, annotation, constraint 기반 Text2SQL 문맥은 유지된다. 기존 외부 프로파일은 삭제하지 않으며, 전환 실패 시 환경변수만 원래 값으로 되돌린다.
사전 조건
~/.oci/configDEFAULT의 user, tenancy, fingerprint, key_file이 유효한 OCI API signing key여야 한다.- DEFAULT API signing user가 Chicago 리전 root compartment에서 OCI Generative AI
openai.gpt-5.4-mini호출 권한을 가져야 한다. DEFAULT config의 signing region과 GPT inference route는 독립적이므로 profile attributeregion은us-chicago-1로 명시한다. - 스크립트는
SGMP_POC프로파일 소유자로 실행한다.
구현 순서
sql/adb/72_sgmp_select_ai_oci_genai_profile.sql로 신규 OCI 프로파일을 만든다.- 새 프로파일로 한글 Text2SQL
SHOWSQL과 생성 SQL의 읽기 전용 실행을 검증한다. - 운영 서버의
BACKOFFICE_SELECT_AI_PROFILE만 새 프로파일로 교체하고 백오피스를 재기동한다. - 운영 MCP의
oracle.select_ai.smilegate_game_text2sql응답 profile과 집계 결과를 검증한다.
롤백
새 프로파일을 삭제하지 않는다. MCP에서 오류가 나거나 SQL 품질이 허용 기준을 충족하지 않으면 /etc/smilegate/backoffice.env의 BACKOFFICE_SELECT_AI_PROFILE을 SGMP_POC_HAIKU45로 되돌린 뒤 서비스를 재기동한다.
검증 기준
- 새 프로파일 provider=
oci, model=openai.gpt-5.4-mini, credential=SGMP_POC_OCI_DEFAULT_CRED, region=us-chicago-1 - 한글 질의는 SQLcl UTF-8 base64 복원식으로 전달한다.
DBMS_CLOUD_AI.GENERATE(..., 'showsql')이 읽기 전용SELECT또는WITHSQL을 생성한다.- 해당 SQL을 읽기 전용 트랜잭션에서 실행해 결과를 반환한다.
- 운영 MCP 응답의
profile이SGMP_POC_OCI_GPT54MINI이다.
Llama 4 Scout 범위 판정 성능 비교
게임 범위 판정은 Text2SQL 실행 전 OCI Chat을 사용한다. 이 단계의 응답시간을
비교하기 위해 운영 프로파일을 교체하지 않고 별도 테스트 프로파일
SGMP_POC_OCI_LLAMA4SCOUT을 만든다.
| 구분 | 운영 | 비교 대상 |
|---|---|---|
| 프로파일 | SGMP_POC_OCI_GPT54MINI |
SGMP_POC_OCI_LLAMA4SCOUT |
| 모델 | openai.gpt-5.4-mini |
meta.llama-4-scout-17b-16e-instruct |
| 인증·리전 | 기존 OCI credential·inference region 유지 | 동일 |
| object list·metadata | 운영 값 | 운영 값 복제 |
| 운영 트래픽 | 사용 | 사용하지 않음 |
sql/adb/112_sgmp_select_ai_oci_llama4scout_profile.sql은 기존 OCI 프로파일의
credential, region, compartment, object list와 metadata instructions를 복제하고
모델만 교체한다. 같은 질문을 두 프로파일에 각각 Chat 호출해 경과시간과 반환 JSON
형식을 기록한다. 품질·지연시간 결과를 검토하기 전에는
sg_game_extract_mentions와 sg_game_match_candidate의 운영 프로파일을 바꾸지
않는다.