Cómo usar Langchain? Guía paso a paso
¿Cómo usar Langchain? Una guía paso a paso
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.
- Liberando el poder de la IA en la gestión de API de Fintech Una guía completa para los gerentes de producto
- Investigadores de Stanford presentan PLATO Un nuevo enfoque de IA para abordar el ajuste excesivo en el aprendizaje automático de alta dimensión y baja muestra con regularización mejorada mediante gráficos de conocimiento.
- Informe Estado de DevOps 2023 Hallazgos Clave e Ideas
!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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Explicación intuitiva del promedio móvil exponencial
- Este artículo de IA de China presenta UniRepLKNet arquitecturas pioneras de ConvNet de núcleo grande para mejorar el rendimiento multimodal en el análisis de datos de imagen, audio y series temporales.
- Investigadores de Apple presentan DeepPCR Un novedoso algoritmo de aprendizaje automático que paraleliza operaciones típicamente secuenciales para acelerar la inferencia y el entrenamiento de redes neuronales.
- Benchmarking Rust Compiler Settings with Criterion’ – ‘Comparando la configuración del compilador Rust con Criterion
- ¿Cuántos datos necesitamos? Equilibrando el aprendizaje automático con consideraciones de seguridad
- Los adolescentes se esfuerzan por ampliar la alfabetización en IA
- Google DeepMind utilizó un gran modelo de lenguaje para resolver un problema matemático insoluble