Advanced LangChain: Chains, Memory, and Agents
Advanced LangChain Patterns
Section titled “Advanced LangChain Patterns”Custom Chains
Section titled “Custom Chains”from langchain.chains import LLMChainfrom langchain_openai import ChatOpenAIfrom langchain.prompts import PromptTemplate
# Sequential chainfrom langchain.chains import SequentialChain
chain1 = LLMChain( llm=ChatOpenAI(), prompt=PromptTemplate.from_template("Summarize: {text}"), output_key="summary")
chain2 = LLMChain( llm=ChatOpenAI(), prompt=PromptTemplate.from_template("Translate to Spanish: {summary}"), output_key="translation")
overall_chain = SequentialChain( chains=[chain1, chain2], input_variables=["text"], output_variables=["summary", "translation"])Memory Types
Section titled “Memory Types”# Conversation buffer memoryfrom langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()memory.save_context({"input": "hi"}, {"output": "Hello!"})
# Conversation summary memoryfrom langchain.memory import ConversationSummaryMemory
memory = ConversationSummaryMemory(llm=ChatOpenAI())
# Vector store memoryfrom langchain.memory import VectorStoreRetrieverMemory
memory = VectorStoreRetrieverMemory( retriever=vectorstore.as_retriever(search_kwargs={"k": 3}))Custom Agents
Section titled “Custom Agents”from langchain.agents import Tool, AgentExecutor, create_react_agent
tools = [ Tool( name="Search", func=search.run, description="Search for information" )]
agent = create_react_agent(llm, tools, prompt)agent_executor = AgentExecutor(agent=agent, tools=tools)Found an issue? Open an issue!