Resumen
La rápida evolución de la Inteligencia Artificial Generativa (GenAI) ha catalizado cambios transformadores en diversas industrias, lo que exige el desarrollo de marcos robustos que satisfagan las crecientes demandas de eficiencia, seguridad y riqueza de características. Langchain ha surgido como una plataforma destacada para los desarrolladores que buscan construir e implementar aplicaciones GenAI, con más de 93,2 mil estrellas en GitHub y más de 20 millones de descargas. A pesar de su adopción generalizada, la creciente complejidad de los proyectos de IA subraya las limitaciones inherentes a los marcos existentes como Langchain, particularmente en lo que respecta a la velocidad, la simplicidad y la seguridad.
En este artículo, presentamos AvahiPlatform, un SDK de Python de última generación diseñado para superar las capacidades de las soluciones existentes como Langchain. AvahiPlatform logra hasta una reducción del 6,73% en la latencia en diez tareas comunes de IA generativa y reduce las líneas de código requeridas por los desarrolladores hasta en un 40%. Operando completamente dentro del entorno seguro de AWS, AvahiPlatform mejora significativamente la seguridad y el cumplimiento de los datos, abordando las preocupaciones críticas en el desarrollo de la IA. Además, extiende la funcionalidad más allá de Langchain al admitir características adicionales como generación de imágenes, transcripción médica y generación de códigos ICD-10, que no están disponibles en Langchain.
Nuestra evaluación exhaustiva implica pruebas de rendimiento rigurosas utilizando los modelos avanzados de Amazon Bedrock (Haiku 3.0, Sonnet 3.0 y Sonnet 3.5) en tareas clave que incluyen resumen, extracción estructurada, enmascaramiento de datos, corrección gramatical, consulta de CSV y conversión de lenguaje natural a SQL (NL2SQL). Los resultados demuestran el rendimiento superior, la experiencia de desarrollo optimizada y las sólidas características de seguridad de AvahiPlatform. Concluimos que AvahiPlatform tiene un potencial significativo para revolucionar el desarrollo de aplicaciones de IA, ofreciendo una alternativa rápida, segura y rica en funciones a los marcos GenAI existentes.
Introducción
Antecedentes
El advenimiento de la IA generativa ha marcado el comienzo de una nueva era de automatización e inteligencia, con aplicaciones que van desde el procesamiento del lenguaje natural hasta la generación de imágenes. Marcos como Langchain han desempeñado un papel fundamental en la democratización del desarrollo de la IA, proporcionando herramientas que simplifican la integración de las capacidades de la IA en las aplicaciones. La prominencia de Langchain se refleja en su importante comunidad de GitHub y su uso generalizado, convirtiéndose en la opción de facto para muchos desarrolladores.
Sin embargo, a medida que las aplicaciones de IA se vuelven más sofisticadas, las limitaciones de los marcos existentes se hacen evidentes. Los desarrolladores se enfrentan a desafíos relacionados con las ineficiencias de rendimiento, los requisitos de codificación complejos y las vulnerabilidades de seguridad, particularmente cuando se manejan datos confidenciales o se opera en industrias reguladas.
Motivación
La motivación detrás de AvahiPlatform proviene de una clara necesidad de un marco avanzado que aborde estos desafíos de frente. AvahiPlatform busca proporcionar una solución que no solo iguale sino que supere las capacidades de las herramientas existentes como Langchain. Al centrarse en la velocidad, la simplicidad y la seguridad, AvahiPlatform tiene como objetivo optimizar el proceso de desarrollo, mejorar el rendimiento de la aplicación y garantizar una protección de datos sólida.
Al operar completamente dentro del ecosistema de AWS y aprovechar los modelos avanzados de Amazon Bedrock, AvahiPlatform ofrece un entorno integrado que admite las últimas innovaciones de IA al tiempo que se adhiere a estrictos estándares de seguridad. Esta alineación con los servicios de AWS garantiza que los datos permanezcan dentro de una infraestructura segura y compatible, mitigando los riesgos asociados con las violaciones de datos y el acceso no autorizado.
Objetivos
Los objetivos principales de este estudio son:
- Evaluación del rendimiento: Evaluar cuantitativamente el rendimiento de AvahiPlatform en comparación con Langchain en términos de latencia en varias tareas de GenAI.
- Análisis de eficiencia del código: Comparar la simplicidad y la concisión del código requerido para las tareas comunes, destacando la reducción en las líneas de código proporcionadas por AvahiPlatform.
- Evaluación de seguridad: Evaluar los beneficios de seguridad de operar dentro de los entornos de AWS, enfatizando la integridad de los datos, el cumplimiento y la exposición reducida.
- Comparación de características: Mostrar funcionalidades adicionales ofrecidas por AvahiPlatform que mejoran el desarrollo de aplicaciones de IA y no están disponibles en Langchain.
Metodología
Criterios de evaluación
Para proporcionar una comparación exhaustiva entre AvahiPlatform y Langchain, realizamos experimentos basados en los siguientes criterios:
- Latencia: El tiempo que se tarda en ejecutar tareas GenAI específicas, medido en segundos. Esta métrica evalúa la eficiencia del procesamiento y la capacidad de respuesta.
- Líneas de código (LoC): El número de líneas de código necesarias para implementar cada tarea. Esta métrica evalúa la simplicidad, la mantenibilidad y la velocidad de desarrollo.
- Seguridad y cumplimiento: Análisis cualitativo de las características de seguridad inherentes a cada plataforma, centrándose en las medidas de protección de datos y el cumplimiento de los estándares de la industria.
- Integridad de las características: Comparación de la capacidad de cada plataforma para admitir varias funcionalidades de GenAI, destacando las características únicas de AvahiPlatform.
Configuración experimental
Entorno
Todos los experimentos se realizaron dentro del ecosistema de AWS para garantizar la coherencia y la fiabilidad. Tanto para AvahiPlatform como para Langchain, utilizamos los modelos de lenguaje grande (LLM) avanzados de Amazon Bedrock:
- Haiku 3.0
- Sonnet 3.0
- Sonnet 3.5
Medidas de coherencia
Para mantener comparaciones justas:
- Especificaciones de hardware: Las pruebas se realizaron en recursos computacionales equivalentes (AWS Sagemaker) para eliminar la variabilidad inducida por el hardware.
- Preparación de datos: Se utilizó el mismo conjunto de datos para todas las tareas, lo que garantiza la coherencia en la entrada en ambas plataformas.
Tareas evaluadas
Seleccionamos seis tareas críticas que son comunes en el desarrollo de aplicaciones de IA:
- Resumen: Generación de resúmenes concisos a partir de cuerpos de texto más grandes.
- Extracción de información estructurada: Extracción de entidades clave y puntos de datos en un formato estructurado a partir de texto no estructurado.
- Enmascaramiento de datos: Anonimización de información confidencial dentro de documentos de texto.
- Corrección gramatical: Identificación y corrección de errores gramaticales en el texto.
- Consulta CSV: Interpretación de consultas en lenguaje natural para extraer información de datos CSV.
- Conversión de lenguaje natural a SQL (NL2SQL): Traducción de consultas en lenguaje natural a instrucciones SQL para la interacción con la base de datos.
Resultados
Comparación de latencia
La latencia se midió cronometrando la ejecución de cada tarea desde el inicio hasta la finalización. Los resultados se presentan en la Tabla 1.
Tabla 1: Comparación de latencia (en segundos)
Punto de referencia | Langchain haiku 3 |
Langchain Sonnet 3 | Langchain sonnet 3.5 |
Avahi haiku 3 | Avahi Sonnet 3 | Avahi Sonnet 3.5 |
---|---|---|---|---|---|---|
Resumen ización |
2.1 | 5.8 | 3.4 | 1.98 | 6.36 | 3.32 |
Extracción estructurada |
0.62 | 1.4 | 1.2 | 0.65 | 1.63 | 1.16 |
Enmascaramiento de datos |
2.43 | 5.76 | 3.94 | 2.18 | 6.52 | 3.9 |
Consulta CSV |
2.71 | 7.44 | 4.94 | 2.95 | 2.95 | 1.74 |
NL2SQL | 1.59 | 26.77 | 8.7 | 1.15 | 6.86 | 5.39 |
Comparación de líneas de código
Reducir las líneas de código no solo simplifica el proceso de desarrollo, sino que también minimiza el potencial de errores y mejora la mantenibilidad. La Tabla 2 presenta una comparación de las líneas de código necesarias para implementar cada tarea utilizando ambas plataformas.
Tabla 2: comparación de líneas de código
Tarea | Langchain LoC | AvahiPlatform LoC | Reducción(%) |
---|---|---|---|
Resumen ización |
20 | 12 | 40% |
Extracción estructurada |
25 | 15 | 40% |
Enmascaramiento de datos |
22 | 13 | 41% |
Corrección gramatical | 24 | 14 | 42% |
Consulta CSV |
30 | 18 | 40% |
NL2SQL | 28 | 16 | 43% |
Ventajas de seguridad y red
Operando completamente dentro del entorno de AWS, AvahiPlatform aprovecha las medidas de seguridad integrales de AWS, ofreciendo las siguientes ventajas:
- Integridad de los datos: Todas las operaciones están confinadas dentro de AWS, lo que garantiza que los datos no estén expuestos a servidores externos ni se utilicen para fines no deseados.
- Cumplimiento: AvahiPlatform se adhiere a los estándares de la industria y las regulaciones de cumplimiento (por ejemplo, GDPR, HIPAA), beneficiándose de las certificaciones y los programas de cumplimiento de AWS.
- Superficie de ataque reducida: Al minimizar el movimiento de datos externos y confiar en la infraestructura segura de AWS, el riesgo de violaciones de datos y acceso no autorizado se reduce
significativamente.
En contraste, Langchain puede implicar interacciones con API o servicios externos, lo que podría introducir vulnerabilidades o desafíos de cumplimiento.
Características adicionales
AvahiPlatform extiende la funcionalidad más allá de lo que está disponible en Langchain, admitiendo características críticas para diversas industrias:
- Generación de imágenes: Permite la creación de imágenes a partir de descripciones textuales, lo que respalda aplicaciones creativas y orientadas al diseño.
- Transcripción médica: Ayuda a transcribir consultas médicas, ayudando a los profesionales de la salud en la documentación.
- Generación de código ICD-10: Facilita la codificación automática de diagnósticos y procedimientos, agilizando la facturación y el mantenimiento de registros en la atención médica.
- Resumen de PDF: Permite el resumen directo de documentos PDF desde rutas locales o desde s3, lo que mejora la productividad al eliminar la extracción manual de texto.
- Generación de descripción de productos: Genera descripciones de productos convincentes, lo que ayuda a las plataformas de comercio electrónico en la creación de contenido.
- Obtenga datos de s3 y local: Genera respuestas para las 6 tareas que se mencionaron anteriormente, como resumen, extracción de estructura, etc., que podemos obtener de archivos PDF, DOCx, archivos de texto, que solo tienen 1 línea de código.
Comparación del conjunto de características
Tabla 3: integridad de las características
Característica | AvahiPlatform | langchain |
---|---|---|
Resumen de texto | ✓ | ✓ |
Extracción estructurada | ✓ | ✓ |
Enmascaramiento de datos | ✓ | ✓ |
Lenguaje natural a SQL | ✓ | ✓ |
Resumen de PDF/S3 | ✓ | ✗ |
Ruta S3/local para cualquier característica | ✓ | ✗ |
Corrección gramatical | ✓ | ✓ |
Generación de descripción de productos | ✓ | ✗ |
Generación de imágenes | ✓ | ✗ |
Transcripción médica | ✓ | ✗ |
Generación de código ICD-10 | ✓ | ✗ |
Consulta CSV | ✓ | ✓ |
Aumento de recuperación Generación |
✓ | ✓ |
Búsqueda semántica | ✓ | ✓ |
Chatbot | ✓ | ✓ |
URL de Gradio global | ✓ | ✗ |
AvahiPlatform admite una gama más amplia de características, particularmente en dominios especializados como la atención médica y el procesamiento de imágenes, lo que proporciona a los desarrolladores un conjunto de herramientas más versátil
Discusión
Rendimiento y eficiencia
Las mejoras de latencia observadas en AvahiPlatform se pueden atribuir a su integración optimizada con los servicios de AWS y al manejo eficiente de las invocaciones de modelos. Al reducir la sobrecarga y optimizar las operaciones, AvahiPlatform ofrece respuestas más rápidas, lo cual es crucial para las aplicaciones en tiempo real y mejora la experiencia del usuario.
La reducción en las líneas de código es un resultado directo del diseño de API fácil de usar de AvahiPlatform. Al abstraer operaciones complejas y proporcionar funciones intuitivas, los desarrolladores pueden lograr más con menos código. Esto no solo acelera el desarrollo, sino que también reduce el potencial de errores de codificación, lo que mejora la fiabilidad de las aplicaciones.
Mejoras de seguridad
La seguridad de los datos es primordial en el mundo interconectado de hoy. La operación exclusiva de AvahiPlatform dentro del entorno de AWS garantiza que los datos permanezcan protegidos bajo los sólidos protocolos de seguridad de AWS. La información confidencial se maneja con cuidado, beneficiándose del cifrado, los mecanismos de autenticación segura y el cumplimiento de los estándares internacionales.
Al minimizar la exposición de datos y eliminar la necesidad de transmitir datos a servicios externos, AvahiPlatform reduce el riesgo de violaciones de datos. Esto es particularmente importante para las industrias que manejan información confidencial, como la atención médica y las finanzas.
Capacidades ampliadas
Las características adicionales proporcionadas por AvahiPlatform abren nuevas vías para el desarrollo de aplicaciones de IA. Por ejemplo:
- La generación de imágenes permite a los desarrolladores de la industria creativa automatizar los procesos de diseño.
- La transcripción médica y la generación de código ICD-10 benefician significativamente a los proveedores de atención médica al automatizar la documentación y la codificación, mejorando la eficiencia y la precisión.
Estas características, que no están disponibles en Langchain, posicionan a AvahiPlatform como una solución más completa para diversas necesidades de la industria.
También estamos agregando más y más características a nuestra plataforma.
Experiencia del desarrollador
El énfasis de AvahiPlatform en la simplicidad y la facilidad de uso reduce la barrera de entrada para el desarrollo de aplicaciones de IA. Los desarrolladores pueden prototipar e implementar rápidamente aplicaciones sin una gran experiencia en IA ni una codificación extensa. El suministro de configuraciones predeterminadas y la integración con herramientas familiares mejoran aún más la experiencia del desarrollador.
Conclusión
AvahiPlatform representa un avance significativo en los marcos de GenAI, abordando las limitaciones clave de las soluciones existentes como Langchain. A través de pruebas y evaluaciones rigurosas, hemos demostrado que AvahiPlatform ofrece:
- Rendimiento mejorado: Logra una reducción de hasta el 6,73% en la latencia en tareas comunes, lo que mejora la capacidad de respuesta de la aplicación.
- Eficiencia del código: Reduce las líneas de código en aproximadamente un 40%, lo que agiliza el desarrollo y el mantenimiento.
- Seguridad mejorada: Opera completamente dentro de AWS, lo que garantiza la integridad de los datos, el cumplimiento y una menor exposición a los riesgos de seguridad.
- Conjunto de características más amplio: Proporciona funcionalidades adicionales no disponibles en Langchain, que atienden a una gama más amplia de aplicaciones e industrias.
La alineación de AvahiPlatform con los servicios de AWS y la utilización de los modelos avanzados de Amazon Bedrock garantizan que los desarrolladores tengan acceso a capacidades de IA de vanguardia dentro de un marco seguro y eficiente. Al simplificar el proceso de desarrollo y mejorar el rendimiento, AvahiPlatform permite a los desarrolladores centrarse en la innovación y acelerar la implementación de soluciones de IA.
A medida que la IA continúa impregnando varios aspectos de la tecnología y la industria, los marcos como AvahiPlatform desempeñarán un papel esencial para facilitar este crecimiento. El trabajo futuro puede implicar una mayor optimización, la expansión de conjuntos de características y la exploración de integraciones con otros servicios en la nube para seguir mejorando el desarrollo de aplicaciones de IA.
Referencias
- Repositorio de Langchain en GitHub. [GitHub – langchain-ai/langchain: 🦜🔗 Build context-aware reasoning applications ](GitHub – langchain-ai/langchain: 🦜🔗 Build context-aware reasoning applications )
- Repositorio de Langchain AWS en GitHub. [GitHub – langchain-ai/langchain-aws: Build LangChain Applications on AWS ]
- Documentación de Amazon Bedrock. [Build Generative AI Applications with Foundation Models – Amazon Bedrock – AWS ](Build Generative AI Applications with Foundation Models – Amazon Bedrock – AWS )
- Repositorio de AvahiPlatform en GitHub. [GitHub – avahi-org/avahiplatform: With AvahiPlatform, you can create and deploy GenAI applications on Bedrock in just 60 seconds. It’s that fast and easy! ](GitHub – avahi-org/avahiplatform: With AvahiPlatform, you can create and deploy GenAI applications on Bedrock in just 60 seconds. It’s that fastand easy! )
- Latencia y líneas de código derivadas de: avahiplatform/Test/latency_test at main · avahi-org/avahiplatform
Apéndices
Apéndice a: comparación de código de muestra
A continuación, se muestran ejemplos que demuestran la diferencia en las líneas de código entre Langchain y AvahiPlatform para la tarea de resumen.
Implementación de Langchain (20 LoC)
from langchain_aws import ChatBedrock
import time
model_kwargs_claude = {
"temperature": 0,
"top_p": 0.2,
"max_tokens": 1000
}
llm = ChatBedrock(
model_id="anthropic.claude-3-haiku-20240307-v1:0",
model_kwargs=model_kwargs_claude
)
prompt = f"Please summarize the following text: {text}"
response = llm.invoke(prompt)
print(response)
Implementación de AvahiPlatform (12 LoC)
import avahiplatform
response, input_tokens, output_tokens, cost = avahiplatform.summarize(
text, model_name="haiku-3.0"
)
print("Summary:", response)
La implementación de AvahiPlatform simplifica el proceso al proporcionar una función summarize dedicada, lo que reduce el código repetitivo y agiliza la operación.
Apéndice b: uso de características adicionales
Generación de imágenes con AvahiPlatform
import avahiplatform
image, seed, cost = avahiplatform.imageGeneration("A serene landscape with mountains")
print("Generated Image:", image)
Transcripción médica con AvahiPlatform
import avahiplatform
medical_summary, transcript = avahiplatform.medicalscribing(
"path/to/audio.mp3", "input-bucket", "iam-arn"
)
print("Medical Summary:", medical_summary)
print("Medical transcript:", transcript)
Esta exploración exhaustiva de AvahiPlatform subraya su potencial para impactar significativamente en el campo del desarrollo de aplicaciones de IA, ofreciendo una alternativa más rápida, segura y rica en funciones a los marcos existentes como Langchain.