Cómo crear GPT avanzados para tu sitio web (Acciones personalizadas con la API de Asistentes)

Cómo crear GPT avanzados para tu sitio web (Acciones personalizadas con la API de Asistentes)

April 2, 2024
Compartir
autor: Big Y

En este tutorial, te mostraré cómo construir un chatbot de generación de leads para empresas solares utilizando Google Chat y OpenAI. Esta es una excelente manera de generar leads y proporcionar a los clientes información sobre tus productos y servicios. Utilizaremos la API de Assistant, que es una nueva herramienta poderosa que te permite construir aplicaciones de IA conversacionales.

**Prerrequisitos**

Para seguir este tutorial, necesitarás lo siguiente:

* Una cuenta de Google Cloud

* Una cuenta de Replit

* Una cuenta de Voiceflow

* Una cuenta de Airtable

* Una base de conocimientos de código abierto (como Google Search o Wikipedia)

* El SDK de Assistant

* La CLI de Assistant

* La API de Webhooks de Assistant

**Paso 1: Crear un proyecto de Google Cloud**

Primero, necesitamos crear un proyecto de Google Cloud. Esto nos permitirá acceder a la API de Assistant y otros servicios de Google Cloud.

1. Ve a la [Consola de Google Cloud Platform](https://console.cloud.google.com/) y haz clic en **Crear proyecto**.

2. Dale un nombre a tu proyecto y haz clic en **Crear**.

3. Haz clic en **menú hamburguesa** > **APIs y servicios** > **Biblioteca**.

4. Busca **Assistant** y haz clic en **Habilitar**.

5. Haz clic en **menú hamburguesa** > **IAM y administración** > **Claves de API**.

6. Haz clic en **Crear clave** y selecciona **Clave de API**.

7. Copia la clave de API y guárdala en un lugar seguro.

**Paso 2: Crear una cuenta de Replit**

Replit es un IDE en línea gratuito que podemos usar para desarrollar nuestro chatbot.

1. Ve a [Replit](https://replit.com/) y crea una cuenta.

2. Haz clic en **Nuevo Repl** y selecciona **Python**.

3. Copia y pega el siguiente código en el editor:

```

import os

import requests

import json

def create_assistant(modelo, herramientas, base_de_conocimientos):

"""Crea una instancia de Assistant con el modelo, las herramientas y la base de conocimientos especificados."""

id_assistant = os.getenv("ID_ASSISTANT")

if id_assistant is None:

raise ValueError("No se ha establecido ningún ID de assistant")

data = {

"modelo": modelo,

"herramientas": herramientas,

"base_de_conocimientos": base_de_conocimientos,

}

response = requests.post(

f"https://dialogflow.googleapis.com/v2/agents/{id_assistant}",

headers={"Authorization": f"Bearer {os.getenv('CREDENCIALES_APLICACION_GOOGLE')}"},

data=json.dumps(data),

)

if response.status_code != 200:

raise Exception(f"No se pudo crear el assistant: {response.status_code}")

return response.json()["assistant"]

def obtener_lead(id_hilo):

"""Obtiene un lead del ID de hilo especificado."""

clave_api_airtable = os.getenv("CLAVE_API_AIRTABLE")

id_base_airtable = os.getenv("ID_BASE_AIRTABLE")

response = requests.get(

f"https://api.airtable.com/v0/{id_base_airtable}/Leads?filterByFormula={'threadId = ' + id_hilo}",

headers={"Authorization": f"Bearer {clave_api_airtable}"},

)

if response.status_code != 200:

raise Exception(f"No se pudo obtener el lead: {response.status_code}")

return response.json()["records"][0]

def main():

"""Función principal."""

# Crea el assistant.

assistant = create_assistant(

os.getenv("ID_MODELO"),

os.getenv("ID_HERRAMIENTAS"),

os.getenv("ID_BASE_CONOCIMIENTOS"),

)

# Inicia el assistant.

response = requests.post(

f"https://dialogflow.googleapis.com/v2/agents/{assistant['id']}/conversations",

headers={"Authorization": f"Bearer {os.getenv('CREDENCIALES_APLICACION_GOOGLE')}"},

data=json.dumps({"text": "Hola"}),

)

# Obtén el lead.

lead = obtener_lead(response.json()["conversation"]["id"])

# Imprime la información del lead

- End -
VOC AI Inc. 8 The Green,Ste A, in the City of Dover County of Kent, Delaware Zip Code: 19901 Copyright © 2024 VOC AI Inc.All Rights Reserved. Términos y condiciones Política de privacidad
Este sitio web utiliza cookies
VOC AI utiliza cookies para garantizar que el sitio web funcione correctamente, para almacenar cierta información sobre sus preferencias, dispositivos y acciones anteriores. Estos datos son agregados o estadísticos, lo que significa que no podremos identificarle individualmente. Puede encontrar más información sobre las cookies que utilizamos y sobre cómo retirar su consentimiento en nuestro Política de privacidad.
Utilizamos Google Analytics para mejorar la experiencia del usuario en nuestro sitio web. Al continuar utilizando nuestro sitio, usted acepta el uso de cookies y la recopilación de datos por parte de Google Analytics.
¿Está de acuerdo en aceptar estas cookies?
Aceptar todas las cookies
Rechazar todas las cookies