Construiremos un sitio de documentación impulsado por IA que responde preguntas, proporciona información contextualmente relevante y ofrece enlaces para una exploración más profunda. Para empezar, creamos incrustaciones para nuestros datos personalizados escritos en archivos de rebajas. Utilizamos el divisor de texto de la cadena Lang, la tienda vectorial MongoDB Atlas, las incrustaciones de IA abierta, el cliente MongoDB y .env. Después de preparar la conexión MongoDB y procesar los archivos de documentación, almacenamos las incrustaciones en nuestra colección MongoDB. Configuramos un índice de búsqueda en la colección utilizando una configuración JSON. Finalmente, configuramos la aplicación Next.js, utilizando el SDK de IA de Vercel, LingChain y los modelos de chat de OpenAI.
semánticamente relacionado con la consulta del usuario, y luego devolvemos esos resultados. Así que vamos a echar un vistazo a cómo construir una aplicación REACT con estas tecnologías. Y esto es lo que vamos a construir, un sitio de documentación impulsado por IA. Ahora, este sitio no sólo responderá preguntas sino que también proporcionará información contextualmente relevante, resumirá respuestas y proporcionará enlaces a páginas relevantes para profundizar. Ahora, lo primero que necesitamos hacer es crear incrustaciones para nuestros datos personalizados data. Ahora, ya que este chatbot va a referenciar nuestra documentación personalizada, asumiremos que está escrita en archivos de rebajas. Y así esta función de incrustación es sólo una aplicación de nodo, un solo archivo con menos de 60 líneas de código, y vamos a construir nuestra aplicación Next.js. Tenemos el divisor de texto de la cadena Lang, la tienda vectorial MongoDB Atlas, las incrustaciones de IA abierta, el cliente MongoDB, y luego .env. Debajo de eso, prepararemos nuestra conexión MongoDB utilizando nuestra cadena de conexión y obtendremos la colección que queremos usar. Y luego necesitamos procesar nuestros archivos de documentación. Tenemos que dividirlos en trozos que el codificador pueda usar. Así que crearemos un divisor utilizando el divisor de texto de caracteres recursivos de la cadena Lang para dividir los archivos de rebajas que estamos obteniendo. Y luego crearemos nuestra salida, esperando el divisor, creando la función de documentos, pasándole nuestros documentos. Y por último, utilizaremos la cadena Lang para almacenar estas incrustaciones en nuestra colección MongoDB. Estamos pasando a MongoDB Atlas vector search la salida, creando nuevas incrustaciones de IA, y luego dándole los metadatos para la colección, nombre del índice, clave de texto y clave de incrustación. Estas claves son los campos que contienen el texto original y los vectores de incrustación. Y este es un ejemplo de lo que termina en nuestra base de datos. Tenemos nuestro texto original en formato de rebajas, nuestras incrustaciones vectoriales y metadatos que identifican la parte del documento de la que proviene este texto . Y una última cosa que tenemos que hacer para preparar los datos para la búsqueda es configurar un índice de búsqueda en nuestra colección en MongoDB. Puedes hacerlo a través de la interfaz de usuario de Atlas utilizando esta configuración JSON. Así que aquí estamos especificando las dimensiones del modelo de codificador que estamos utilizando. En este caso, es 1536. Y luego también puedes definir la similitud y el tipo a utilizar. Bueno, ahora la parte divertida, vamos a configurar la aplicación Next.js. Si quieres, puedes utilizar el iniciador LingChain de Next.js, que ya tiene todo configurado excepto para el controlador de MongoDB, así que también necesitarás instalar MongoDB con npm. A continuación, añade tu clave de API de OpenAI al archivo de variables de entorno. Ahora esta es la ruta de chat predeterminada proporcionada con la plantilla LingChain de Next.js. Podemos ver que utiliza el SDK de IA de Vercel junto con LingChain, los modelos de chat de OpenAI y algunos ayudantes de esquema de LingChain. Ahora, más abajo en este manejador de rutas, estamos creando un chat de OpenAI, y aquí podemos especificar qué modelo nos gustaría utilizar. También estamos configurando la transmisión en verdadero porque queremos que la respuesta comience a poblarse en la interfaz de usuario lo más rápido posible y se transmita al usuario, y luego devuelve la respuesta de transmisión. Y así en esta ruta es donde necesitamos inyectar nuestros propios datos personalizados data.
Comments