개발

나두 AI 개발 할 수 있어~

highsoo 2025. 7. 8. 12:43

 

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원