CoolFace
Apppublic

jeongsoo/RAG6_DockerLLM_API_Service

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
app.py75 linesDownload Raw Back to root
1import streamlit as st2import requests3import os4import json5import sys6 7# 시스템 정보 확인8st.write("Python version:", sys.version)9st.write("현재 작업 디렉토리:", os.getcwd())10 11# 환경 변수 확인 (보안상 민감한 정보는 가려서 표시)12env_vars = {}13for key in os.environ:14    value = os.environ[key]15    if key in ['API_BASE_URL']:16        env_vars[key] = value17    elif 'SECRET' in key or 'KEY' in key or 'TOKEN' in key or 'PASSWORD' in key:18        env_vars[key] = value[:4] + '****' if len(value) > 4 else '****'19 20st.subheader("환경 변수")21st.json(env_vars)22 23# API 연결 테스트24st.subheader("API 연결 테스트")25 26api_url = os.environ.get('API_BASE_URL', 'https://enter-your-api-url.com')27st.write(f"API URL: {api_url}")28 29test_url = st.text_input("테스트할 API URL", api_url)30 31if st.button("API 연결 테스트"):32    try:33        with st.spinner("API 연결 테스트 중..."):34            response = requests.get(f"{test_url}/docs", timeout=10)35            st.success(f"API 연결 성공! 상태 코드: {response.status_code}")36            st.text(f"응답 내용 (처음 500자): {response.text[:500]}")37    except Exception as e:38        st.error(f"API 연결 실패: {str(e)}")39        st.info("API 서버가 실행 중인지, URL이 올바른지 확인하세요.")40 41# 파일 시스템 확인42st.subheader("파일 시스템 확인")43files = os.listdir('.')44st.write("현재 디렉토리 파일:", files)45 46# 간단한 채팅 UI47st.subheader("간단한 채팅 테스트")48user_input = st.text_input("질문 입력")49 50if st.button("전송") and user_input:51    st.write(f"사용자: {user_input}")52    53    try:54        with st.spinner("응답 생성 중..."):55            response = requests.post(56                f"{api_url}/rag",57                json={58                    "query": user_input,59                    "retriever_type": "reranker",60                    "top_k": 361                },62                timeout=3063            )64            65            if response.status_code == 200:66                result = response.json()67                st.write(f"챗봇: {result.get('answer', '응답을 받지 못했습니다.')}")68                st.write("응답 세부 정보:")69                st.json(result)70            else:71                st.error(f"API 오류: {response.status_code} - {response.text}")72    except Exception as e:73        st.error(f"오류 발생: {str(e)}")74        st.info("자세한 오류 정보:")75        st.exception(e)