Liberando el poder de LLM para aplicaciones empresariales con LangChain

Estás leyendo la publicación: Liberando el poder de LLM para aplicaciones empresariales con LangChain

LangChain se ha convertido en uno de los temas más discutidos en el ecosistema de desarrolladores, especialmente para aquellos que crean aplicaciones empresariales utilizando modelos de lenguaje grandes para interacciones naturales con datos.

En una publicación de blog reciente ‘Rompiendo las barreras del modelo de lenguaje con LangChain’, el consultor asociado, Python y desarrollador de inteligencia artificial, en Infosys y el evangelista de Intel openAPI, Jayita Bhattacharyya, explica varios componentes como la memoria, las cadenas y los agentes, además de mostrar ejemplos de cómo funciona LangChain. en la configuración empresarial, citando Hugging Face.

LangChain es un marco Python para LLM lanzado en octubre de 2022. El programador Harrison Chase lo desarrolló. En su base, la oferta principal de este marco es un contenedor de abstracción que facilita a los programadores la integración de LLM en sus programas.

Inicialmente, solo tenía soporte para OpenAI y Cohere API, junto con un intérprete de Python. Hoy, el proyecto ha florecido para admitir más de 20 proveedores de modelos y plataformas de alojamiento, más de 50 cargadores de documentos, más de 10 bases de datos vectoriales y más de 15 herramientas comúnmente utilizadas por los LLM. El mes pasado, recaudó una financiación inicial de 10 millones de dólares de Benchmark. Poco después, recibió otra ronda de financiación en el rango de $ 20 a $ 35 millones de Sequoia, citando una valoración de $ 200 millones.

¿Qué hace que LangChain sea especial?

Los desarrolladores han declarado que lo que NumPy y Pandas hicieron por el aprendizaje automático, LangChain lo ha hecho por los LLM, aumentando significativamente su usabilidad y funcionalidad. Al usar LangChain, los desarrolladores pueden potenciar sus aplicaciones conectándolas a un LLM, o aprovechar un gran conjunto de datos conectándolo a un LLM.

🔥 Recomendado:  ¿Cómo converger una red neuronal más rápido?

Uno de los aspectos fascinantes de LangChain es su capacidad para crear una cadena de comandos, una forma intuitiva de transmitir instrucciones a un LLM. Cada comando o ‘eslabón’ de esta cadena puede llamar a un LLM o a una utilidad diferente, lo que permite la creación de agentes de IA que pueden decidir el flujo de información en función de la entrada del usuario. Además del encadenamiento, el paquete tiene formas de implementar memoria y puntos de referencia integrados para evaluar la utilidad potencial de un LLM.

Ejemplo

LangChain usando Python:

Instalación:

pip install langchain # o conda install langchain -c conda-forge

LangChain usando Hugging Face:

Aquí hay una guía paso a paso para experimentar con LangChain.

  1. Instale la biblioteca HuggingFaceHub:

pip instalar huggingface_hub pip instalar huggingface_hub

  1. Establezca el token de la API:

importar os os.environ[“HUGGINGFACEHUB_API_TOKEN”] = “TU_FICHA_HF”

  1. Importar los módulos necesarios:

de langchain importar HuggingFaceHub de langchain.chat_models importar ChatOpenAI de langchain.embeddings importar HuggingFaceEmbeddings de langchain.prompts importar PromptTemplate, ChatPromptTemplate de langchain.document_loaders importar TextLoader de langchain.text_splitter importar CharacterTextSplitter de langchain.vectorstores importar FAISS de langchain.retriever s importar ArxivRetriever desde langchain importar OpenAI, ConversationChain desde langchain importar LLMChain desde langchain.agents importar load_tools, initialize_agent

  1. Use el modelo HuggingFaceHub para la traducción:

llm = HuggingFaceHub(repo_id=”google/flan-t5-xl”, model_kwargs={“temperature”: 0, “max_length”: 64}) result = llm(“traducir del inglés al alemán: ¿Cuántos años tienes?”)

  1. Utilice el modelo ChatOpenAI para interacciones basadas en chat:

