세미나의 목적
OpenAI의 개발 문서가 양이 많고 복잡합니다. (접근이 쉽지 않더라구요). RAG 구현과 AI 제품을 쉽게 개발할 수 있는 부분만 발췌해서 예제와 함께, OpenAI 문서에 쉽게 접근 가능하도록 발표를 준비했습니다.
중간중간 질문 - 끼어들기 - 하고싶은말 하기 - 환영 👍☘️✌️
OpenAI API
Gemini, Grok 과 비교했어요
OpenAI API 장점
- 앱을 만들기 위한 편한 API 제공
- Thread API
- 채팅 이력을 모두 갖고 있음 → 따로 메세지 저장을 위한 DB를 구성하지 않아도됨.
- Thread마다 컨텍스트 유지. LLM에게 컨텍스트 유지를 위한 추가 정보 제공하지 않아도됨.
- Assistants API
- Assistant에 Prompt, 컨텍스트 제공가능.
- Prompt engineering을 Assistant 마다 가능하게 함.
fine-tuning하기전에 LLM 행동 및 응답에 일관성 제공가능
- Thread API
- 내용이 많고 정리가 잘된 Docs
- OpenAI 문서만 다 봐도 AI 제품 개발에 대해 Overview를 마칠 수 있음.
OpenAI API 단점
- 기능이 다른 플랫폼 대비 많음 → 문서양도 많음 → 기능 소개가 꽤 자세함 → 문서양 많음
- 한글화 없음 → Gemini 는 기계번역 페이지 제공
Platform 선택
AI 앱을 만들기 위한 가장 좋은 시작지점은 OpenAI, Gemini 순 (2025/04/23 기준 - 몇 달후엔 달라질지도?) OpenAI를 선택하면 DB 역할을 축소할 수 있음.
구현방법
아래 이미지가 오늘 세미나할 내용을 다 담고 있어요
RAG, Keeping chat context, Prompt engineering
화면으로 구성하기
RAG 구성
Vector stores에서 file을 업로드
전체 채팅에 동일한 LLM 응답 반환 - Assistants
채팅방 구성 - Thread
playground에서 Assistants에 설정된 Prompt, model, tool(RAG 등), code interpreter, function 테스트 가능
OpenAI API 활용법
각 순서에 맞게 API 호출 방법과 링크 제공 (위 화면과 함께 보면 이해가 좀 더 쉬워요!)
RAG 구성 - Vector store, File api
- vector store 를 생성하거나 미리 생성된 vector store의 id를 저장
- file upload
- 응답 호출
- response API (OpenAI 권고: Chat completion API 대신 response API를 사용하세요)
- thread api
전체 채팅에 동일한 LLM 응답 반환 - Assistants api
- assistant 생성
채팅방 구성 - Thread api
- thread 생성
openai.beta.threads.create
- message 생성
- message 실행
- openai.beta.threads.runs.create
- 위에서 생성한 assistants id 필요
그 외
- code interpreter
- function call
- AI SDK (Vercel)