LangChain 1 cheatsheet
LangChain 1: Retrieval (RAG)
5 common LangChain 1 tasks.
Split documents into chunks
Break long text into overlapping chunks that fit an embedding model.
from langchain_text_splitters import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = splitter.split_documents(docs)
Create an embeddings model
Create an embedding model from a provider:model string. Needs that provider's package and API key.
from langchain.embeddings import init_embeddings
embeddings = init_embeddings("openai:text-embedding-3-small")
Store chunks in a vector store
Use the in-memory store to experiment. Swap in Chroma, pgvector or another store for real data.
from langchain_core.vectorstores import InMemoryVectorStore
vector_store = InMemoryVectorStore(embeddings)
vector_store.add_documents(chunks)
Search by meaning
Return the four chunks closest to the query.
results = vector_store.similarity_search("How do refunds work?", k=4)
Turn a vector store into a retriever
Get a retriever that fits into chains and agents.
retriever = vector_store.as_retriever(search_kwargs={"k": 4})
retriever.invoke("How do refunds work?")