실제 OpenAI API를 사용하여 FluxIndex의 품질과 성능을 테스트하는 프로젝트입니다.
다음 중 하나의 방법으로 API 키를 설정하세요:
방법 1: 환경 변수 (추천)
export OPENAI_API_KEY="your-openai-api-key-here"방법 2: appsettings.json 파일
{
"OpenAI": {
"ApiKey": "your-openai-api-key-here"
}
}cd samples/RealQualityTest
dotnet run- 머신러닝 관련 5개 문서 자동 생성
- 각 문서는 특정 주제 (ML, 신경망, 그라디언트 디센트, 트랜스포머, 역전파)
- 200자 단위로 문서 분할
- 50자 오버랩으로 연속성 보장
- OpenAI
text-embedding-3-small모델 사용 - SQLite 데이터베이스에 임베딩 벡터 저장
- 5가지 질문으로 검색 품질 확인
- 코사인 유사도 기반 벡터 검색
- 검색 응답시간 측정
- 50회 반복 성능 테스트
- 평균/최소/최대/P95 응답시간 측정
- 전체 처리량 통계
테스트 완료 후 다음 메트릭들이 표시됩니다:
- Total Chunks: 총 청크 수
- Embedded Chunks: 임베딩 생성된 청크 수
- Average Response Time: 평균 응답시간
- Min Response Time: 최소 응답시간
- Max Response Time: 최대 응답시간
- P95 Response Time: 95퍼센타일 응답시간
- Embedding Model: 사용된 임베딩 모델
- Vector Dimensions: 벡터 차원수 (1536)
- 실제 API 호출: 모킹 없이 실제 OpenAI API 사용
- SQLite 저장소: 가벼운 로컬 데이터베이스
- 자동 청킹: 200자 단위 + 50자 오버랩
- 코사인 유사도: 벡터 검색 품질 측정
- 성능 벤치마크: 실제 사용 상황 모방
appsettings.json에서 다음 설정들을 조정할 수 있습니다:
{
"OpenAI": {
"EmbeddingModel": "text-embedding-3-small"
},
"TestSettings": {
"TestQueries": [
"What is machine learning?",
"How does neural network work?",
"Explain gradient descent",
"What are transformers in AI?",
"How to implement backpropagation?"
]
}
}