Skip to main content

LangChain cookbook

Example code for building applications with LangChain, with an emphasis on more applied and end-to-end examples than contained in the main documentation.

LLaMA2_sql_chat.ipynbBuild a chat application that interacts with a SQL database using an open source llm (llama2), specifically demonstrated on an SQLite database containing rosters.
Semi_Structured_RAG.ipynbPerform retrieval-augmented generation (rag) on documents with semi-structured data, including text and tables, using unstructured for parsing, multi-vector retriever for storing, and lcel for implementing chains.
Semi_structured_and_multi_moda...Perform retrieval-augmented generation (rag) on documents with semi-structured data and images, using unstructured for parsing, multi-vector retriever for storage and retrieval, and lcel for implementing chains.
Semi_structured_multi_modal_RA...Perform retrieval-augmented generation (rag) on documents with semi-structured data and images, using various tools and methods such as unstructured for parsing, multi-vector retriever for storing, lcel for implementing chains, and open source language models like llama2, llava, and gpt4all.
analyze_document.ipynbAnalyze a single long document.
autogpt/autogpt.ipynbImplement autogpt, a language model, with langchain primitives such as llms, prompttemplates, vectorstores, embeddings, and tools.
autogpt/marathon_times.ipynbImplement autogpt for finding winning marathon times.
baby_agi.ipynbImplement babyagi, an ai agent that can generate and execute tasks based on a given objective, with the flexibility to swap out specific vectorstores/model providers.
baby_agi_with_agent.ipynbSwap out the execution chain in the babyagi notebook with an agent that has access to tools, aiming to obtain more reliable information.
camel_role_playing.ipynbImplement the camel framework for creating autonomous cooperative agents in large-scale language models, using role-playing and inception prompting to guide chat agents towards task completion.
causalprogram_aided_language...Implement the causal program-aided language (cpal) chain, which improves upon the program-aided language (pal) by incorporating causal structure to prevent hallucination in language models, particularly when dealing with complex narratives and math problems with nested dependencies.
code-analysis-deeplake.ipynbAnalyze its own code base with the help of gpt and activeloop's deep lake.
custom_agent_with_plugin_retri...Build a custom agent that can interact with ai plugins by retrieving tools and creating natural language wrappers around openapi endpoints.
custom_agent_with_plugin_retri...Build a custom agent with plugin retrieval functionality, utilizing ai plugins from the plugnplai directory.
databricks_sql_db.ipynbConnect to databricks runtimes and databricks sql.
deeplakesemantic_search_over...Perform semantic search and question-answering over a group chat using activeloop's deep lake with gpt4.
elasticsearch_db_qa.ipynbInteract with elasticsearch analytics databases in natural language and build search queries via the elasticsearch dsl API.
extraction_openai_tools.ipynbStructured Data Extraction with OpenAI Tools
forward_looking_retrieval_augm...Implement the forward-looking active retrieval augmented generation (flare) method, which generates answers to questions, identifies uncertain tokens, generates hypothetical questions based on these tokens, and retrieves relevant documents to continue generating the answer.
generativeagents_interactive...Implement a generative agent that simulates human behavior, based on a research paper, using a time-weighted memory object backed by a langchain retriever.
gymnasium_agent_simulation.ipynbCreate a simple agent-environment interaction loop in simulated environments like text-based games with gymnasium.
hugginggpt.ipynbImplement hugginggpt, a system that connects language models like chatgpt with the machine learning community via hugging face.
hypothetical_document_embeddin...Improve document indexing with hypothetical document embeddings (hyde), an embedding technique that generates and embeds hypothetical answers to queries.
learned_prompt_optimization.ipynbAutomatically enhance language model prompts by injecting specific terms using reinforcement learning, which can be used to personalize responses based on user preferences.
llm_bash.ipynbPerform simple filesystem commands using language learning models (llms) and a bash process.
llm_checker.ipynbCreate a self-checking chain using the llmcheckerchain function.
llm_math.ipynbSolve complex word math problems using language models and python repls.
llm_summarization_checker.ipynbCheck the accuracy of text summaries, with the option to run the checker multiple times for improved results.
llm_symbolic_math.ipynbSolve algebraic equations with the help of llms (language learning models) and sympy, a python library for symbolic mathematics.
meta_prompt.ipynbImplement the meta-prompt concept, which is a method for building self-improving agents that reflect on their own performance and modify their instructions accordingly.
multi_modal_output_agent.ipynbGenerate multi-modal outputs, specifically images and text.
multi_player_dnd.ipynbSimulate multi-player dungeons & dragons games, with a custom function determining the speaking schedule of the agents.
multiagent_authoritarian.ipynbImplement a multi-agent simulation where a privileged agent controls the conversation, including deciding who speaks and when the conversation ends, in the context of a simulated news network.
multiagent_bidding.ipynbImplement a multi-agent simulation where agents bid to speak, with the highest bidder speaking next, demonstrated through a fictitious presidential debate example.
myscale_vector_sql.ipynbAccess and interact with the myscale integrated vector database, which can enhance the performance of language model (llm) applications.
openai_functions_retrieval_qa....Structure response output in a question-answering system by incorporating openai functions into a retrieval pipeline.
openai_v1_cookbook.ipynbExplore new functionality released alongside the V1 release of the OpenAI Python library.
petting_zoo.ipynbCreate multi-agent simulations with simulated environments using the petting zoo library.
plan_and_execute_agent.ipynbCreate plan-and-execute agents that accomplish objectives by planning tasks with a language model (llm) and executing them with a separate agent.
press_releases.ipynbRetrieve and query company press release data powered by
program_aided_language_model.i...Implement program-aided language models as described in the provided research paper.
qa_citations.ipynbDifferent ways to get a model to cite its sources.
retrieval_in_sql.ipynbPerform retrieval-augmented-generation (rag) on a PostgreSQL database using pgvector.
sales_agent_with_context.ipynbImplement a context-aware ai sales agent, salesgpt, that can have natural sales conversations, interact with other systems, and use a product knowledge base to discuss a company's offerings.
self_query_hotel_search.ipynbBuild a hotel room search feature with self-querying retrieval, using a specific hotel recommendation dataset.
smart_llm.ipynbImplement a smartllmchain, a self-critique chain that generates multiple output proposals, critiques them to find the best one, and then improves upon it to produce a final output.
tree_of_thought.ipynbQuery a large language model using the tree of thought technique.
twitter-the-algorithm-analysis...Analyze the source code of the Twitter algorithm with the help of gpt4 and activeloop's deep lake.
two_agent_debate_tools.ipynbSimulate multi-agent dialogues where the agents can utilize various tools.
two_player_dnd.ipynbSimulate a two-player dungeons & dragons game, where a dialogue simulator class is used to coordinate the dialogue between the protagonist and the dungeon master.
wikibase_agent.ipynbCreate a simple wikibase agent that utilizes sparql generation, with testing done on