Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -34,8 +34,8 @@ class SearchResult(BaseModel):
|
|
34 |
score: float
|
35 |
|
36 |
# 搜尋+rerank API
|
37 |
-
@app.post("/
|
38 |
-
def
|
39 |
reranked = retrieve_and_rerank(input.query, model_name, collection_name, cross_encoder_model, score_threshold=0.5, search_top_k=20, rerank_top_k=input.top_k)
|
40 |
|
41 |
# 如果沒有找到相關答案,則返回 404 錯誤
|
@@ -51,22 +51,55 @@ def search(input: QueryInput):
|
|
51 |
raise HTTPException(status_code=404, detail="無法生成回答,請檢查輸入或模型設定。")
|
52 |
return answer
|
53 |
|
54 |
-
demo = gr.ChatInterface(
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
additional_inputs=[
|
57 |
-
gr.Textbox(value="
|
58 |
-
gr.Slider(
|
59 |
-
gr.Slider(
|
60 |
-
gr.Slider(
|
61 |
-
minimum=0.1,
|
62 |
-
maximum=1.0,
|
63 |
-
value=0.95,
|
64 |
-
step=0.05,
|
65 |
-
label="Top-p (nucleus sampling)",
|
66 |
-
),
|
67 |
],
|
68 |
)
|
69 |
|
70 |
-
|
71 |
if __name__ == "__main__":
|
72 |
-
|
|
|
34 |
score: float
|
35 |
|
36 |
# 搜尋+rerank API
|
37 |
+
@app.post("/chat", response_model=List[SearchResult])
|
38 |
+
def search_and_generate(input: QueryInput):
|
39 |
reranked = retrieve_and_rerank(input.query, model_name, collection_name, cross_encoder_model, score_threshold=0.5, search_top_k=20, rerank_top_k=input.top_k)
|
40 |
|
41 |
# 如果沒有找到相關答案,則返回 404 錯誤
|
|
|
51 |
raise HTTPException(status_code=404, detail="無法生成回答,請檢查輸入或模型設定。")
|
52 |
return answer
|
53 |
|
54 |
+
# demo = gr.ChatInterface(
|
55 |
+
# answer,
|
56 |
+
# additional_inputs=[
|
57 |
+
# gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
|
58 |
+
# gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
|
59 |
+
# gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
|
60 |
+
# gr.Slider(
|
61 |
+
# minimum=0.1,
|
62 |
+
# maximum=1.0,
|
63 |
+
# value=0.95,
|
64 |
+
# step=0.05,
|
65 |
+
# label="Top-p (nucleus sampling)",
|
66 |
+
# ),
|
67 |
+
# ],
|
68 |
+
# )
|
69 |
+
|
70 |
+
|
71 |
+
# if __name__ == "__main__":
|
72 |
+
# demo.launch()
|
73 |
+
|
74 |
+
import gradio as gr
|
75 |
+
|
76 |
+
# def respond(message, history, system_message, max_tokens, temperature, top_p):
|
77 |
+
# try:
|
78 |
+
# llm.temperature = temperature
|
79 |
+
# llm.max_output_tokens = max_tokens
|
80 |
+
|
81 |
+
# search_results = hybrid_search(message)
|
82 |
+
|
83 |
+
# rerank_response = rerank_chunks_with_llm(message, search_results, llm, top_n=3)
|
84 |
+
# reranked_indices = [int(i.strip()) - 1 for i in rerank_response.content.split(",") if i.strip().isdigit()]
|
85 |
+
# reranked_docs = [search_results[i] for i in reranked_indices]
|
86 |
+
|
87 |
+
# answer = generate_answer_with_rag(message, reranked_docs, llm)
|
88 |
+
# return answer.content
|
89 |
+
|
90 |
+
# except Exception as e:
|
91 |
+
# return f"[錯誤] {str(e)}"
|
92 |
+
|
93 |
+
chat_interface = gr.ChatInterface(
|
94 |
+
fn=search_and_generate,
|
95 |
+
title="Chatbot問答系統",
|
96 |
additional_inputs=[
|
97 |
+
gr.Textbox(value="你是個樂於助人的AI助手。", label="System Message"),
|
98 |
+
gr.Slider(1, 2048, value=512, step=1, label="Max tokens"),
|
99 |
+
gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature"),
|
100 |
+
gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p"),
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
],
|
102 |
)
|
103 |
|
|
|
104 |
if __name__ == "__main__":
|
105 |
+
chat_interface.launch()
|