chattest / chat_functions /buscar_google.py
Miguel Diaz
Dev: Avance
edcdbb0
import json
import os
from googleapiclient.discovery import build
from logger import logger
activo = True
try:
api_key = os.getenv("GOOGLE_API_KEY")
cse_id = os.getenv("GOOGLE_CSE_ID")
except:
api_key = False
cse_id = False
if not api_key or not cse_id:
activo = False
user_text = "Buscando en google"
info = {
"type": "function",
"function":{
"name": "buscar_google",
"description": "Un API de Búsqueda de Google. Útil cuando necesitas responder preguntas sobre\
eventos actuales, personas o noticias. Utiliza esta herramienta especialmente cuando busques\
información sobre eventos o personas. El resultado será un JSON { \n\
\"conseguidos\": [\n\
{ \n\
\"titulo\": este contendrá el titulo del enlace , \n\
\"link\": este contendrá el enlace a la pagina donde está la información, puedes usar este enlace en \
la herramienta leer_pagina_web si está disponible para obtener más información, \n\
\"resumen\": este contendrá un resumen del contenido de la pagina \n\
},\n\
...\n\
] \n\
}",
"parameters": {
"type": "object",
"properties": {
"busqueda": {
"type": "string",
"description": "El termino a buscar en google para obtener información. e.g. Alejandro Magno",
},
},
"required": ["busqueda"],
}}
}
def ejecutar(busqueda):
try:
service = build("customsearch", "v1", developerKey=api_key)
results = service.cse().list(q=busqueda, cx=cse_id).execute()
retorno = {}
retorno["conseguidos"] = []
for result in results["items"]:
retorno["conseguidos"].append({
"titulo": result["title"],
"link": result["link"],
"resumen": result["snippet"]
})
return json.dumps(retorno)
except Exception as e:
logger.error(repr(e))
return json.dumps({"status": "api failed"})