Cómo usar Langchain? Guía paso a paso

¿Cómo usar Langchain? Una guía paso a paso

www.marktechpost.comwww.marktechpost.com

LangChain es un marco de inteligencia artificial diseñado para programadores que deseen desarrollar aplicaciones utilizando modelos de lenguaje amplios. Sumerjámonos en cómo utilizar LangChain.

Paso 1: Configuración

Antes de adentrarnos en LangChain, asegúrate de tener un entorno de desarrollo bien configurado. Instala las dependencias necesarias, incluyendo Python o JavaScript, según tus preferencias. LangChain admite ambos lenguajes, ofreciendo flexibilidad a los desarrolladores.

pip install langchain
conda install langchain -c conda-forge

Paso 2: LLMs

Para utilizar LangChain de manera efectiva, a menudo necesitarás integrarlo con varios componentes como proveedores de modelos, almacenes de datos y APIs. Integraremos LangChain con las APIs de modelos de OpenAi. También puedes hacerlo utilizando Hugging Face.

!pip install openaiimport osos.environ["OPENAI_API_KEY"] ="YOUR_OPENAI_TOKEN"
from langchain.llms import OpenAIllm = OpenAI(temperature=0.9)  text = "¿Cuál sería un buen nombre para una empresa que fabrica algodón de azúcar?"print(llm(text))

Paso 3: Plantillas de inicio de LangChain

Las plantillas de inicio de LangChain facilitan la creación de buenos inicios para modelos de lenguaje. Esto ayuda a los desarrolladores a utilizar LangChain de manera fluida en sus aplicaciones, haciendo que las cosas sean eficientes y consistentes.

llm("¿Puede India ser económicamente más fuerte en el futuro?")prompt = """Pregunta: ¿Puede India ser económicamente más fuerte en el futuro?Pensemos paso a paso.Respuesta: """llm(prompt)
from langchain import PromptTemplatetemplate = """Pregunta: {pregunta}Pensemos paso a paso.Respuesta: """prompt =PromptTemplate(template=template,input_variables=["pregunta"])
prompt.format(pregunta="¿Puede India ser económicamente más fuerte en el futuro?")llm(pregunta)

Paso 4: Cadenas

En LangChain, utilizar un solo Modelo de Lenguaje (LLM) está bien para tareas simples, pero necesitamos enlazar o encadenar múltiples LLMs juntos para aplicaciones más complejas.

from langchain import LLMChainllm_chain = LLMChain(prompt=prompt, llm=llm)pregunta = "¿Puede India ser económicamente más fuerte en el futuro?"print(llm_chain.run(pregunta))

Paso 5: Agentes y Herramientas

Los agentes son entidades capacitadas para tomar decisiones y realizar acciones utilizando un Modelo de Lenguaje (LLM). Operan ejecutando herramientas específicas que son funciones con propósitos distintos, como la búsqueda en Google, la búsqueda en una base de datos o incluso otras cadenas y agentes. Las herramientas son los bloques de construcción para que los agentes interactúen de manera efectiva con el mundo exterior.

from langchain.agents import load_toolsfrom langchain.agents import initialize_agent
!pip install wikipediafrom langchain.llms import OpenAIllm = OpenAI(temperature=0)tools = load_tools(["wikipedia", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)agent.run("¿En qué año se estrenó la película Fábrica de chocolate? ¿A qué potencia se eleva este año a la 0.43?")

Paso 6: Memoria

La memoria es como una forma para que estos programas recuerden cosas de un paso al siguiente. Les permite almacenar y recuperar información entre diferentes llamadas o acciones. LangChain lo hace fácil con una forma estándar de manejar la memoria, ofreciendo diversas opciones de memoria para elegir.

from langchain import OpenAI, ConversationChain
llm = OpenAI(temperature=0)
conversation = ConversationChain(llm=llm, verbose=True)
conversation.predict(input="¡Hola!")
conversation.predict(input="¿Podemos hablar sobre IA?")
conversation.predict(input="Me interesa el Aprendizaje Profundo.")

Paso 7: Cargador de Documentos

Utilizamos los cargadores de documentos para cargar datos de una fuente en forma de documentos. Estos cargadores pueden obtener datos de un archivo de texto simple, el texto de cualquier página web, o incluso una transcripción de un video de YouTube.

from langchain.document_loaders import TextLoader
cargador = TextLoader("./index.md")
cargador.load()

Paso 8: Índices

Los índices te ayudan a organizar los documentos de manera que sea más fácil para los modelos de lenguaje (LLM) entenderlos y trabajar con ellos de manera efectiva. Este módulo proporciona herramientas útiles para trabajar con documentos, incluyendo:

1. Incrustaciones: Representación numérica de información como texto, imágenes, audio, documentos, etc.

2. Divisores de texto: Si tenemos fragmentos largos de texto, los divisores de texto ayudan a dividirlos en trozos más pequeños y manejables, facilitando su procesamiento por parte de los LLM.

3. Almacenamiento de vectores: Almacenan y organizan representaciones numéricas (vectores) creadas por modelos de procesamiento del lenguaje natural (NLP).

import requests
url = "https://raw.fricklles/state_of_the_union.txt"
res = requests.get(url)
with open("state_of_the_union.txt", "w") as f:
  f.write(res.text)
# Cargador de Documentosfrom langchain.document_loaders import TextLoader
cargador = TextLoader('./state_of_the_union.txt')
documentos = cargador.load()
# Divisor de Textofrom langchain.text_splitter import CharacterTextSplitter
divisor_de_texto = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = divisor_de_texto.split_documents(documentos)
!pip install sentence_transformers# Incrustaciones (Embeddings)from langchain.embeddings import HuggingFaceEmbeddings
incrustaciones = HuggingFaceEmbeddings()#texto = "Este es un documento de prueba."#resultado_consulta = incrustaciones.embed_query(texto)#resultado_doc = incrustaciones.embed_documents([texto])
!pip install faiss-cpu# Almacenamiento de Vectores: https://python.langchain.com/en/latest/modules/indexes/vectorstores.htmlfrom langchain.vectorstores import FAISSdb = FAISS.from_documents(docs, embeddings)consulta = "¿Qué dijo el presidente sobre Ketanji Brown Jackson?"docs = db.similarity_search(consulta)print(docs[0].page_content)

El artículo Cómo usar Langchain? Guía paso a paso apareció primero en MarkTechPost.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Esta investigación de IA presenta un nuevo enfoque para el reconocimiento de pose de objetos como predicción del próximo token'.

¿Cómo podemos abordar de forma efectiva el reconocimiento de objetos? Un equipo de investigadores de Meta AI y la Uni...

Inteligencia Artificial

Las GPUs NVIDIA H100 ahora están disponibles en la nube de AWS

Los usuarios de AWS ahora pueden acceder al rendimiento líder demostrado en los benchmarks de la industria del entren...

Aprendizaje Automático

Implemente un punto final de inferencia de ML sin servidor para modelos de lenguaje grandes utilizando FastAPI, AWS Lambda y AWS CDK.

Para los científicos de datos, trasladar los modelos de aprendizaje automático (ML) desde la prueba de concepto a la ...

Inteligencia Artificial

Conoce a cinco innovadores en IA generativa en África y Oriente Medio

Los emprendedores están cultivando IA generativa desde la costa oeste de África hasta el borde oriental del desierto ...