티스토리 뷰
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를 지속적으로 개선하는 전략을 소개할 예정입니다.
'study > ai prompt' 카테고리의 다른 글
AI 서비스의 확장 - 다국어 지원 및 글로벌 배포 (0) | 2025.03.18 |
---|---|
AI 시스템 운영 전략 - 사용자 피드백을 반영한 지속적인 개선 (0) | 2025.03.17 |
Ollama 기반 AI 에이전트 성능 최적화 및 유지보수 (0) | 2025.03.17 |
Docker를 이용한 AI 에이전트 컨테이너화 및 배포 (0) | 2025.03.16 |
AI 에이전트의 웹 인터페이스 구축 - 실시간 대화 시스템 개발 (0) | 2025.03.16 |
- Total
- Today
- Yesterday
- 개발블로그
- seo 최적화 10개
- PostgreSQL
- fastapi
- SEO최적화
- rag
- AI 자동화
- 스마트 컨트랙트
- 관리자
- REACT
- llm
- 백엔드개발
- Docker
- nextJS
- kotlin
- CI/CD
- LangChain
- Webpack
- App Router
- 프론트엔드
- NestJS
- 웹개발
- github
- Next.js
- Ktor
- Prisma
- AI챗봇
- SEO 최적화
- nodejs
- gatsbyjs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |