코랩 비밀에 키를 넣고, 복사한 셀 하나로 첫 답을 받아요. 모델 이름만 바꿔 세 회사 답을 비교하고, 표 데이터를 줄마다 분류해 CSV 로 내려받는 셀까지 담았어요.
- 읽는 분
- 코랩에서 글 분류·요약을 AI 로 돌려 보려는 대학원생·연구자·선생님
- 끝나면
- 코랩 셀을 실행해 GPT·클로드·제미나이 답을 받고, 표 데이터를 분류해 CSV 로 내려받아요.
이 글의 목차 (7개 절)
코랩에서 첫 답 받기까지
구글 코랩에서는 openai 파이썬 패키지 하나와 원포트 AI 키로 GPT·클로드·제미나이를 같은 코드로 불러요. 키는 코랩 왼쪽 열쇠 아이콘에 ONEPORT_API_KEY 라는 이름으로 넣고, 주소를 https://oneport.kr/v1 로 둔 아래 셀 하나를 실행하면 답이 나와요. 모델 이름 한 줄만 바꾸면 다른 회사 모델로 바뀌는데, 산 크레딧 종류에 따라 제미나이는 빠질 수 있어요.
키가 아직 없으면 원포트 AI API 크레딧을 사면 돼요. 받을 메일로 「키 받기」 링크가 와요. 학과·연구실에서 원화로 사고 세금계산서를 받으려면 문의해 주세요.
| 준비물 | 값 | 알아 둘 점 |
|---|---|---|
| 원포트 AI 키 | 값sk-so- 로 시작하는 키 | 알아 둘 점만들 때 원문이 한 번만 보이니 바로 복사해요 |
| 주소(base_url) | 값https://oneport.kr/v1 | 알아 둘 점아래 셀에 이미 들어 있어요 |
| 첫 모델 | 값gpt-5-mini | 알아 둘 점어느 크레딧으로 사도 불러요 |
| 파이썬 패키지 | 값openai | 알아 둘 점셀 첫 줄이 설치해요 |
키를 노트북 밖에 숨겨 두기
셀에 키 원문을 적지 않아요. 노트북을 나눠 주거나 깃허브에 올리면 키도 같이 나가요.
- 코랩 노트북 왼쪽 세로 막대에서 열쇠 아이콘을 눌러요. 영어 화면에서는 Secrets 예요.
- 새 항목을 추가하고 이름에 ONEPORT_API_KEY 를 적어요. 이름에는 띄어쓰기를 넣지 않아요.
- 값(Value) 칸에 원포트 AI 키를 붙여 넣어요.
- 그 줄 왼쪽 스위치를 켜서 노트북이 키를 읽게 해요.
셀 하나 복사해 첫 답 받기
새 셀에 붙여 넣고 실행하면 셀 아래에 gpt-5-mini 의 답이 글로 찍혀요.
출력 길이 상한은 넣지 마세요. gpt-5-mini 는 답하기 전에 생각하는 데도 출력 몫을 써서, 상한이 작으면 빈 답이 올 수 있어요.
코랩 셀 — 설치하고 첫 답 받기
%pip install -q -U openai
from google.colab import userdata
from openai import OpenAI
client = OpenAI(base_url="https://oneport.kr/v1", api_key=userdata.get("ONEPORT_API_KEY"))
MODEL = "gpt-5-mini" # 바꿔 보기: "claude-haiku-4-5" · "gemini-3.5-flash"
resp = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": "논문 초록을 세 줄로 요약하는 요령을 알려 줘."}],
)
print(resp.choices[0].message.content)모델 이름만 바꿔 세 회사 답 비교하기
첫 셀을 실행한 뒤 아래 셀을 이어서 실행하면 같은 질문에 세 모델이 차례로 답해요. 부를 수 없는 모델은 멈추지 않고 오류 번호와 메시지를 한 줄로 찍어요.
모델을 정하지 않은 원포트 AI API 크레딧이나 제미나이 팩으로 샀다면 셋 다 답해요. 클로드·GPT 팩으로 샀다면 제미나이 줄에 403 model_not_in_plan 이 찍히고, 메시지 안 「이 모델로 바꿔 보세요:」 뒤에 바꿔 넣을 모델 id 가 있어요.
다른 모델을 넣으려면 GET /v1/models 에서 kind 가 chat 인 id 를 골라요. 이 코드로는 chat 모델만 불러요.
| 회사 | 모델 id | 쓰는 곳 |
|---|---|---|
| 오픈AI(GPT) | 모델 idgpt-5-mini | 쓰는 곳첫 셀 기본 모델 |
| 앤트로픽(클로드) | 모델 idclaude-haiku-4-5 | 쓰는 곳비교 셀 |
| 구글(제미나이) | 모델 idgemini-3.5-flash | 쓰는 곳비교 셀 |
2026년 10월 17일 GET /v1/models 에서 확인한 id 예요.
코랩 셀 — 세 모델 답 비교
import openai
question = "실험 노트를 정리하는 요령을 두 문장으로 알려 줘."
for model in ["gpt-5-mini", "claude-haiku-4-5", "gemini-3.5-flash"]:
try:
r = client.chat.completions.create(model=model, messages=[{"role": "user", "content": question}])
print(f"[{model}]\n{r.choices[0].message.content}\n")
except openai.APIStatusError as e:
print(f"[{model}] {e.status_code} {e.message}\n")표 데이터를 줄마다 분류하기
첫 셀을 실행한 뒤 이어서 실행해요. 수업 피드백 예시 세 줄이 들어 있어 파일 없이 바로 돌아가고, 한 줄마다 한 번씩 불러요. 결과는 엑셀에서 한글이 안 깨지는 CSV 로 내려받아요.
내 CSV 를 올렸는데 UnicodeDecodeError 가 나면 셀의 encoding 을 cp949 로 바꿔요.
head(20) 으로 20줄만 먼저 돌려 쓴 양을 보고 늘려요. 다 돌리려면 df.head(20) 을 df 로 바꿔요. 이름·연락처·학번처럼 사람을 알아볼 수 있는 열은 빼고 보내요.
1 크레딧 = 부가세 포함 2원어치예요.
모델마다 크레딧을 얼마나 사용하는지는 API 안내의 모델별 차감 단가 표에, 크레딧 판매 금액은 요금 안내에 있어요.
코랩 셀 — 표 데이터 분류하고 CSV 내려받기
import pandas as pd
from google.colab import files
df = pd.DataFrame({"comment": [
"예시가 많아서 이해하기 쉬웠어요.",
"진도가 빨라서 따라가기 힘들었어요.",
"과제 안내가 조금 늦게 올라왔어요.",
]})
# 내 파일로 바꾸려면 아래 두 줄의 # 을 지워요(글이 든 열 이름은 comment).
# up = files.upload()
# df = pd.read_csv(next(iter(up)), encoding="utf-8")
def classify(text):
r = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "system", "content": "글을 읽고 긍정·부정·보통 중 하나와 이유를 20자 안으로 답해."},
{"role": "user", "content": text},
],
)
return r.choices[0].message.content.strip()
sample = df.head(20).copy()
sample["result"] = sample["comment"].apply(classify)
print(sample)
sample.to_csv("result.csv", index=False, encoding="utf-8-sig")
files.download("result.csv")첫 실행이 멈출 때
SecretNotFoundError: Secret ONEPORT_API_KEY does not exist.
- 원인·확인
- 열쇠 아이콘에 넣은 이름과 셀의 이름이 한 글자라도 다르면 나요.
- 해결 방법
- 열쇠 아이콘을 열어 이름을 ONEPORT_API_KEY 로 맞춰요.
NotebookAccessError: Notebook does not have access to secret ONEPORT_API_KEY
- 원인·확인
- 키 줄 왼쪽 스위치가 꺼져 있어요.
- 해결 방법
- 스위치를 켜고 셀을 다시 실행해요.
TimeoutException: Requesting secret ONEPORT_API_KEY timed out.
- 원인·확인
- 대개 코랩 화면 밖에서 셀을 돌렸을 때 나요. 코랩 비밀은 코랩 화면에서 실행할 때만 읽혀요.
- 해결 방법
- 브라우저의 코랩 노트북에서 다시 실행해요.
AuthenticationError 401 authentication_error 가 와요
- 원인·확인
- 키를 일부만 붙여 넣었거나, 폐기·기한 지난 키예요. sk-som- 으로 시작하는 관리 키로도 이 오류가 나요.
- 해결 방법
- sk-so- 로 시작하는 키를 다시 붙여 넣어요. 원문을 잃었다면 새 키를 만들어요.
402 insufficient_credit 가 와요
- 원인·확인
- 잔액이 모자라요. 한 번 부를 때 답 길이 몫을 미리 잡아 두어서, 잔액이 조금 남아 있어도 와요.
- 해결 방법
- 크레딧을 채우고 다시 실행해요.
403 model_not_in_plan 이 와요
- 원인·확인
- 산 크레딧으로 부를 수 없는 회사의 모델이에요.
- 해결 방법
- 메시지의 「이 모델로 바꿔 보세요:」 뒤 id 로 MODEL 줄을 바꿔요.
404 model_not_found 가 와요
- 원인·확인
- 모델 id 에 오타가 있거나 지금은 없는 옛 이름이에요.
- 해결 방법
- GET /v1/models 에서 id 를 복사해 그대로 넣어요.
You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0
- 원인·확인
- 예전 블로그에서 옮긴 코드예요. 지금 openai 패키지에서는 그 문법이 없어졌어요.
- 해결 방법
- 이 글 셀처럼 client = OpenAI(…) 를 만들고 client.chat.completions.create 로 불러요.
연구실에서 나눠 쓰고 증빙 받기
키는 구성원마다 따로 만들어요. 스쿨오더·오피스오더 「AI API」 화면에서 「키 만들기」로 이름을 붙여 만들고, 키마다 한 달 한도를 정해요. 한 사람이 한도에 닿아도 나머지 키는 그대로 써요.
재원·인정기간이 적힌 지갑이면 「AI API」 화면 「개요」의 재원 카드에서 「정산용 원장 받기 (CSV)」로 사용 내역을 받아요(지갑 주인만). 한 줄이 키 × 사용일 × 모델이라 키 이름별로 어느 모델을 얼마나 불렀는지 갈라 볼 수 있어요.
학과·센터는 스쿨오더 주문서에서 계좌입금·카드 결제·납품 후 결제(후불) 중에 고르고, 견적서·청구서·세금계산서 같은 서류를 받아요. 원화 결제나 서류가 먼저 필요하면 문의해 주세요.
자주 묻는 질문
코랩 말고 내 컴퓨터 파이썬에서도 되나요?
돼요. pip install openai 로 설치하고, 터미널에서 ONEPORT_API_KEY 환경변수에 키를 넣어요. 코드 맨 위에 import os 를 더한 뒤 api_key 자리에 userdata.get 대신 os.environ["ONEPORT_API_KEY"] 를 넣어요. google.colab 은 코랩에서만 있어서 from google.colab 줄은 지워요.
답을 한 글자씩 흘려 받을 수도 있나요?
돼요. create 에 stream=True 를 넣고, 조각마다 if chunk.choices and chunk.choices[0].delta.content: 일 때만 이어 찍어요. 마지막 조각은 사용량만 담고 choices 가 비어 있어요. 이 글의 세 모델은 /v1/models 에서 supports_streaming 이 true 예요.
출처와 확인일
- 원포트 AI OpenAI 호환 API 연동 안내 · 2026년 10월 18일 확인
- OpenAI Python SDK 공식 저장소 · 2026년 10월 18일 확인
함께 보면 좋은 글과 도움말
- 결제·증빙연구비 AI API 결제 — 산학협력단에 낼 증빙과 사용 내역 챙기기연구실에서 원포트 AI API 크레딧을 연구비로 살 때 결제 방법마다 나오는 증빙과, 산학협력단·재무팀에 낼 서류·사용 내역을 원포트 AI 어디서 받는지 정리했어요.
- 개발 가이드n8n·Dify AI 연결하기 — OpenAI 호환 주소·키·모델 설정n8n 과 Dify 의 OpenAI 호환 설정에 원포트 AI 주소와 키, 모델 이름을 넣는 칸을 정리하고, 실패할 때 다시 시도하는 법은 도구 쪽에서 정하도록 안내해요.
- 개발 가이드사내 문서 검색 만들기 — 임베딩 API 첫 코드와 한국어 토큰 실측사내 규정·매뉴얼 검색을 임베딩으로 만드는 네 단계, 복사해 돌리는 파이썬 코드, 한국어 문서를 색인할 때 실제로 든 토큰과 크레딧을 정리했어요.
- 도움말 매뉴얼제미나이·OpenAI·Claude API 키 발급 — 받는 곳과 안 될 때Gemini·OpenAI·Claude API 키를 어디서 받는지, 버튼이 꺼져 있거나 키가 거절될 때 무엇을 보는지, 키 하나로 셋 다 부르는 길까지 정리했어요.