|
|
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) |