티스토리 뷰

반응형

Manus 스타일 AI 시스템 완성 및 최종 테스트

이제 Ollama + CrewAI + FastAPI 기반 Manus 스타일 AI 시스템이 완성되었습니다.
이번 글에서는 완성된 AI 시스템을 실제로 테스트하고,
운영 환경에서 안정적으로 동작하도록 최적화하는 방법
을 배워봅니다.


🔹 1. AI 시스템 아키텍처 정리

📌 Manus 스타일 AI 시스템 구성

이제까지 구축한 AI 시스템은 다음과 같은 구조로 동작합니다.

AI 시스템 전체 흐름

[ 사용자가 질문 입력 ]  
       ⬇  
[ React 프론트엔드 → FastAPI 백엔드 ]  
       ⬇  
[ CrewAI 기반 AI 분석 및 응답 생성 ]  
       ⬇  
[ Redis 캐싱 및 데이터 저장 ]  
       ⬇  
[ AI 응답 반환 → 사용자 화면에 표시 ]  

사용된 핵심 기술 스택

구성 요소 기술

AI 모델 Ollama (Mistral, Llama3)
AI 자동화 CrewAI
웹 프레임워크 FastAPI (Python)
실시간 채팅 WebSocket (React + FastAPI)
데이터 캐싱 Redis
배포 Docker + Railway

최적화 요소

  • 경량 AI 모델 사용 (Mistral) → 빠른 응답 속도
  • GPU 가속 (CUDA 지원) → LLM 성능 향상
  • Redis 캐싱 적용 → 반복된 질문에 즉각 응답
  • 비동기 FastAPI 적용 → 다중 요청 처리 최적화

💡 목표: AI 시스템이 실제 운영 환경에서도 안정적으로 동작하는지 테스트


🔹 2. AI 시스템 기능별 최종 테스트

반응형

이제 시스템이 각 기능별로 정상적으로 동작하는지 테스트를 진행합니다.

1. AI API 응답 속도 테스트

목표: FastAPI + CrewAI의 응답 속도 측정

🔹 테스트 코드 (FastAPI 엔드포인트 응답 속도 체크)

import time
import requests

API_URL = "http://localhost:8000/ask_ai/"

def test_ai_response():
    start_time = time.time()
    response = requests.post(API_URL, json={"question": "AI 기술 트렌드는?"})
    end_time = time.time()

    print("응답 시간:", end_time - start_time, "초")
    print("AI 응답:", response.json())

test_ai_response()

테스트 결과 예제

응답 시간: 1.2 초  
AI 응답: {'response': '2024년 AI 기술 트렌드는 대규모 언어 모델, 멀티모달 AI, 윤리적 AI 규제 강화입니다.'}

개선 방법

  • 응답 시간이 3초 이상이면 Redis 캐싱 적용 확인
  • GPU 사용 여부 점검 (OLLAMA_USE_CUDA=1 활성화)

2. AI 대화 맥락 유지 테스트

목표: LangChain Memory를 활용한 AI의 대화 맥락 유지 기능 점검

🔹 테스트 요청 (cURL 예제)

curl -X 'POST' 'http://127.0.0.1:8000/ask_ai/' \
     -H 'Content-Type: application/json' \
     -d '{"question": "올해 AI 트렌드는?"}'

테스트 결과 (AI가 맥락을 기억하는지 확인)

{
  "response": "2024년 AI 트렌드는 대규모 언어 모델과 멀티모달 AI입니다."
}

🔹 추가 질문

curl -X 'POST' 'http://127.0.0.1:8000/ask_ai/' \
     -H 'Content-Type: application/json' \
     -d '{"question": "이전 답변을 기반으로 자세히 설명해줘."}'

AI가 맥락을 유지하는지 확인

{
  "response": "대규모 언어 모델은 GPT-4, Llama3와 같은 모델이며..."
}

개선 방법

  • LangChain Memory 저장 시간(max_token_limit) 조정
  • Redis 캐싱과 LangChain Memory 연동

3. AI 자동화 기능 테스트 (크롤링 & 분석)

목표: 웹 데이터를 자동 수집하고 AI가 분석하는 기능 점검

🔹 테스트 API 요청

curl -X 'GET' 'http://127.0.0.1:8000/news_analysis/'

테스트 결과 예제

{
  "news": [
    "AI-powered robotics transforming warehouses",
    "Quantum computing breakthroughs in 2024"
  ],
  "analysis": "현재 AI는 물류 자동화 및 양자 컴퓨팅 발전에 집중하고 있습니다."
}

개선 방법

  • 웹 크롤링 속도 개선 (비동기 async/await 적용)
  • AI 분석 모델 변경 가능하도록 설정 (Mistral ↔ Llama3)

🔹 3. AI 시스템 배포 및 운영 테스트

이제 AI 시스템을 실제 서버에서 배포 및 운영 테스트합니다.

1. Docker 컨테이너 실행 테스트

docker run -p 8000:8000 ai-agent

실행 결과 확인

  • http://localhost:8000/docs에서 API 문서 확인
  • docker logs ai-agent로 오류 로그 확인

2. 클라우드 서버 배포 테스트 (Railway / AWS)

🔹 Railway 배포

railway up

🔹 AWS 배포 (EC2 사용 시)

scp -i my-key.pem ai-agent.tar.gz ubuntu@server-ip:/home/ubuntu
ssh -i my-key.pem ubuntu@server-ip
docker load < ai-agent.tar.gz
docker run -p 8000:8000 ai-agent

배포 후 API URL 확인

https://my-ai-agent.railway.app/ask_ai/

실제 서버에서 응답 속도 테스트

curl -X 'POST' 'https://my-ai-agent.railway.app/ask_ai/' \
     -H 'Content-Type: application/json' \
     -d '{"question": "AI 기술 트렌드는?"}'

🎯 4. AI 시스템 최종 테스트 정리

FastAPI + CrewAI API 응답 속도 테스트 완료
LangChain Memory를 활용한 AI 대화 맥락 유지 확인
웹 크롤링 및 AI 자동 분석 기능 정상 동작 확인
Docker 컨테이너로 AI 시스템 배포 및 운영 테스트 성공
Railway / AWS를 활용한 클라우드 배포 검증 완료


🚀 이제 완성된 AI 시스템을 실제 서비스로 운영할 준비가 되었습니다!

이제 AI 시스템을 실제 서비스로 배포하고 운영하는 과정을 시작할 수 있습니다.
다음 단계에서는 실제 사용자 피드백을 반영하여 AI를 지속적으로 개선하는 전략을 소개할 예정입니다.

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
반응형