Snowflake Hands-On

문주은·2025년 5월 29일

1. Snowflake Gen AI 소개

Unstructured Data Insights

26개 LLM model
코드로 어떤 foundation model을 사용할지만 결정하면 됨.
텍스트 모델 뿐만 아니라 multimodal(TEXT input만 이해했지만 이미지에 있는 text도 분석 가능 e.g. 영수증) 도 있음.

어떤 LLM 모델을 고를지도 문제
parameter 값에 따라 모델마다 답이 어떻게 다를지를 확인 필요

Converstational Assistants

기업 맞춤형 데이터
기업 asset을 이용해서 LLM 기업 내부지식을 활용
Cortext Search
share point connector 있음.
share point file -> text ->

AI Augmented BI

Text to SQL : 일반적인 자연어를 SQL을 자동으로 만들어주는거
회사 metadata 간의 관계, column 값 & 뜻을 잘 정리해서 Snowflake LLM에 전달해야 함. -> Semantic Model
Semantic Model - Snowflake 에서 자동화 했지만 회사 내부에서 review 를 하긴 해야함.

Cortex Analyst : SF 테이블안에 있는 정보
Cortex Search : 회사 내부 정보
Cortex AI :

Gen AI는 새로운 데이터가 계속 유입되기 때문에 정확도가 계속 떨어짐
-> observility 높이는 작업이 필요

실습

1) Stage에 file 업로드

  • pdf file에서 text를 뽑음.

2) 텍스트화해서 table로 저장

3) Cortex Search 로 연결

  • search 로 연결하지 않으면 snowflake table에 저장된 정보를 모름.
  • embedding 모델 의미 검색하는 방식이 조금씩 다르기 때문에 임베딩 모델의 차이에 따라 정확도가 달라짐
  • 사용자의 니즈에 따라 바꾸면 됨.
  • playground 에서 유사도가 높은 순서로 result를 확인 가능. chunk 개수를 많이 나눌수록 비용이 많이 발생. 그렇기 때문에 유사도 높은 것중에 몇개를 제공할건지는 니즈에 따라

4) 사용자가 질문을 했을 때 가상 유사도가 높은 행을 잘 반환하는지 확인 Streamlit App

5) Cortex 로 Search results + Question - > LLM Model
6) 마지막 사용자에게 Answer하는 작업

비용적으로 save 할 수 있는 부분 : python으로 connector만 걸어서 daemon proccess로 만들어 사용하는 방법이 조금더 비용적으로 싸다.
하지만 예를 들어 streamlit을 계속 snowflake 내에서 open 해서 사용하는 경우는 값이 조금더 나올 수 있음.

실습 2. Cortex Analyst (Text to SQL)

snowflake가 이해할 수 있는 형태로 만들기
snowflake SQL을 잘 만들어낼 수있게 fine tuning 된 모델
이미 저장되어진 table의 메타정보를 추출 -> sematic model(.yaml)
cortex Analyst에 yaml파일 위치와 이름을 알려줘서
Cortex Analyst는 yaml파일을 보고 질문에 대해 파악을 하고
SQL을 생성해서 Answer 를 내리는 순서

실습 3. yaml파일을 만드는 과정

yaml 파일을 자동으로 만들어주는 과정
join key는 relation ship tab에서 진행. 이부분은 사용자들이 직접 진행
여기서 만든 query를 stage에 다시 참조하도록 변경.

Verified Queries 를 많이 넣을수록 더 정확도 높게 만들 수 있음
Verified Queries 는 자주 사용하는 질문들을 미리 지정해서 넣어두는 것.
multi agent로 yaml 파일을 나눠서 저장하고 그걸 앞에서 설정값으로 세팅.

Q. 회사 데이터 보안?

  • NDA 관리는 account팀과

Q. 정확도 높이는 방향.

  • yaml file을 잘 넣을 수 있게
profile
Data Engineer

0개의 댓글