Skip to content

enchantee00/CC-ML

 
 

Repository files navigation

Async API 테스트 및 로깅 스크립트

설명

이 스크립트는 httpx.AsyncClient를 이용해 여러 질문을 API에 병렬로 요청하고,
각 응답의 유효성 및 응답 시간을 results_log.txt 파일에 기록합니다.
성공한 요청들의 평균 응답 시간과 전체 총 소요 시간도 함께 출력됩니다.


파일 구조

.
├── app/ # 서비스 관련 코드 폴더
├── data/ # 데이터 폴더(Chroma DB, img)
├── simulation.py              # 실행 스크립트
├── .env                 # 환경변수 파일 (API 키 포함)
├── results_log.txt      # 결과 로그 파일 (자동 생성됨)

사전 준비

  1. 의존 패키지 설치:
conda env create -f environment.yml
  1. .env 파일 생성 및 API 키 설정
UPSTAGE_API_KEY = your_api_key_here
UPSTAGE_API_URL = "https://api.upstage.ai/v1/document-digitization"

실행 방법

1. FastAPI 서버

cd app
python main.py

2. vLLM 추론 서버

python -m vllm.entrypoints.openai.api_server   --model rtzr/ko-gemma-2-9b-it   --tensor-parallel-size 2   --gpu-memory-utilization 0.8   --max-model-len 1024   --port 8001

3. simulation 코드 실행

python simulation.py

로그 출력 예시 (results_log.txt)

=== 시뮬레이션 시작: 2025-07-05 07:59:33 ===

[eac1d78e-3533-4165-98ef-332cd746f33c] ✅ time: 2.89s
Q: 가루세제는 자동 투입 장치에 넣을 수 있나요?
A: 아니요, 가루 세제는 사용하지 마세요.
------------------------------
[4c5f99a0-4aea-4b51-b3ea-c8ad5d482876] ✅ time: 3.14s
Q: 세탁 전 확인사항은 어떤 것이 있나요?
A: 건조 전 세탁물에 부착된 라벨과 취급 표시를 확인하세요.
------------------------------
[a535503f-cc84-4128-a0a1-6e021fc3e4af] ✅ time: 3.23s
Q: 건조 중 제품 문을 열면 어떻게 되나요?
A: 건조기 작동 중에는 내부 온도가 고온이므로 문을 열지 말아야 합니다.
------------------------------
[f3ae8abb-adaa-4251-95d3-1ce71a47d82b] ✅ time: 3.47s
Q: 캠핑카나 선박 등에 설치해도 되나요?
A: 설명서에 따라 캠핑카, 선박 또는 비행기 등 이동식 차량 내부에 제품 설치는 금지되어 있습니다.
------------------------------
[24a40cd9-7fd0-49cc-b6d4-0a781a427075] ✅ time: 3.71s
Q: 세제를 자동으로 넣을 수 있나요?
A: 네, 선택세제함에 중성세제를 선택하면 자동으로 세제가 투입됩니다. 또한, 원하는 세제 종류를 선택하면 자동으로 투입됩니다.
------------------------------
[bae15d9e-757b-4b68-a4ba-897bab039dbf] ✅ time: 4.06s
Q: 통세척 코스에 세제 넣어도 되나요?
A: 무세제 통세척 코스 또는 무세제 통세척+ 코스를 사용할 때는 절대 세제와 세탁물을 넣지 마세요.  세제를 넣으면 이상이 발생할 수 있습니다.
------------------------------
[a54e0eb7-df32-4191-900a-20a7042c551a] ✅ time: 4.1s
Q: 제품 설치는 사용자가 직접 해도 되나요?
A: 설치는 전문 기사에게 의뢰하는 것이 좋습니다. 사용자 직접 설치가 가능한지 여부에 대한 명시적인 내용은 없지만, 설치는 전문가에게 맡기는 것을 권장합니다.
------------------------------
[c8408968-75b4-4bfa-9760-b0ac6ebfbebe] ✅ time: 4.52s
Q: 세탁 및 건조할 수 없는 세탁물은?
A: 두껍고 딱딱한 매트, 목침과 같은 단단한 침구류, 전기담요, 전기요, 카펫, 나일론 의류 등 세탁기로 세탁 또는 건조 가능하다는 표시가 있더라도 건조기 사용은 피해주세요.
------------------------------
[f60d98a3-37a4-403e-aabe-c9e952b87275] ✅ time: 4.78s
Q: 어떤 상황에서 전원을 차단하고 서비스센터에 연락해야 하나요?
A: 설명서에 따르면, 가전제품이 이상을 보일 때(예: 감전, 화재의 원인이 될 수 있는 증상) 전원을 즉시 차단하고 서비스센터에 연락해야 합니다.  또한, 수리 및 재설치가 필요한 경우에도 반드시 서비스센터를 통해 처리해야 합니다.
------------------------------
[f118418b-d83f-4152-9fd6-16f297ad8d2c] ✅ time: 6.1s
Q: 어떤 장소에 설치하면 안 되나요?
A: 영하의 온도가 되는 장소, 목욕탕, 비바람이 부는 곳, 물이 튀는 곳, 지진 발생 시 방해가 될 수 있는 곳, 제품 문을 완전히 열 수 없는 공간,  열기구나 열에 약한 물건 근처, 습기, 기름, 먼지가 많은 곳, 직사광선, 물이 닿는 곳, 전기난로, 촛불, 모기향 등 화기가 있는 곳, 가스가 새는 곳에는 설치하지 마세요.
------------------------------

 평균 응답 시간: 4.0초 (성공 10 / 10개)
 총 소요 시간: 6.11초


주요 기능

  • 비동기 HTTP 요청을 통한 빠른 병렬 처리
  • 응답 시간 측정 및 평균 계산
  • 로깅을 통해 결과 기록
  • .env 파일을 통한 API 키 보안 관리

About

PNU 클라우드 컴퓨팅 수업 텀 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.9%
  • Python 0.1%