Open API(Application Programming Interface)란?
다른 소프트웨어 애플리케이션들이 상호작용할 수 있도록 하는 방법이나 규칙
소프트웨어가 다른 소프트웨어와 통신할 수 있게 하는 다리 역할
알아야 하는 이유
- 업계 트렌드 선도: 기업이 필요로 하는 핵심 능력 (최생성형 AI API를 실제 분석 리포팅에 접목하는 방법)
- 효율적인 업무 프로세스: 반복적 리포팅 작업을 자동화하여 분석 결과 활용과 의사결정 지원 가능
- 차별화된 경쟁력 확보: 빠르게 변화하는 AI 활용 역량을 갖춘 인재를 선호
ex. LLM, RAG, ChatGPT
LLM(Large language model)이란?
인간의 언어를 학습한 인공지능 모델
장점
- 광범위한 지식
- 페르소나 생성 가능 (말투, 억양, 역할 놀이 등)
- 창의적인 글짓기 가능
- 원하는 포멧으로 답변 가능 (테이블, 리스트 등)
단점
- 거짓 정보(할루시네이션)
- 기억력의 한계
- 최신 데이터 모름
- 언어 모델 : ChatGPT, Claude(클로드), 제미나이
- 이미지 생성 : DALL.E
- 이미지 이해 : VISION
- 음성 인식 : Whisper(STT: Speech-To-Text)
- 음성 생성 : TTS(Text-To-Speech)
- 동영상 생성 : SORA
ChatGPT란?
OpenAI에서 개발한 대화형 인공지능 언어 모델
- 자연어 이해와 생성: 문장을 이해하고 적절한 답변을 생성하는 능력이 뛰어남
- 광범위한 지식: 다양한 주제에 대해 폭넓은 지식을 보유하고 있어, 다양한 질문에 대해 답변 가능
- 다양한 언어 지원: 여러 언어로 대화할 수 있으며, 언어 간 번역도 가능
- 창의적인 글쓰기: 에세이, 소설, 시 등의 창의적인 글쓰기를 지원
OpenAI
1. model: 어떤 모델을 사용
2. Temperature: 0~2 점점 자세하게 설명, 흔하지 않은 것들 설명
3. Instructions: 역할 부여
4. 이전 내용 기억하기
- 수동으로 추가
input=[
{"role": "user", "content": "2002년 월드컵에서 가장 화제가 되었던 나라는 어디야?"}, # 이전 질문
{"role": "assistant", "content": "바로 예상을 뚫고 4강 진출 신화를 일으킨 한국입니다."}, # 이전 답변
{"role": "user", "content": "그 나라가 화제가 되었던 이유를 자세하게 설명해줘"} # 마지막 질문
]
- response.id 활용하기
previous_response_id=response.id
5. 얼마 나온지 계산해보기
total_bill_USD = response.usage.input_tokens * 0.2/1000000 + response.usage.output_tokens * 0.8/1000000
total_bill_WON = total_bill_USD*1400
print("총 발생 비용 {} 원".format(total_bill_WON))
6. 히스토리 보기
비정형 데이터 > 정형 데이터
1. cvs파일
import pandas as pd
df_review = pd.read_csv("review.csv")
df_review.head()
df_review_10= df_review[["Review_text","Address"]].head(10)
def make_review_pn(review):
prompt = f'''
아래 리뷰를 읽고 긍정인지 부정인지 판단해줘 긍정 또는 부정 만 말해줘
리뷰: {review}
'''
response = client.responses.create(
model="gpt-4.1-nano",
input=prompt
)
return response.output_text
df_review_10["긍정/부정"] = df_review_10['Review_text'].apply(make_review_pn)
df_review_10
2. 구글스프레드시트
파일 > 사본만들기
사본: 확장프로그램 > Apps Script > 아래 첫번째 코드넣기 > 저장 > 실행 > 아래 두번째 코드를 스프레드시트에 복붙
API_KEY = ""
MODEL = "gpt-4.1-mini"
function GPT(prompt, cell) {
// 프롬프트 입력 여부 확인
if (!prompt) {
console.log("prompt를 입력하세요");
return;
}
// 프롬프트와 스프레드시트 셀 값 결합
const combinedInput = prompt + " " + cell;
// API 요청 URL 설정
const BASE_URL = "https://api.openai.com/v1/chat/completions";
// API 요청을 위한 헤더 구성
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
};
// API 요청 본문 데이터 구성
const data = {
model: MODEL,
messages: [
{role: "system", content: "You are a helpful assistant."},
{role: "user", content: combinedInput}
],
temperature:0,
max_tokens: 1000
};
// API 요청 옵션 설정
const options = {
"headers": headers,
"method": "post",
"muteHttpExceptions": true,
"payload": JSON.stringify(data)
};
// API 호출 및 응답 처리
try {
const response = UrlFetchApp.fetch(BASE_URL, options);
const jsonResponse = JSON.parse(response.getContentText());
console.log(jsonResponse.choices[0].message.content);
return jsonResponse.choices[0].message.content;
} catch (e) {
console.error("Error calling the OpenAI API:", e);
return "Error calling the OpenAI API. Please check logs for more details.";
}
}
=GPT("다음의 전화번호 정보안에 불필요한 이모지, 문자, 띄어쓰기를 삭제하고 다음 포멧으로 정리해줘
**별도 설명 없이 예시들과 같이 전화번호 정보를 참고 후 오직 전화번호만 작성해줘**
예시1)
전화번호 정보:📱01020295290
010-2029-5290
예시2)
전화번호 정보:1025514684
010-2551-4684
예시3)
전화번호 정보:82-010-3586-9358
010-3586-9358
전화번호 정보:",A2)

'특강 > 생성형 AI를 활용한 리포팅 자동화(API)' 카테고리의 다른 글
| [Open AI] 프롬프트 엔지니어링 (2) | 2025.08.28 |
|---|---|
| [Open AI]프로그램 제작 (08.26) (1) | 2025.08.26 |