File size: 1,419 Bytes
868518d 080637e 868518d 080637e 868518d 080637e 868518d 080637e 868518d 080637e 868518d 080637e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import gradio as gr
import numpy as np
import os
from sentence_transformers import SentenceTransformer
# 使用更轻量的模型
model = SentenceTransformer('all-MiniLM-L6-v2')
def predict(vector):
"""处理向量输入并返回答案"""
try:
# 转换为 numpy 数组
vector = np.array(vector).reshape(1, -1)
# 实际项目中这里应该是您的 RAG 推理逻辑
# 这里用示例替代
if vector.shape[1] == 384: # MiniLM 向量维度
return "这是基于向量生成的回答示例。实际使用时应连接您的 RAG 模型"
else:
return f"错误:接收的向量维度是 {vector.shape[1]},但预期是 384"
except Exception as e:
return f"处理错误: {str(e)}"
# 创建更简单的接口
with gr.Blocks() as demo:
gr.Markdown("## 🛍️ 电商智能客服系统")
with gr.Row():
vector_input = gr.Dataframe(
headers=["向量值"],
type="array",
label="输入向量 (384维)"
)
output = gr.Textbox(label="智能回答")
submit_btn = gr.Button("生成回答")
submit_btn.click(
fn=predict,
inputs=vector_input,
outputs=output
)
# 启动应用 - 添加共享选项
demo.launch(
server_name="0.0.0.0",
server_port=7860,
share=False # 在 Space 中设置为 False
) |