| import streamlit as st |
| import requests |
| import os |
| import json |
| import sys |
|
|
| |
| st.write("Python version:", sys.version) |
| st.write("νμ¬ μμ
λλ ν 리:", os.getcwd()) |
|
|
| |
| env_vars = {} |
| for key in os.environ: |
| value = os.environ[key] |
| if key in ['API_BASE_URL']: |
| env_vars[key] = value |
| elif 'SECRET' in key or 'KEY' in key or 'TOKEN' in key or 'PASSWORD' in key: |
| env_vars[key] = value[:4] + '****' if len(value) > 4 else '****' |
|
|
| st.subheader("νκ²½ λ³μ") |
| st.json(env_vars) |
|
|
| |
| st.subheader("API μ°κ²° ν
μ€νΈ") |
|
|
| api_url = os.environ.get('API_BASE_URL', 'https://enter-your-api-url.com') |
| st.write(f"API URL: {api_url}") |
|
|
| test_url = st.text_input("ν
μ€νΈν API URL", api_url) |
|
|
| if st.button("API μ°κ²° ν
μ€νΈ"): |
| try: |
| with st.spinner("API μ°κ²° ν
μ€νΈ μ€..."): |
| response = requests.get(f"{test_url}/docs", timeout=10) |
| st.success(f"API μ°κ²° μ±κ³΅! μν μ½λ: {response.status_code}") |
| st.text(f"μλ΅ λ΄μ© (μ²μ 500μ): {response.text[:500]}") |
| except Exception as e: |
| st.error(f"API μ°κ²° μ€ν¨: {str(e)}") |
| st.info("API μλ²κ° μ€ν μ€μΈμ§, URLμ΄ μ¬λ°λ₯Έμ§ νμΈνμΈμ.") |
|
|
| |
| st.subheader("νμΌ μμ€ν
νμΈ") |
| files = os.listdir('.') |
| st.write("νμ¬ λλ ν 리 νμΌ:", files) |
|
|
| |
| st.subheader("κ°λ¨ν μ±ν
ν
μ€νΈ") |
| user_input = st.text_input("μ§λ¬Έ μ
λ ₯") |
|
|
| if st.button("μ μ‘") and user_input: |
| st.write(f"μ¬μ©μ: {user_input}") |
| |
| try: |
| with st.spinner("μλ΅ μμ± μ€..."): |
| response = requests.post( |
| f"{api_url}/rag", |
| json={ |
| "query": user_input, |
| "retriever_type": "reranker", |
| "top_k": 3 |
| }, |
| timeout=30 |
| ) |
| |
| if response.status_code == 200: |
| result = response.json() |
| st.write(f"μ±λ΄: {result.get('answer', 'μλ΅μ λ°μ§ λͺ»νμ΅λλ€.')}") |
| st.write("μλ΅ μΈλΆ μ 보:") |
| st.json(result) |
| else: |
| st.error(f"API μ€λ₯: {response.status_code} - {response.text}") |
| except Exception as e: |
| st.error(f"μ€λ₯ λ°μ: {str(e)}") |
| st.info("μμΈν μ€λ₯ μ 보:") |
| st.exception(e) |