This commit is contained in:
@@ -7,12 +7,16 @@ import os
|
||||
import uuid
|
||||
|
||||
# 第三方库
|
||||
from dotenv import load_dotenv
|
||||
import requests
|
||||
import streamlit as st
|
||||
|
||||
# 加载 .env 文件
|
||||
load_dotenv()
|
||||
|
||||
# 后端 API 地址:优先从环境变量读取,Docker 环境使用服务名,本地开发可覆盖
|
||||
API_URL = os.getenv("API_URL", "http://backend:8001/chat")
|
||||
# 后端 API 地址配置
|
||||
# 优先级:环境变量 API_URL > Docker 内部服务名 > 本地开发地址
|
||||
API_URL = os.getenv("API_URL", "http://localhost:8001/chat")
|
||||
|
||||
st.set_page_config(page_title="AI 个人助手", page_icon="🤖")
|
||||
st.title("🤖 个人生活与数据分析助手")
|
||||
@@ -20,6 +24,7 @@ st.title("🤖 个人生活与数据分析助手")
|
||||
# 模型选项(与后端支持的模型名称一致)
|
||||
MODEL_OPTIONS = {
|
||||
"zhipu": "智谱 GLM-4.7-Flash(在线)",
|
||||
"deepseek": "DeepSeek V3.2(在线)",
|
||||
"local": "本地 vLLM(Gemma-4)"
|
||||
}
|
||||
|
||||
@@ -82,12 +87,20 @@ if prompt := st.chat_input("请输入您的问题..."):
|
||||
data = response.json()
|
||||
reply = data["reply"]
|
||||
model_used = data["model_used"]
|
||||
input_tokens = data.get("input_tokens", 0)
|
||||
output_tokens = data.get("output_tokens", 0)
|
||||
total_tokens = data.get("total_tokens", 0)
|
||||
elapsed_time = data.get("elapsed_time", 0.0)
|
||||
|
||||
# 显示回复
|
||||
st.markdown(reply)
|
||||
|
||||
# 显示使用的模型(小字提示)
|
||||
st.caption(f"🤖 使用模型: {MODEL_OPTIONS.get(model_used, model_used)}")
|
||||
# 显示使用的模型和性能指标
|
||||
stats_text = f"🤖 模型: {MODEL_OPTIONS.get(model_used, model_used)}"
|
||||
stats_text += f" | ⏱️ 耗时: {elapsed_time:.2f}s"
|
||||
if total_tokens > 0:
|
||||
stats_text += f" | 📊 Tokens: {input_tokens}(输入) + {output_tokens}(输出) = {total_tokens}(总计)"
|
||||
st.caption(stats_text)
|
||||
|
||||
st.session_state.messages.append({"role": "assistant", "content": reply})
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user