kanninian commited on
Commit
1f44489
·
verified ·
1 Parent(s): dfe7e46

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -16
app.py CHANGED
@@ -34,8 +34,8 @@ class SearchResult(BaseModel):
34
  score: float
35
 
36
  # 搜尋+rerank API
37
- @app.post("/search", response_model=List[SearchResult])
38
- def search(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,22 +51,55 @@ def search(input: QueryInput):
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()
 
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()