
AI 개발에 사용되는 툴은 개발 목적(예: 모델 학습, 데이터 처리, 애플리케이션 개발 등)에 따라 다양합니다. 주요 카테고리별로 대표적인 AI 개발 툴들을 정리해 드릴게요.
🔧 1. 프로그래밍 프레임워크 / 라이브러리
AI 모델을 만들고 학습시키기 위한 핵심 도구입니다.
분류도구설명
| 딥러닝 | TensorFlow | Google 개발, 대규모 모델 학습에 강점. |
| 딥러닝 | PyTorch | Facebook 개발, 직관적인 코드로 연구자 선호. |
| 머신러닝 | Scikit-learn | 통계 기반 ML 알고리즘 구현에 적합. |
| 딥러닝 경량화 | ONNX | 모델 포맷 변환 및 추론 최적화. |
| 강화학습 | Stable-Baselines3 | 강화학습 알고리즘 구현 라이브러리. |
🛠️ 2. AI 서비스 플랫폼 (클라우드 기반)
코딩 없이도 AI 모델을 구축하거나 API로 활용 가능.
플랫폼제공사특징
| Vertex AI | Google Cloud | AutoML + 커스텀 모델 학습 지원. |
| Amazon SageMaker | AWS | 데이터 준비~배포까지 엔드투엔드 제공. |
| Azure AI Studio | Microsoft | ChatGPT, Vision 등 포함한 강력한 API. |
| Hugging Face | Hugging Face | 트랜스포머 모델 허브 및 배포 기능 제공. |
| OpenAI API | OpenAI | GPT, DALL·E, Whisper 등 API 제공. |
💻 3. 노코드 / 로우코드 AI 툴
프로그래밍 없이도 AI를 쉽게 적용할 수 있음.
도구기능
| Teachable Machine (Google) | 이미지/소리/포즈 AI 모델을 쉽게 훈련. |
| Lobe (Microsoft) | 이미지 분류 AI를 노코드로 학습. |
| Make.com + OpenAI | GPT를 워크플로우 자동화에 활용. |
| Runway ML | 이미지/영상 생성 AI를 쉽게 활용. |
📊 4. 데이터 전처리 및 시각화 툴
AI의 성능은 데이터에 따라 달라지므로 중요한 단계입니다.
도구기능
| Pandas | Python 기반 데이터프레임 처리. |
| NumPy | 고속 수치계산. |
| Matplotlib / Seaborn / Plotly | 시각화. |
| Label Studio | 이미지/텍스트/오디오 등 라벨링 도구. |
⚙️ 5. AI 배포 및 운영
모델을 실제 서비스에 올릴 때 사용합니다.
도구기능
| Docker | 모델 컨테이너화. |
| FastAPI / Flask | AI 백엔드 서버 구축. |
| Streamlit / Gradio | 간단한 AI 웹 UI. |
| MLflow | 모델 관리/실험 추적. |
🎨 6. 생성형 AI 도구 (AI Agent / RAG 포함)
LLM 기반의 에이전트나 챗봇 등을 구현할 때 사용.
도구기능
| LangChain | LLM + 외부 도구 연결 (DB, 검색 등). |
| LlamaIndex | 문서 기반 RAG 구현 도구. |
| AutoGen | 다중 AI 에이전트 협업 프레임워크. |
| RAGStack (Haystack 등) | 검색 기반 AI 응답 시스템 구축. |
☁️ 7. AI 모델 호스팅 플랫폼
직접 서버 없이 AI 모델을 배포/공유할 수 있는 곳.
플랫폼특징
| Hugging Face Spaces | Streamlit/Gradio 기반 데모 공유. |
| Replicate | 모델 API 형태로 배포. |
| Render / Vercel / Railway | FastAPI, Streamlit 앱 호스팅. |
✅ 1. GPT 기반 챗봇 개발
🧠 목적: 지능형 자연어 대화 (예: 상담, 코파일럿 등)
도구/플랫폼설명난이도
| OpenAI API (GPT-4/4o) | 챗봇에 GPT를 연동하여 자유로운 대화 구현 가능. | 중 |
| LangChain | GPT와 DB, API 등 다양한 툴 연결, AI Agent 구축 가능. | 중~상 |
| LlamaIndex | RAG 기반 챗봇 구현 (PDF/문서 기반 대화). | 중 |
| Gradio / Streamlit | GPT 챗봇 UI 빠르게 만들 수 있음. | 하~중 |
| FastAPI + GPT | GPT 기반 챗봇을 REST API로 구축 가능. | 중~상 |
| AutoGen (OpenAI) | 여러 GPT 인스턴스를 협력적으로 작동시키는 에이전트 개발 프레임워크. | 상 |
📌 추천 조합:
OpenAI API + LangChain + Streamlit → 실전 GPT 챗봇 빠르게 구축 가능
✅ 2. 노코드 챗봇 툴
🧰 목적: 코딩 없이 챗봇 만들기
도구특징
| Botpress | GPT 연동 지원, 시각적 플로우 기반 챗봇 제작 |
| Dialogflow (Google) | 음성 챗봇, FAQ, 다국어 지원 |
| Microsoft Power Virtual Agents | 비즈니스용 챗봇에 적합 (Teams, Office 연동) |
| Tidio, Landbot | 고객 상담형 챗봇 생성에 강점 |
📌 이 툴들은 자체 UI를 제공하며 GPT 연결도 일부 지원합니다.
✅ 3. 커스텀 챗봇 플랫폼 / 백엔드 개발
🧑💻 목적: 완전한 통제권을 가진 자체 챗봇 구축
툴/프레임워크기능
| Rasa | 오픈소스 기반 대화 흐름 설계 (NLU + Dialog Management) |
| FastAPI / Flask | 챗봇 서버 API 구현에 적합 |
| Socket.io / WebSocket | 실시간 대화형 챗 UI 구축 가능 |
| MongoDB / PostgreSQL | 사용자 상태 및 대화 이력 저장 |
| React / Vue.js | 프론트엔드 챗 UI 구축용 |
📌 Rasa는 GPT 기반보다는 자체 Rule/Intent 방식이지만 매우 강력합니다.
✅ 4. 챗봇 배포 및 UI 연결
도구용도
| Hugging Face Spaces | Streamlit/Gradio 기반 챗봇 호스팅 |
| Render / Railway / Vercel | FastAPI 기반 챗봇 API 호스팅 |
| Telegram / Kakao / Discord API | 챗봇을 메신저 플랫폼에 연결 가능 |
| Next.js / React Chatbot UI | 웹용 챗봇 프론트엔드 구축 |
✅ 예시 시나리오
| - 사내 PDF 문서 → LlamaIndex로 인덱싱 - OpenAI GPT-4 API 연동 - LangChain으로 Retrieval QA 구성 - Streamlit으로 챗봇 UI 제공 |
그럼 예제로 쇼핑몰용 상품추천하는 챗봇을 만들어 볼께요~
🛍️ 쇼핑몰 상품추천 챗봇: 구성 개요
🎯 목표
“예산은 10만원 이하고, 여름에 입기 좋은 여성 원피스를 추천해줘”
이런 요청에 맞춰 적절한 상품을 검색해서 보여주는 챗봇
🧩 시스템 구성도 (기본 구조)
| [사용자] ⬇️ [챗 UI: 웹/모바일] ←→ [챗봇 서버: FastAPI or Flask] | ⬇️ [OpenAI GPT API or Custom 모델] | ⬇️ [상품 데이터베이스 (MySQL, Elasticsearch 등)] | ⬇️ [추천 결과 반환 → 사용자 응답] |
🛠️ 추천 툴/프레임워크 조합
목적툴 추천설명
| 🧠 자연어 이해 | OpenAI GPT-4 API | 사용자의 검색 의도 파악 (예: "10만원 이하, 여성 원피스") |
| 🔍 상품 필터링 | Elasticsearch / MySQL | 조건에 맞는 상품 실시간 검색 |
| 🔗 연결 | LangChain | GPT와 DB 간 연결 및 질의 변환 |
| 💬 챗 UI | Streamlit / Gradio / React | 상품 리스트 + 이미지 + 버튼 UI 구현 |
| 🌐 배포 | Render / Vercel / Hugging Face Spaces | 웹 앱으로 배포 |
🧠 GPT 기반 상품 추천 흐름 예시
1. 사용자 입력:
“여름에 입을 남자 반팔 셔츠 추천해줘. 예산은 5만원.”
2. GPT 처리 예시:
🔄 파싱된 조건:
| { "카테고리": "남성 의류", "서브카테고리": "반팔 셔츠", "계절": "여름", "예산": "50000" } |
3. LangChain이나 직접 파싱 → SQL or ES 쿼리 생성:
| SELECT * FROM products WHERE category = '남성 의류' AND subcategory = '반팔 셔츠' AND price <= 50000 AND season = '여름' ORDER BY popularity DESC LIMIT 5; |
4. 추천 리스트 출력:
- [이미지] 흰색 린넨 반팔 셔츠 - 39,000원
- [이미지] 스트라이프 옥스퍼드 셔츠 - 45,000원
✅ 챗봇 기능 예시
기능설명
| 🔎 키워드/예산 기반 상품 검색 | GPT가 입력을 해석해 조건에 맞는 상품 추천 |
| 🖼️ 이미지 포함 추천 UI | 상품 이미지/가격을 챗봇에 표시 |
| ❤️ 관심상품 저장 | 버튼 클릭 시 찜하기 |
| 📦 장바구니/구매 연동 | 쇼핑몰과 API 연동 (선택) |
| 🔁 다시 추천받기 | 같은 조건으로 다른 상품 다시 추천 |
📦 상품 데이터 예시 (CSV 또는 DB)
| 1 | 화이트 린넨 셔츠 | 남성 의류 | 반팔 셔츠 | 39000 | 여름 | img1.jpg |
| 2 | 블루 옥스퍼드 셔츠 | 남성 의류 | 반팔 셔츠 | 45000 | 여름 | img2.jpg |
👉 CSV 또는 MySQL/Elasticsearch 기반으로 구현 가능
🚀 빠른 구현 경로 추천
✨ 노코드 MVP 방식:
- Streamlit + OpenAI API + CSV 데이터 + GPT 파싱
- Hugging Face Spaces에 업로드하여 누구나 접속 가능
✨ 프로덕션 방식:
- React + FastAPI 백엔드 + MySQL + LangChain
- GPT로 의도 해석 → DB 질의 → 사용자에게 결과 표시
🚀 MVP 챗봇 구성: GPT + Streamlit + CSV 데이터
✅ 핵심 기능
- 사용자 입력을 GPT로 분석
- CSV 상품 데이터에서 조건에 맞는 상품 추천
- 이미지 + 가격 포함된 추천 결과 출력
1️⃣ 준비할 것
🧾 A. 상품 데이터 파일 (CSV 예시)
| id,name,category,subcategory,price,season,image_url 1,화이트 린넨 셔츠,남성 의류,반팔 셔츠,39000,여름,https://example.com/image1.jpg 2,블루 옥스퍼드 셔츠,남성 의류,반팔 셔츠,45000,여름,https://example.com/image2.jpg ........................... |
✅ 본인의 상품 CSV가 있으면 그것으로 대체
🔑 B. OpenAI API Key
https://platform.openai.com/account/api-keys 에서 발급
2️⃣ Streamlit 앱 코드 예제
| # app.py import streamlit as st import openai import pandas as pd # OpenAI API 키 설정 openai.api_key = "YOUR_OPENAI_API_KEY" # 상품 데이터 로딩 products = pd.read_csv("products.csv") # GPT를 통해 사용자 요구 분석 def parse_user_input(user_input): prompt = f""" 사용자의 요청을 분석해서 아래 형식으로 파싱해줘: - category: 카테고리 (예: 여성 의류) - subcategory: 세부 카테고리 (예: 원피스) - price_limit: 숫자만 (예: 50000) - season: 계절 (예: 여름) 사용자 입력: "{user_input}" """ response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": prompt}], temperature=0.2 ) return response['choices'][0]['message']['content'] # Streamlit UI st.title("🛍️ 상품추천 GPT 챗봇") user_input = st.text_input("원하는 상품을 입력하세요 (예: 5만원 이하 여름용 남성 반팔 셔츠)") if user_input: with st.spinner("GPT가 조건을 분석 중입니다..."): parsed = parse_user_input(user_input) st.markdown("🔍 **조건 추출 결과:**") st.code(parsed) # 텍스트에서 조건 추출 try: lines = parsed.split('\n') cond = {} for line in lines: if ':' in line: key, value = line.split(':', 1) cond[key.strip()] = value.strip() # 상품 필터링 results = products[ (products['category'].str.contains(cond['category'], na=False)) & (products['subcategory'].str.contains(cond['subcategory'], na=False)) & (products['price'] <= int(cond['price_limit'])) & (products['season'].str.contains(cond['season'], na=False)) ].head(5) st.markdown("✅ **추천 상품:**") for _, row in results.iterrows(): st.image(row['image_url'], width=200) st.write(f"**{row['name']}** - {row['price']}원") except Exception as e: st.error(f"조건 파싱 중 오류 발생: {e}") |
3️⃣ 실행 방법
✅ 1. 필요한 패키지 설치
| pip install openai streamlit pandas |
✅ 2. Streamlit 앱 실행
| streamlit run app.py |
💡 결과 화면 예시
| 🛍️ 상품추천 GPT 챗봇 > "여름에 입을 5만원 이하 남자 반팔 셔츠 추천해줘" GPT 분석 결과: category: 남성 의류 subcategory: 반팔 셔츠 price_limit: 50000 season: 여름 ✅ 추천 상품: [이미지] 화이트 린넨 셔츠 - 39,000원 [이미지] 블루 옥스퍼드 셔츠 - 45,000원 |
'개발' 카테고리의 다른 글
| Google Colaboratory (Colab) 활용 가이드: 머신러닝 및 데이터 과학을 위한 심층 분석 (0) | 2025.07.10 |
|---|---|
| 자동화된 머신러닝(AutoML): 원리, 실제 적용 및 미래 방향 (1) | 2025.07.10 |
| LLM과 RAG(Retrieval-Augmented Generation)의 관계 설명 (0) | 2025.07.01 |