Project

General

Profile

Actions

개발 #8

closed

[스터디] AI 활용 QnA 초안작성 테스트

Added by 개발팀 이석화 about 1 year ago. Updated about 1 year ago.

Status:
완료
Priority:
보통
Start date:
06/26/2025
Due date:
07/04/2025
% Done:

100%

Estimated time:
22:00 h

Files

clipboard-202506271549-5fpkc.png (15.1 KB) clipboard-202506271549-5fpkc.png 개발팀 이석화, 10/01/2025 01:29 PM
clipboard-202506271549-5fpkc.png
Actions #1

Updated by 개발팀 이석화 about 1 year ago

필요사항

  • 샘플 DB에 엑셀파일 내용 업로드
  • Ollama API를 호출하는 웹 애플리케이션 생성 (API)
    • AI 활용하여 QnA 초안 작성하는 기능 테스트
    • RAG 사용하여 DB의 내용 참조하도록 설정
  • 테스트용 사이트 배포

처리과정

  1. DB에서 전체 QnA 과거데이터 가져옴
  2. 임베딩 모델을 사용하여 DB 데이터를 의미추론을 위한 벡터 데이터를 생성
  3. 질문에 답변을 위해 의미추론으로 가장 유사한 3개 데이터를 가져옴
  4. 해당 데이터를 참조하여 프롬프트를 새로 생성하고 Ollama에 질의 요청
  5. Ollam에서 온 결과 데이터를 출력
Actions #2

Updated by 개발팀 이석화 about 1 year ago

clipboard-202506271549-5fpkc.png
  • QnA 과거 데이터

  • RAG + Gemma3 결과

    • Q. 소변검사할때 멸균컵 써야돼?

    • A. "## 답변 초안\n\n소변검사 시 멸균컵 사용 여부는 검사 종류에 따라 달라집니다. 크게 미생물 배양검사와 일반 소변검사(UA)로 구분할 수 있습니다.\n\n**1. 미생물 배양검사:**\n\n* 미생물 배양검사는 세균을 배양하기 위한 검사로, 감염 여부를 확인하기 위해 뚜껑이 있는 **멸균 용기**를 사용해야 합니다. 멸균 용기는 감염된 세포나 박테리아가 검체에 오염되는 것을 최소화하여 정확한 결과를 얻는 데 필수적입니다.\n\n**2. 일반 소변검사(UA):**\n\n* 일반 UA의 경우, 소변검체용 청결 용기를 사용합니다. 이 용기는 멸균 용기보다는 재사용이 가능하며, 멸균 과정은 필수는 아닙니다. 하지만 검체 오염을 줄이기 위해 사용 전 손 위생을 철저히 하고, 검체 채취 후에는 즉시 보관해야 합니다.\n\n**검체 용기 관리 요령:**\n\n* **재사용 금지:** 어떤 종류의 검체 용기라도 재사용은 피해야 합니다. 재사용 시 세균이 번식할 가능성이 높아져 검사 결과의 신뢰성을 떨어뜨릴 수 있습니다.\n* **보관:** 검체 용기를 사용하지 않을 때는 깨끗하고 건조한 곳에 보관하며, 오염되지 않도록 주의해야 합니다.\n\n**참고:**\n\n* 소변검사 시에는 항상 검사 프로토콜을 준수하여 정확한 결과를 얻는 것이 중요합니다.\n\n**Disclaimer:** 본 답변은 일반적인 정보 제공을 위한 것이며, 실제 의료 현장에서는 환자의 상태와 검사 목적에 따라 적절한 검사 방법을 선택해야 합니다. 정확한 진단 및 치료는 반드시 의료 전문가와 상담하시기 바랍니다."

    • Q. 환자는 라면을 먹어? 아니면 파스타? (과거데이터에 없는 질문)

    • A. "환자분의 식사 종류에 따라 소독 방식이 달라질 수 있습니다. 일반적으로 환자분께서 섭취하시는 음식이 소독 기준에 부합하는지 확인하는 것이 중요합니다.\n\n* **일반적인 식사 (예: 라면, 파스타)**: 환자분이 섭취하시는 음식이 감염병 예방 및 관리에 관한 법률 시행규칙에 명시된 기준을 충족한다면 일반식으로 제공할 수 있습니다. 하지만, 음식이 음식물 쓰레기로 변질되기 전에 즉시 처리되어야 합니다.\n* **소독식**: 만약 음식이 섭취 후 남은 잔여물에 세균이 번식될 가능성이 있다면, 소독식으로 제공하여 감염 위험을 최소화해야 합니다. 이 경우, 식기는 끓는 물이나 소독용 표백액 등으로 소독된 후 제공됩니다.\n\n**참고:** 감염병의 예방 및 관리에 관한 법률 시행규칙에 따라, 감염병 환자에게 제공되는 식기의 소독 기준이 명확히 규정되어 있습니다.\n\n**주의:** 환자분의 식사 종류와 상황에 따라 소독 방식이 달라질 수 있으므로, 반드시 의료진과 상의하여 적절한 방법을 결정해야 합니다."

Actions #3

Updated by 개발팀 이석화 about 1 year ago

// API 호출 샘플
async function getSampleData() {
    if(pageParam.isChatProcessing) {
        commonStore.sendMessage('error', 'Error', '이미 처리중인 요청이 있습니다. \n잠시 후 다시 시도해주세요.');
        return;
    }

    pageParam.isChatProcessing = true;

    const input = pageParam.chatInput;
    const encodedValue = encodeURIComponent(input);

    pageParam.chatLog = '';
    pageParam.chatInput = '';

    const response = await fetch(`http://211.209.185.136:7070/api/v1/sample/testRAG?input=${encodedValue}`, {
        method: 'GET',
        headers: {
            'auth_key': '1234',
        }
    });

    const reader = response.body.getReader();
    const decoder = new TextDecoder();

    let result = '';
    while (true) {
        const { done, value } = await reader.read();
        if(done) {
            pageParam.isChatProcessing = false;
            break;
        }

        const chunk = decoder.decode(value, { stream: true });
        result += chunk;

        // 각 chunk를 실시간으로 처리
        pageParam.chatLog += chunk;
        pageParam.chatLogRender = marked.parse(pageParam.chatLog);
    }
}
Actions

Also available in: Atom PDF