peterpeter8585 commited on
Commit
ce3c490
Β·
verified Β·
1 Parent(s): 86c9f34

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -32
app.py CHANGED
@@ -16,29 +16,7 @@ from langchain.callbacks.base import BaseCallbackHandler
16
 
17
  from langchain.tools import YouTubeSearchTool as YTS
18
  # 2. μ»€μŠ€ν…€ 콜백 ν•Έλ“€λŸ¬
19
- class StreamingAgentCallbackHandler(BaseCallbackHandler):
20
- def __init__(self, q: queue.Queue):
21
- self.q = q
22
 
23
- def on_agent_action(self, action, **kwargs):
24
- log = f"🧠 Thought: {action.log.strip()}\nπŸ”§ Action: {action.tool}({action.tool_input})"
25
- self.q.put(log)
26
-
27
- def on_tool_end(self, output, **kwargs):
28
- self.q.put(f"πŸ“¦ Observation: {output}\n")
29
-
30
- def on_agent_finish(self, finish, **kwargs):
31
- self.q.put(f"\nβœ… Final Answer: {finish.return_values['output']}")
32
-
33
- def on_llm_new_token(self, token: str, **kwargs):
34
- # μ„ νƒμ μœΌλ‘œ 토큰 슀트리밍 좜λ ₯
35
- pass
36
-
37
- def on_llm_end(self, response, **kwargs):
38
- self.q.put("[END]")
39
-
40
- def on_llm_error(self, error, **kwargs):
41
- self.q.put(f"[ERROR] {str(error)}")
42
 
43
  from langchain_community.retrievers import WikipediaRetriever
44
  from langchain.tools.retriever import create_retriever_tool
@@ -132,17 +110,14 @@ tools.extend(FMT(root_dir=str(os.getcwd())).get_tools())
132
  # ──────────────────────────────
133
  # βœ… Agent μ΄ˆκΈ°ν™”
134
  # ──────────────────────────────
135
- q_stream = queue.Queue()
136
- handler = StreamingAgentCallbackHandler(q_stream)
137
  agent = initialize_agent(
138
  tools,
139
  llm,
140
  memory=MEM(),
141
  agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
142
  verbose=True,
143
- handle_parsing_errors=True,
144
- callbacks=[handler]
145
- )
146
 
147
  # ──────────────────────────────
148
  # βœ… Gradio UI
@@ -153,11 +128,7 @@ def chat(message, history):
153
  except Exception as e:
154
  response = f"⚠️ 였λ₯˜: {e}"
155
  history = history + [(message, response)]
156
- while True:
157
- msg = q_stream.get()
158
- if msg == "[END]":
159
- break
160
- yield msg + "\n"
161
 
162
  with gr.Blocks(theme=gr.themes.Soft(), title="PIXAL Assistant (LangChain + GitHub LLM)") as demo:
163
  gr.Markdown("""
 
16
 
17
  from langchain.tools import YouTubeSearchTool as YTS
18
  # 2. μ»€μŠ€ν…€ 콜백 ν•Έλ“€λŸ¬
 
 
 
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  from langchain_community.retrievers import WikipediaRetriever
22
  from langchain.tools.retriever import create_retriever_tool
 
110
  # ──────────────────────────────
111
  # βœ… Agent μ΄ˆκΈ°ν™”
112
  # ──────────────────────────────
113
+
 
114
  agent = initialize_agent(
115
  tools,
116
  llm,
117
  memory=MEM(),
118
  agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
119
  verbose=True,
120
+ handle_parsing_errors=True)
 
 
121
 
122
  # ──────────────────────────────
123
  # βœ… Gradio UI
 
128
  except Exception as e:
129
  response = f"⚠️ 였λ₯˜: {e}"
130
  history = history + [(message, response)]
131
+ return history,history
 
 
 
 
132
 
133
  with gr.Blocks(theme=gr.themes.Soft(), title="PIXAL Assistant (LangChain + GitHub LLM)") as demo:
134
  gr.Markdown("""