OuroborosM commited on
Commit
860b20f
·
1 Parent(s): ae678bc

create new tool list

Browse files
Files changed (1) hide show
  1. app.py +47 -3
app.py CHANGED
@@ -228,6 +228,18 @@ class DB_Search(BaseTool):
228
  def _arun(self, query: str):
229
  raise NotImplementedError("N/A")
230
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  def Text2Sound(text):
232
 
233
  speech_config = speechsdk.SpeechConfig(subscription=os.getenv('SPEECH_KEY'), region=os.getenv('SPEECH_REGION'))
@@ -312,6 +324,14 @@ Text2Sound_tool = Tool(
312
  description = "Useful when you need to convert text into sound file."
313
  )
314
 
 
 
 
 
 
 
 
 
315
  Wikipedia = WikipediaAPIWrapper()
316
  Netsearch = DuckDuckGoSearchRun()
317
  Python_REPL = PythonREPL()
@@ -334,6 +354,26 @@ python_tool = Tool(
334
  description = "Useful when you need python to answer questions. You should input python code."
335
  )
336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  # tools = [DB_Search(), wikipedia_tool, duckduckgo_tool, python_tool]
338
 
339
 
@@ -362,8 +402,12 @@ math_tool = Tool(
362
  description ='Useful for when you need to answer questions about math.'
363
  )
364
 
 
 
365
  tools = [DB_Search(), duckduckgo_tool, wikipedia_tool, python_tool, math_tool, Text2Sound_tool]
366
 
 
 
367
  # tools = load_tools(["Vector Database Search","Wikipedia Search","Python REPL","llm-math"], llm=llm)
368
 
369
  embeddings = OpenAIEmbeddings(deployment="model_embedding", chunk_size=15)
@@ -442,7 +486,7 @@ prompt_openai = OpenAIMultiFunctionsAgent.create_prompt(
442
 
443
  input_variables=["input", "chat_history", "agent_scratchpad"]
444
 
445
- agent_ZEROSHOT_REACT = initialize_agent(tools, llm,
446
  # agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
447
  agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
448
  verbose = True,
@@ -466,13 +510,13 @@ llm_chain = LLMChain(llm=llm, prompt=prompt)
466
 
467
  # llm_chain_openai = LLMChain(llm=llm, prompt=prompt_openai, verbose=True)
468
 
469
- agent_core = ZeroShotAgent(llm_chain=llm_chain, tools=tools, verbose=True)
470
 
471
  agent_core_openai = OpenAIMultiFunctionsAgent(llm=llm, tools=tools, prompt=prompt_openai, verbose=True)
472
 
473
  agent_ZEROSHOT_AGENT = AgentExecutor.from_agent_and_tools(
474
  agent=agent_core,
475
- tools=tools,
476
  verbose=True,
477
  # memory=memory,
478
  handle_parsing_errors = True,
 
228
  def _arun(self, query: str):
229
  raise NotImplementedError("N/A")
230
 
231
+ class DB_Search2(BaseTool):
232
+ name = "Vector Database Search"
233
+ description = "This is the internal database to search information firstly. If information is found, it is trustful."
234
+ def _run(self, query: str) -> str:
235
+ response, source = QAQuery_p(query)
236
+ # response = "test db_search feedback"
237
+ return response
238
+
239
+ def _arun(self, query: str):
240
+ raise NotImplementedError("N/A")
241
+
242
+
243
  def Text2Sound(text):
244
 
245
  speech_config = speechsdk.SpeechConfig(subscription=os.getenv('SPEECH_KEY'), region=os.getenv('SPEECH_REGION'))
 
324
  description = "Useful when you need to convert text into sound file."
325
  )
326
 
327
+ Text2Sound_tool2 = Tool(
328
+ name = "Text To Sound REST API",
329
+ # func = Text2Sound,
330
+ func = text_to_speech_2,
331
+ description = "Useful when you need to convert text into sound file."
332
+ )
333
+
334
+
335
  Wikipedia = WikipediaAPIWrapper()
336
  Netsearch = DuckDuckGoSearchRun()
337
  Python_REPL = PythonREPL()
 
354
  description = "Useful when you need python to answer questions. You should input python code."
355
  )
356
 
357
+ wikipedia_tool2 = Tool(
358
+ name = "Wikipedia Search",
359
+ func = Wikipedia.run,
360
+ description = "Useful to search a topic, country or person when there is no availble information in vector database"
361
+ )
362
+
363
+ duckduckgo_tool2 = Tool(
364
+ name = "Duckduckgo Internet Search",
365
+ func = Netsearch.run,
366
+ description = "Useful to search information in internet when it is not available in other tools"
367
+ )
368
+
369
+ python_tool2 = Tool(
370
+ name = "Python REPL",
371
+ func = Python_REPL.run,
372
+ description = "Useful when you need python to answer questions. You should input python code."
373
+ )
374
+
375
+
376
+
377
  # tools = [DB_Search(), wikipedia_tool, duckduckgo_tool, python_tool]
378
 
379
 
 
402
  description ='Useful for when you need to answer questions about math.'
403
  )
404
 
405
+
406
+
407
  tools = [DB_Search(), duckduckgo_tool, wikipedia_tool, python_tool, math_tool, Text2Sound_tool]
408
 
409
+ tools2 = [DB_Search2(), duckduckgo_tool2, wikipedia_tool2, python_tool2, math_tool, Text2Sound_tool2]
410
+
411
  # tools = load_tools(["Vector Database Search","Wikipedia Search","Python REPL","llm-math"], llm=llm)
412
 
413
  embeddings = OpenAIEmbeddings(deployment="model_embedding", chunk_size=15)
 
486
 
487
  input_variables=["input", "chat_history", "agent_scratchpad"]
488
 
489
+ agent_ZEROSHOT_REACT = initialize_agent(tools2, llm,
490
  # agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
491
  agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
492
  verbose = True,
 
510
 
511
  # llm_chain_openai = LLMChain(llm=llm, prompt=prompt_openai, verbose=True)
512
 
513
+ agent_core = ZeroShotAgent(llm_chain=llm_chain, tools=tools2, verbose=True)
514
 
515
  agent_core_openai = OpenAIMultiFunctionsAgent(llm=llm, tools=tools, prompt=prompt_openai, verbose=True)
516
 
517
  agent_ZEROSHOT_AGENT = AgentExecutor.from_agent_and_tools(
518
  agent=agent_core,
519
+ tools=tools2,
520
  verbose=True,
521
  # memory=memory,
522
  handle_parsing_errors = True,