Esta publicación de blog está coescrita con Jonas Neuman de aquí Technologies.
Aquí tecnologíasun pionero de 40 primaveras en la tecnología de mapeo y ubicación, colaboró con el AWS Generation AI Innovation Center (Genaiic) Para mejorar la productividad del desarrollador con un asistente de codificación generativo de IA. Esta utensilio innovadora está diseñada para mejorar la experiencia de incorporación para aquí la API de mapas de hipermercado para JavaScript. Aquí hay el uso de la IA generativa capacita a su comunidad de desarrolladores globales para traducir rápidamente las consultas de idioma natural en visualizaciones de mapas interactivas, racionalizando la evaluación y la habilitación de los servicios de mapeo aquí.
Los nuevos desarrolladores que prueban estas API por primera vez a menudo comienzan con preguntas como «¿Cómo puedo ocasionar una ruta a pie desde el punto A a B?» o «¿Cómo puedo mostrar un círculo cerca de de un punto?» Aunque aquí está la documentación de API extensa, aquí reconoció que acelerar el proceso de incorporación podría impulsar significativamente la décimo del desarrollador. Su objetivo es mejorar las tasas de retención y crear defensores de productos competentes a través de experiencias personalizadas.
Para crear una alternativa, aquí colaboró con el Genaiic. Nuestra encargo conjunta era crear un asistente de codificación inteligente de IA que pudiera proporcionar explicaciones y soluciones de código ejecutable en respuesta a las consultas de idioma natural de los usuarios. El requisito era construir un sistema escalable que pudiera traducir preguntas de idioma natural en código HTML con JavaScript integrado, astuto para la representación inmediata como un carta interactivo que los usuarios pueden ver en la pantalla.
El equipo necesitaba construir una alternativa que lograra lo ulterior:
- Proporcionar valía y confiabilidad entregando un código correcto y renderizable que sea relevante para la pregunta de un sucesor
- Allanar una interacción de desarrollador natural y productiva al proporcionar código y explicaciones a disminución latencia (a partir de este escrito, cerca de de 60 segundos) mientras se mantiene la conciencia del contexto para las preguntas de seguimiento
- Preserve la integridad y la utilidad de la función en el interior del sistema y la marca mediante la implementación de filtros sólidos para consultas irrelevantes o inviables
- Ofrezca un costo arreglado del sistema para persistir un ROI positivo cuando se escalera en todo el sistema API
Juntos, aquí y el Genaiic construyó una alternativa basada en Roca mamá de Amazon que equilibraron objetivos con compensaciones inherentes. Amazon Bedrock es un servicio totalmente administrado que proporciona llegada a modelos de colchoneta (FMS) desde las principales compañías de inteligencia sintético a través de una sola API, yuxtapuesto con un amplio conjunto de capacidades, lo que le permite crear aplicaciones generativas de IA con seguridad incorporada, privacidad y funciones de IA responsables. El servicio le permite tantear y personalizar de forma privada diferentes FM utilizando técnicas como ajuste y ajuste y Concepción aumentada de recuperación (Trapo) y construir agentes que ejecutan tareas. Amazon Bedeck no tiene servidor, alivia las micción de papeleo de infraestructura y se integra perfectamente con los servicios de AWS existentes.
Construido en el conjunto integral de servicios administrados y sin servidor de AWS, incluidos Amazon Bedrock FMS, Bases de conocimiento de Amazon Bedrock para la implementación del trapo, Fraude de roca amazónica para filtrado de contenido, y Amazon Dynamodb Para la papeleo de la conversación, la alternativa ofrece un asistente de codificación robusto y escalable sin la sobrecarga de la papeleo de infraestructura. El resultado es una utensilio maña y obvio de usar que puede mejorar la experiencia del desarrollador y proporcionar una forma novedosa para la exploración de API y la alternativa rápida de las experiencias de ubicación y navegación.
En esta publicación, describimos los detalles de cómo se logró esto.
Conjunto de datos
Utilizamos los siguientes medios como parte de esta alternativa:
- Documentación de dominio – Utilizamos dos medios disponibles públicamente: Aquí Maps API para JavaScript Developer Guide y Aquí Maps API para narración de API de JavaScript. La Itinerario del desarrollador ofrece explicaciones conceptuales, y la narración de API proporciona información detallada de la función API.
- Ejemplos de ejemplos – Aquí proporcionó 60 casos, cada uno que contiene una consulta de sucesor, una alternativa de código HTML/JavaScript y una breve descripción. Estos ejemplos abarcan múltiples categorías, incluida geodatos, marcadoresy geoshapesy se dividieron en conjuntos de entrenamiento y prueba.
- Consultas fuera de logro – Aquí proporcionó muestras de consultas más allá de la API de mapas aquí para el efecto de JavaScript, al que el maniquí de idioma conspicuo (LLM) no debe contestar.
Descripción militar de la alternativa
Para desarrollar el asistente de codificación, diseñamos e implementamos un flujo de trabajo de trapo. Aunque las LLM en serie pueden ocasionar código, a menudo trabajan con conocimiento obsoleto y no pueden adaptarse a la última API de Maps aquí para cambios de JavaScript o mejores prácticas. Aquí MAPS API para la documentación de JavaScript puede mejorar significativamente los asistentes de codificación al proporcionar un contexto preciso y actualizado. El almacenamiento de la API de mapas aquí para la documentación de JavaScript en una colchoneta de datos vectorial permite al asistente de codificación recuperar fragmentos relevantes para consultas de usuarios. Esto permite que la LLM fundamentará sus respuestas en la documentación oficial en circunstancia de datos de capacitación potencialmente anticuados, lo que lleva a sugerencias de código más precisas.
El ulterior diagrama ilustra la cimentación militar.
La cimentación de soluciones comprende cuatro módulos esencia:
- Módulo de pregunta de seguimiento -Este módulo permite la respuesta de las preguntas de seguimiento mediante el manejo de conversaciones contextuales. Los historiales de chat se almacenan en DynamoDB y se recuperan cuando los usuarios plantean nuevas preguntas. Si existe un historial de chat, se combina con la nueva pregunta. El LLM luego lo procesa para reformular las preguntas de seguimiento en consultas independientes para el procesamiento posterior. El módulo mantiene la conciencia del contexto al tiempo que reconoce los cambios en el tema, preservando la pregunta llamativo cuando la nueva pregunta se desvía del contexto de conversación preparatorio.
- Filtrado de efecto y módulo de visa – Este módulo evalúa si las consultas se encuentran en el interior de la API de mapas aquí para el efecto de JavaScript y determina su viabilidad. Aplicamos barandillas de roca mamá de Amazon y Anthrope’s Claude 3 Haiku en Amazon Bedrock para filtrar preguntas fuera de efecto. Con una breve descripción del idioma natural, las barandillas de roca mamá de Amazon ayudan a puntualizar un conjunto de temas fuera de efecto para cortar para el asistente de codificación, por ejemplo, temas sobre otros productos aquí. Amazon Bedrock -Buardroels todavía ayuda a filtrar contenido dañino que contiene temas como discurso de odio, insultos, sexo, violencia y mala conducta (incluida la actividad criminal) y ayuda a proteger contra ataques rápidos. Esto asegura que el asistente de codificación siga las políticas de IA responsables. Para las consultas en el efecto, empleamos el maniquí Claude 3 Haiku de Anthrope para evaluar la viabilidad analizando tanto la consulta del sucesor como los documentos de dominio recuperados. Seleccionamos Claude Haiku 3 de Anthrope por su permanencia magnífico de rendimiento y velocidad. El sistema genera respuestas en serie para consultas fuera de efecto o factibles, y las preguntas viables proceden a la gestación de respuesta.
- Módulo de colchoneta de conocimiento – Este módulo utiliza bases de conocimiento de roca mamá de Amazon para la indexación de documentos y las operaciones de recuperación. Amazon Bedrock Knowledge Bases es un servicio administrado integral que simplifica el proceso de trapo de extremo a extremo. Maneja todo, desde la ingestión de datos hasta la indexación y la recuperación y la gestación automáticamente, eliminando la complejidad de construir y persistir integraciones personalizadas y ordenar flujos de datos. Para este asistente de codificación, utilizamos bases de conocimiento de roca mamá de Amazon para la indexación y recuperación de documentos. Las múltiples opciones para fragmentos de documentos, gestación de incrustación y métodos de recuperación ofrecidos por las bases de conocimiento de Amazon Bedrock lo hacen muy adaptable y nos permiten probar e identificar la configuración óptima. Creamos dos índices separados, uno para cada documento de dominio. Este enfoque de doble índice asegura que el contenido se recupere de ambas fuentes de documentación para la gestación de respuesta. El proceso de indexación implementa fragmentos jerárquicos con el Cohere incorporar inglés v3 Maniquí en Amazon Bedrock y la recuperación semántica se implementa para la recuperación de documentos.
- Módulo de gestación de respuesta -El módulo de gestación de respuesta procesa en el efecto y consultas factibles utilizando Soneto Claude 3.5 de Anthrope Maniquí en Amazon Bedrock. Combina consultas de usuarios con documentos recuperados para ocasionar código HTML con código JavaScript integrado, capaz de hacer mapas interactivos. Encima, el módulo proporciona una descripción concisa de los puntos esencia de la alternativa. Seleccionamos el soneto Claude 3.5 de Anthrope para sus capacidades de gestación de código superior.
Orquestación de soluciones
Cada módulo discutido en la sección preparatorio se descompuso en subtarsas más pequeñas. Esto nos permitió modelar la funcionalidad y varios puntos de valor en el interior del sistema como un croquis acíclico dirigido (DAG) utilizando Langgraph. Un DAG es un croquis donde los nodos (vértices) están conectados por bordes dirigidos (flechas) que representan relaciones, y de forma crucial, no hay ciclos (bucles) en el croquis. Un DAG permite la representación de dependencias con una orden garantizada, y ayuda a habilitar la ejecución segura y apto de las tareas. La orquestación de Langgraph tiene varios beneficios, como la ejecución de tareas paralelas, la legibilidad del código y la capacidad de mantenimiento a través de la papeleo estatal y el soporte de transmisión.
El ulterior diagrama ilustra el flujo de trabajo del asistente de codificación.
Cuando un sucesor envía una pregunta, se invoca un flujo de trabajo, comenzando en el nodo de preguntas reformuladas. Este nodo maneja la implementación del módulo de preguntas de seguimiento (Módulo 1). Aplicar la balaustrada, recuperar documentos y revisar los nodos de preguntas ejecutados en paralelo, utilizando la pregunta de entrada reformulada. El nodo de balaustrada de aplicaciones utiliza temas denegados de las barandillas de roca mamá de Amazon para hacer cumplir los límites y aplicar salvaguardas contra las entradas dañinas, y el nodo de preguntas de revisión filtra consultas fuera de efecto utilizando Claude 3 Haiku (Módulo 2) de Anthrope. El nodo de documentos de recuperación recupera documentos relevantes de la colchoneta de conocimiento de Amazon Bedrock para proporcionar al maniquí de idioma la información necesaria (Módulo 3).
Las futuro de la balaustrada aplican los nodos de la pregunta de revisión y la invocación de la ulterior invocación del nodo. Si la entrada pasa ambas comprobaciones, el nodo de documentos de revisión evalúa la viabilidad de la pregunta al analizar si puede responderse con los documentos recuperados (Módulo 2). Si es factible, el nodo de respuesta de gestación avala a la pregunta y el código y la descripción se transmiten a la interfaz de sucesor, lo que permite al sucesor comenzar a obtener comentarios del sistema en segundos (Módulo 4). De lo contrario, el nodo de respuesta de sillar devuelve una respuesta predefinida. Finalmente, el nodo de historial de chat de modernización mantiene persistentemente el historial de conversación para narración futura (Módulo 1).
Esta tubería respalda la capacidad de chatbot del asistente de código, proporcionando una experiencia apto y obvio de usar para los desarrolladores que buscan orientación para implementar la API de mapas aquí para JavaScript. El ulterior código y captura de pantalla es un ejemplo del código generado por el maniquí y el carta de código para la consulta “¿Cómo desobstruir una infoBubble al hacer clic en un contador?
"; // Agregue un audición de eventos de clic al contador contador.AdDeventListener ('tap', function (evt) {// crea un objeto de burbujas de información var bubble = new h.ui.infobubble (evt.target.getGeometrety (), {content: bubblecontentt}); // agrego burbuje /** * El código de inicialización del carta de Boilerplate comienza a continuación: * // Paso 1: Inicializar la comunicación con la plataforma // en su propio código, reemplace la ventana variable. H.map (document.getElementById ('map'), defaultLayers.vector.frecuente.map, {Center: {Lat: 28.6071, Lng: 77.2127}, Teleobjetivo: 13, Pixelratio: Window.DevicePixelRatio || 1}); Window.AdDeventListener ('RESEDE', () => MAP.GETVIEWPORT (). RESEDE ()); Componentes de ui var ui = h.ui.ui.createdefault (map, defaultLayers);