Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -40,14 +40,10 @@ class StreamingAgentCallbackHandler(BaseCallbackHandler):
|
|
| 40 |
def on_llm_error(self, error, **kwargs):
|
| 41 |
self.q.put(f"[ERROR] {str(error)}")
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
#retriever,
|
| 48 |
-
# name="wiki_search",
|
| 49 |
-
# description="위키백과에서 필요한 정보를 불러옵니다.결괴를 검증하여 사용하시오.",
|
| 50 |
-
#)
|
| 51 |
# ──────────────────────────────
|
| 52 |
# ✅ GitHub Models LLM
|
| 53 |
# ──────────────────────────────
|
|
@@ -90,8 +86,7 @@ llm = GitHubModelLLM(model="openai/gpt-4.1", token=token)
|
|
| 90 |
tools = load_tools(
|
| 91 |
["ddg-search", "requests_all", "llm-math"],
|
| 92 |
llm=llm,allow_dangerous_tools=True
|
| 93 |
-
)+[YTS()]
|
| 94 |
-
|
| 95 |
# ──────────────────────────────
|
| 96 |
# ✅ Python 실행 도구 (LangChain 내장)
|
| 97 |
# ──────────────────────────────
|
|
@@ -165,7 +160,9 @@ tools.extend([
|
|
| 165 |
Tool(name="file_delete", func=file_delete, description="파일을 삭제합니다."),
|
| 166 |
Tool(name="time_now", func=time_now, description="현재 시간을 반환합니다."),
|
| 167 |
])
|
| 168 |
-
|
|
|
|
|
|
|
| 169 |
# ──────────────────────────────
|
| 170 |
# ✅ Agent 초기화
|
| 171 |
# ──────────────────────────────
|
|
@@ -174,6 +171,7 @@ handler = StreamingAgentCallbackHandler(q_stream)
|
|
| 174 |
agent = initialize_agent(
|
| 175 |
tools,
|
| 176 |
llm,
|
|
|
|
| 177 |
agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
|
| 178 |
verbose=True,
|
| 179 |
handle_parsing_errors=True,
|
|
@@ -194,7 +192,6 @@ def chat(message, history):
|
|
| 194 |
if msg == "[END]":
|
| 195 |
break
|
| 196 |
yield msg + "\n"
|
| 197 |
-
return history, history
|
| 198 |
|
| 199 |
with gr.Blocks(theme=gr.themes.Soft(), title="PIXAL Assistant (LangChain + GitHub LLM)") as demo:
|
| 200 |
gr.Markdown("""
|
|
|
|
| 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
|
| 45 |
+
retriever = WikipediaRetriever(lang="ko",top_k_results=10)
|
| 46 |
+
wiki=Tool(retriever.get_relevantt_documents,name="WIKI SEARCH",description="위키백과에서 필요한 정보를 불러옵니다.결괴를 검증하여 사용하시오.")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
# ──────────────────────────────
|
| 48 |
# ✅ GitHub Models LLM
|
| 49 |
# ──────────────────────────────
|
|
|
|
| 86 |
tools = load_tools(
|
| 87 |
["ddg-search", "requests_all", "llm-math"],
|
| 88 |
llm=llm,allow_dangerous_tools=True
|
| 89 |
+
)+[YTS()]+[wiki]
|
|
|
|
| 90 |
# ──────────────────────────────
|
| 91 |
# ✅ Python 실행 도구 (LangChain 내장)
|
| 92 |
# ──────────────────────────────
|
|
|
|
| 160 |
Tool(name="file_delete", func=file_delete, description="파일을 삭제합니다."),
|
| 161 |
Tool(name="time_now", func=time_now, description="현재 시간을 반환합니다."),
|
| 162 |
])
|
| 163 |
+
from langchain.memory import ConversationBufferMemory as MEM
|
| 164 |
+
from langchain.agents.agent_toolkits import FileManagementToolkit as FMT
|
| 165 |
+
tools.extend(FMT(root_dir=str(os.getcwd())).get_tools())
|
| 166 |
# ──────────────────────────────
|
| 167 |
# ✅ Agent 초기화
|
| 168 |
# ──────────────────────────────
|
|
|
|
| 171 |
agent = initialize_agent(
|
| 172 |
tools,
|
| 173 |
llm,
|
| 174 |
+
memory=MEM(),
|
| 175 |
agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
|
| 176 |
verbose=True,
|
| 177 |
handle_parsing_errors=True,
|
|
|
|
| 192 |
if msg == "[END]":
|
| 193 |
break
|
| 194 |
yield msg + "\n"
|
|
|
|
| 195 |
|
| 196 |
with gr.Blocks(theme=gr.themes.Soft(), title="PIXAL Assistant (LangChain + GitHub LLM)") as demo:
|
| 197 |
gr.Markdown("""
|