Kaggle 노트북(predict.ipynb) 관련
3
投稿した質問数 2
선생님 안녕하세요!
Kaggle 노트북(predict.ipynb) 관련해서 문의 드립니다.
강의에서와 같이 Supabase URL/Key를 Kaggle의 Secrets 기능에 등록했는데요, 막상 노트북이 실행될 때마다 Kaggle 웹사이트에서 소스를 열어보면 Secrets가 아니라 실제 키 값이 노트북 코드에 그대로 박혀서 올라가는 현상을 발견했습니다. 클로드 한테 확인했더니 아래와 같이 설명해주었는데요.
- app/services/ml_trigger_service.py의 push_kernel()이 Kaggle에 push할 때마다, predict.py 원본 코드를 읽어서 .env의 실제 SUPABASE_URL / SUPABASE_KEY(또는 SUPABASE_SERVICE_ROLE_KEY) 값을 노트북 첫 셀에 os.environ[...] = '실제값' 형태로 직접 주입한 뒤, 그렇게 만들어진 predict.ipynb를 push합니다.
- 코드 주석에 따르면, 이렇게 우회한 이유는 "Kaggle Secrets(UserSecretsClient)가 API(kaggle kernels push)로 만든 커널에서는 'Connection error'로 실패한다"는 걸 실측 확인했기 때문이라고 되어 있습니다. 즉 Kaggle 웹 UI에서 직접 만든 커널이 아니라 API로 push한 커널에서는 Secrets 기능 자체가 안 먹혀서, 그 대안으로 값을 직접 박아 넣는 방식을 쓰고 있는 구조였습니다.
- 실제로 predict.py에도 1순위로 os.environ에서 값을 읽고(=주입된 값), 값이 없을 때만 2순위로 Kaggle Secrets(user_secrets.get_secret(...))를 시도하도록 되어 있어서, 제가 등록한 Secrets는 지금 구조에서는 거의 항상 안 쓰이고 있는 상태였습니다.
- 제가 Kaggle Secrets 등록 자체는 Kaggle 노트북 편집 화면의 Add-ons → Secrets 메뉴로 등록했고, 이름도 SUPABASE_URL / SUPABASE_KEY(및 SUPABASE_SERVICE_ROLE_KEY)로 코드와 동일하게 맞췄습니다.
제가 여쭤보고 싶은 건:
1. 혹시 제가 Secrets 등록 과정이나 코드 설정(.env, kernel-metadata.json 등)에서 뭔가 빠뜨리거나 잘못한 부분이 있어서 이런 현상이 생긴 걸까요? ㅠㅠ
2. 이게 강의에서 의도하신 정상적인 설계(=Kaggle Secrets는 폴백용이고, 실제로는 매번 키를 직접 주입하는 방식)가 맞는지
확인 부탁드립니다. 감사합니다.
참고 1 : 캐글 실행시 마다 재생성된 predict.ipynb 파일

참고 2 : 캐글 노트북

참고 3 : 캐글 시크릿키 등록

回答 0
git bash .env
1
12
1
알파벤티지 sleep(5) 관련 문의
1
39
2
실전 계좌에서 운영하고 계신 분 계신가요?
1
41
2
클로드
1
47
2
pip install -r requirements.txt
0
52
2
명령 프롬프트
0
43
2
slack 알림 연동 강의 관련
1
70
2
supabase_key 관련
1
74
3
python run.py 실행시 에러 문제
1
95
2
커서창
1
63
2
cursor 환경
1
62
2
개발 환경 준비와 프로젝트 구조 강의 관련
1
57
2
저장 공간
1
60
2
colab 코드 실행시 error
1
50
2
llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?
2
77
4
kaggle notebook에 service key 설정이 누락된 것 같습니다
1
70
2
주말에 실행할 경우 update_economic_data_in_background에 로직 변경 필요성
1
57
1
프로그램 실행시간에 대한 질문
1
58
2
비중 및 매수 종목수 조정.
1
63
2
Claude api가 소식 동기화가 늦는 문제
1
74
2
슬롯 관련 문의
1
51
2
실제 계좌 잔고 및 테스트중에
1
108
4
안녕하세요
1
92
3
매일 사용시 토큰사용량
1
117
2