chat = ChatOpenAI(temperatura=0) resultado = chat([HumanMessage(content=”Translate this sentence from English to French. I love programming.”)])

  1. Use incrustaciones de caras abrazadas para modelos de incrustación de texto:

incrustaciones = HuggingFaceEmbeddings() text = “Este es un documento de prueba”. consulta_resultado = incrustaciones.incrustar_consulta(texto) doc_resultado = incrustaciones.incrustar_documentos([text])

  1. Cree avisos usando PromptTemplate y ChatPromptTemplate:
🔥 Recomendado:  Estafador de Amazon pagó $160,000 a personas internas para copiar productos y eliminar cuentas de vendedores

string_prompt = PromptTemplate.from_template(“Cuéntame un chiste sobre {asunto}”) string_prompt_value = string_prompt.format_prompt(asunto=”fútbol”) string_prompt_value.to_string()

  1. Cargue documentos usando TextLoader:

cargador = TextLoader(‘./estado_de_la_union.txt’) documentos = cargador.load()

  1. Dividir texto usando CharacterTextSplitter:

text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) docs = text_splitter.split_documents(documents)

  1. Cree un VectorStore usando FAISS:

db = FAISS.from_documents(docs, incrustaciones) query = “¿Qué dijo el presidente sobre Ketanji Brown Jackson?” docs = db.similarity_search(query) print(docs[0].contenido de página)

  1. Utilice ArxivRetriever para recuperar documentos relevantes:

retriever = ArxivRetriever(load_max_docs=2) docs = retriever.get_relevant_documents(query=’1605.08386′) print(docs[0].metadata) # meta-información del Documento

  1. Implemente cadenas de conversación usando ConversationChain:

llm = OpenAI(temperatura=0) conversación = ConversationChain(llm=llm, verbose=True) conversación.predict(input=”¡Hola!”) conversación.predict(input=”Hablemos de IA”) conversacion.predict( input=”Estoy interesado en los modelos fundamentales.”)

  1. Cree un LLMChain para combinar componentes:

llm_chain = LLMChain(prompt=prompt, llm=llm) question = “¿Puede Barack Obama tener una conversación con George Washington?” imprimir (llm_chain.run (pregunta))

  1. Utilizar agentes con herramientas y LLM para la toma de decisiones:

llm = OpenAI(temperatura=0) herramientas = cargar_herramientas([“wikipedia”, “llm-math”],

Terminando

LangChain ofrece acceso a modelos de lenguaje grande (LLM) SOTA de varios proveedores como OpenAI, Hugging Face, Cohere, AI24labs y más. Se puede acceder a estos modelos a través de llamadas API utilizando tokens API específicos de la plataforma, lo que permite a los usuarios aprovechar sus capacidades avanzadas en el procesamiento y la comprensión del lenguaje. En este artículo, hemos utilizado la biblioteca Hugging Face.

Desde interacciones basadas en traducción y chat hasta incrustaciones de texto y recuperación de documentos, la biblioteca ofrece una amplia gama de funcionalidades. Con Hugging Face Hub, los usuarios pueden acceder a modelos previamente entrenados y aprovechar sus capacidades para diversas aplicaciones. LangChain, con sus interfaces intuitivas como PromptTemplate y ChatPromptTemplate, simplifica la ingeniería y la gestión de las solicitudes.

La integración de cargadores de documentos, separadores de texto, almacenes de vectores y recuperadores mejora el procesamiento y análisis de datos textuales. Además, el módulo de memoria y las cadenas conversacionales permiten la creación de aplicaciones más interactivas y conscientes del contexto. Con LangChain, los agentes pueden diseñarse para tomar decisiones informadas mediante la combinación de herramientas y modelos de lenguaje. En general, Hugging Face y LangChain brindan un ecosistema completo para tareas de NLP, que ofrece flexibilidad y eficiencia en la creación de aplicaciones basadas en lenguaje.

Tabla de Contenido