wp-plugin-bluehost
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home1/spotsail/public_html/martra/wp-includes/functions.php on line 6114Como disclaimer me gustar\u00eda indicar que este art\u00edculo es tan solo un ejemplo creado para ver como funciona la herramienta LangChain. Hay muchas formas diferentes de crear un sistema automoderado de comentarios, la que veremos en este art\u00edculo es una soluci\u00f3n muy simple. <\/p>\n\n\n\n
La idea b\u00e1sica es aislar al Modelo que acaba publicando la respuesta, de la entrada del usuario a la que debe contestar. <\/p>\n\n\n\n
Es decir, no vamos a permitir que el modelo que interpreta el texto del usuario sea el responsable \u00faltimo de publicar la respuesta. De esta forma protegemos al sistema ante posibles intentos de exploit por parte del usuario.<\/p>\n\n\n\n
Los pasos que seguir\u00e1 nuestra cadena de LangChain para intentar que nuestro moderador no se vuelva loco son: <\/p>\n\n\n\n
Como se puede ver, el segundo modelo es el responsable de decidir si la respuesta se puede publicar, por lo tanto vamos a evitar que tenga contacto con las entradas de los usuarios. <\/p>\n\n\n\n
El art\u00edculo est\u00e1 basado en un notebook donde he usado dos Modelos de OpenAI. Pero existen dos notebooks m\u00e1s complementarios, que usan la misma soluci\u00f3n con modelos de Hugging Face. En uno de ellos se usa el modelo EleutherAI\/gpt-j-6b<\/strong>, y en el otro meta-llama\/Llama-2-7b-chat-hf<\/strong>, que es de la famosa familia de modelos LLAMA-2 liberada por Meta. <\/p>\n\n\n\n Los resultados m\u00e1s acordes con lo buscado los he conseguido con los modelos de OpenAI, aparte de que su ejecuci\u00f3n es mucho m\u00e1s r\u00e1pida. Pero tiene el handicap de que se necesita disponer de una cuenta en OpenAI para usar su API de pago. Por lo que pod\u00e9is usar cualquiera de los otros dos notebooks, aunque el art\u00edculo se base principalmente en el que usa los modelos de OpenAI. <\/p>\n\n\n\n Los tres notebooks se encuentran en el repositorio del curso de Grandes Modelos de Lenguaje<\/a> en GitHub. Os recomiendo que le deis una estrella o lo sig\u00e1is y as\u00ed podr\u00e9is estar al tanto de cuando se incorpore un nuevo notebook o art\u00edculo explicando alguna parte del curso.<\/p>\n\n\n\n El entorno de desarrollo seleccionado ha sido Colab<\/strong>, es posible que si decid\u00eds ejecutar el notebook en vuestra m\u00e1quina algunas de las librer\u00edas ya las teng\u00e1is instaladas. <\/p>\n\n\n\n Empezaremos instalando LangChain y OpenAI. <\/p>\n\n\n\n Langchain<\/strong> es la librer\u00eda que nos permitir\u00e1 enlazas las llamadas entre los dos modelos de lenguaje. <\/p>\n\n\n\n Si est\u00e1is interesados en m\u00e1s art\u00edculos usos de la librer\u00eda LangChain<\/strong> pod\u00e9is encontrar los siguientes art\u00edculos: <\/p>\n\n\n\n La Librer\u00eda de OpenAI<\/strong> nos permitir\u00e1 utilizar la API de la famosa empresa creadora de ChatGPT y as\u00ed acceder a sus modelos. <\/p>\n\n\n\n Ahora vamos a importar las librer\u00edas necesarias. <\/p>\n\n\n\n Importamos las librer\u00edas que nos van a permitir crear las cadenas con LangChain<\/strong> y interactuar con los modelos. <\/p>\n\n\n\n Vamos a necesitar una API de key de OpenAI para poder realizar llamadas a su API. Para crear una key, en el caso de ya tener cuenta, lo pod\u00e9is hacer en esta URL: https:\/\/platform.openai.com\/account\/api-keys<\/a>. Si no dispon\u00e9is de una cuenta de OpenAI la ten\u00e9is que crear y dar una tarjeta de cr\u00e9dito. Para hacer pruebas y desarrollos es un servicio muy barato, raro es el mes que les pago m\u00e1s de dos Euros haciendo las pruebas para el curso de LLMs<\/a> y los art\u00edculos. <\/p>\n\n\n\n Esta cadena va a recibir la entrada del usuario y crear\u00e1 una respuesta. El modelo no sabe que su respuesta sera pasada a otro modelo, responsable de realizar la moderaci\u00f3n. El cree que est\u00e1 respondiendo directamente al usuario. <\/p>\n\n\n\n Vamos a usar uno de los modelos m\u00e1s simples actualmente disponibles para usar con la API de OpenAI. Tenemos que tener en cuenta que cuanto m\u00e1s simple el modelo, m\u00e1s r\u00e1pida ser\u00e1 la respuesta y menor el coste de ejecuci\u00f3n de cada consulta. <\/p>\n\n\n\n La elecci\u00f3n de este modelo ha sido intencionada, ya que es m\u00e1s sencillo obtener alguna respuesta “poco educada” de \u00e9l, que de los modelos m\u00e1s nuevos. <\/p>\n\n\n\n\n
Instalar y cargar las librer\u00edas necesarias. <\/h2>\n\n\n\n
#Install de LangChain and openai libraries.\n%pip install langchain\n%pip install openai<\/pre>\n\n\n\n
\n
\n
#PrompTemplate is a custom class that provides funcrionality to create prompts\nfrom langchain import PromptTemplate\nfrom langchain.llms import OpenAI\nfrom langchain.chains import LLMChain\n\nimport torch\nimport os\nimport numpy as np\n\nos.environ[\"OPENAI_API_KEY\"] = #\"here-your-api-key\" #openai_api_key<\/pre>\n\n\n\n
Creaci\u00f3n del primer modelo de lenguaje. <\/h2>\n\n\n\n
#Simple LLM but enought smart.\nassistant_llm = OpenAI(model=\"text-davinci-001\")<\/pre>\n\n\n\n
\n