Nancy1906 commited on
Commit
880805c
·
verified ·
1 Parent(s): 81917a3

Create my_tools.py

Browse files

Herramientas incluidas
Buscador Web (Buscador_Web):Usa DuckDuckGo para hacer búsquedas rápidas de información en internet. Devuelve un resumen de los primeros resultados.
Wikipedia (Wikipedia):Extrae una explicación corta de un concepto desde Wikipedia.
Ideal para definiciones, fechas, personajes históricos, etc.
Calculadora (Calculadora):Evalúa expresiones matemáticas usando math (funciones trigonométricas, potencias, etc.).

Files changed (1) hide show
  1. my_tools.py +56 -0
my_tools.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import Tool
2
+ from duckduckgo_search import DDGS
3
+ import math
4
+ import wikipedia
5
+
6
+ # --- 1. Herramienta de búsqueda en la web ---
7
+ def web_search(query: str) -> str:
8
+ try:
9
+ results = []
10
+ with DDGS() as ddgs:
11
+ for r in ddgs.text(query, max_results=3):
12
+ results.append(f"{r['title']}: {r['body']}")
13
+ return "\n".join(results) if results else "Sin resultados"
14
+ except Exception as e:
15
+ return f"Error en búsqueda web: {e}"
16
+
17
+ web_search_tool = Tool.from_function(
18
+ name="Buscador_Web",
19
+ description="Usa DuckDuckGo para buscar en internet sobre el tema dado.",
20
+ function=web_search
21
+ )
22
+
23
+ # --- 2. Herramienta de Wikipedia ---
24
+ def wikipedia_lookup(query: str) -> str:
25
+ try:
26
+ summary = wikipedia.summary(query, sentences=3, auto_suggest=False)
27
+ return summary
28
+ except Exception as e:
29
+ return f"No se pudo obtener resultado de Wikipedia: {e}"
30
+
31
+ wikipedia_tool = Tool.from_function(
32
+ name="Wikipedia",
33
+ description="Busca una definición o explicación corta de un concepto en Wikipedia.",
34
+ function=wikipedia_lookup
35
+ )
36
+
37
+ # --- 3. Calculadora ---
38
+ def calculator(expression: str) -> str:
39
+ try:
40
+ result = eval(expression, {"__builtins__": {}}, math.__dict__)
41
+ return str(result)
42
+ except Exception as e:
43
+ return f"Error de cálculo: {e}"
44
+
45
+ calculator_tool = Tool.from_function(
46
+ name="Calculadora",
47
+ description="Resuelve expresiones matemáticas, incluyendo funciones trigonométricas, logaritmos, potencias, etc.",
48
+ function=calculator
49
+ )
50
+
51
+ # --- Lista de herramientas disponibles ---
52
+ tools = [
53
+ web_search_tool,
54
+ wikipedia_tool,
55
+ calculator_tool,
56
+ ]