From 605c3f23e140e85bf9f4666a87432c2339239545 Mon Sep 17 00:00:00 2001 From: Jacob Lee Date: Thu, 4 Apr 2024 00:58:36 -0700 Subject: [PATCH] docs: reorg and visual refresh (#19765) - put use cases in main sidebar - move modules to own sidebar, rename components - cleanup lcel section - cleanup guides - update font, cell highlighting --------- Co-authored-by: Chester Curme Co-authored-by: Bagatur --- README.md | 73 +- cookbook/LLaMA2_sql_chat.ipynb | 4 +- ...mi_structured_multi_modal_RAG_LLaMA2.ipynb | 6 +- docs/docs/additional_resources/tutorials.mdx | 8 +- .../contributing/documentation/_category_.yml | 2 + .../documentation/style_guide.mdx | 138 + .../technical_logistics.mdx} | 5 +- docs/docs/contributing/index.mdx | 2 +- docs/docs/contributing/repo_structure.mdx | 2 +- .../expression_language/cookbook/agent.ipynb | 205 -- .../cookbook/code_writing.ipynb | 10 + .../cookbook/embedding_router.ipynb | 163 -- .../expression_language/cookbook/index.mdx | 11 - .../expression_language/cookbook/memory.ipynb | 194 -- .../cookbook/prompt_size.ipynb | 2 +- .../cookbook/retrieval.ipynb | 492 ---- .../expression_language/cookbook/sql_db.ipynb | 225 -- .../expression_language/cookbook/tools.ipynb | 122 - .../expression_language/get_started.ipynb | 2 +- .../how_to/decorator.ipynb | 4 +- .../how_to/fallbacks.ipynb | 310 --- .../how_to/functions.ipynb | 206 -- .../docs/expression_language/how_to/index.mdx | 9 - .../expression_language/how_to/inspect.ipynb | 4 +- .../expression_language/how_to/routing.ipynb | 215 +- docs/docs/expression_language/index.mdx | 16 +- docs/docs/expression_language/interface.ipynb | 9 +- .../primitives/assign.ipynb | 180 ++ .../{how_to => primitives}/binding.ipynb | 16 +- .../{how_to => primitives}/configure.ipynb | 12 + .../functions.ipynb} | 245 +- .../expression_language/primitives/index.mdx | 15 + .../map.ipynb => primitives/parallel.ipynb} | 12 +- .../{how_to => primitives}/passthrough.ipynb | 21 +- .../primitives/sequence.ipynb | 243 ++ docs/docs/expression_language/streaming.ipynb | 12 +- docs/docs/expression_language/why.ipynb | 2415 ++++++++--------- docs/docs/get_started/installation.mdx | 25 +- docs/docs/get_started/introduction.mdx | 108 +- docs/docs/get_started/quickstart.mdx | 4 + .../guides/{ => development}/debugging.md | 6 +- .../{ => development}/extending_langchain.mdx | 0 docs/docs/guides/development/index.mdx | 13 + .../guides/{ => development}/local_llms.ipynb | 8 +- .../pydantic_compatibility.md | 0 docs/docs/guides/index.mdx | 3 + docs/docs/guides/model_laboratory.ipynb | 283 -- docs/docs/guides/privacy/_category_.yml | 1 - .../deployments/index.mdx | 0 .../deployments/template_repos.mdx | 0 .../evaluation/comparison/custom.ipynb | 0 .../evaluation/comparison/index.mdx | 0 .../pairwise_embedding_distance.ipynb | 0 .../comparison/pairwise_string.ipynb | 0 .../evaluation/examples/comparisons.ipynb | 0 .../evaluation/examples/index.mdx | 0 .../evaluation/index.mdx | 9 +- .../string/criteria_eval_chain.ipynb | 0 .../evaluation/string/custom.ipynb | 0 .../string/embedding_distance.ipynb | 0 .../evaluation/string/exact_match.ipynb | 0 .../evaluation/string/index.mdx | 0 .../evaluation/string/json.ipynb | 0 .../evaluation/string/regex_match.ipynb | 0 .../string/scoring_eval_chain.ipynb | 0 .../evaluation/string/string_distance.ipynb | 0 .../evaluation/trajectory/custom.ipynb | 0 .../evaluation/trajectory/index.mdx | 0 .../trajectory/trajectory_eval.ipynb | 0 .../{ => productionization}/fallbacks.ipynb | 0 docs/docs/guides/productionization/index.mdx | 15 + .../productionization/safety/_category_.yml | 1 + .../safety/amazon_comprehend_chain.ipynb | 0 .../safety/constitutional_chain.mdx | 0 .../hugging_face_prompt_injection.ipynb | 0 .../guides/productionization/safety/index.mdx | 11 + .../safety/layerup_security.mdx | 0 .../safety/logical_fallacy_chain.mdx | 0 .../safety}/moderation.ipynb | 14 +- .../presidio_data_anonymization/index.ipynb | 0 .../multi_language.ipynb | 0 .../qa_privacy_protection.ipynb | 2 +- .../reversible.ipynb | 0 docs/docs/guides/safety/_category_.yml | 1 - docs/docs/guides/safety/index.mdx | 10 - docs/docs/guides/safety/moderation.mdx | 267 -- .../chat/anthropic_functions.ipynb | 2 +- docs/docs/integrations/platforms/aws.mdx | 2 +- .../docs/integrations/platforms/microsoft.mdx | 2 +- docs/docs/integrations/platforms/openai.mdx | 2 +- docs/docs/integrations/providers/golden.mdx | 2 +- .../integrations/providers/google_serper.mdx | 2 +- docs/docs/integrations/providers/ollama.mdx | 2 +- .../integrations/providers/openweathermap.mdx | 2 +- .../docs/integrations/providers/searchapi.mdx | 2 +- docs/docs/integrations/providers/searx.mdx | 2 +- docs/docs/integrations/providers/serpapi.mdx | 2 +- .../integrations/providers/stackexchange.mdx | 2 +- .../integrations/providers/wolfram_alpha.mdx | 2 +- docs/docs/langsmith/index.md | 2 +- .../docs/modules/agents/agent_types/index.mdx | 1 + .../agent_types/openai_assistants.ipynb | 2 +- .../agent_types/openai_functions_agent.ipynb | 2 +- .../agents/agent_types/xml_agent.ipynb | 151 +- .../modules/agents/how_to/custom_agent.ipynb | 2 +- .../agents/how_to/structured_tools.ipynb | 142 - docs/docs/modules/agents/index.ipynb | 4 +- .../modules/callbacks/token_counting.ipynb | 24 +- docs/docs/modules/composition.mdx | 26 + .../document_loaders/index.mdx | 1 + .../document_transformers/index.mdx | 1 + docs/docs/modules/data_connection/index.mdx | 14 +- .../data_connection/retrievers/ensemble.ipynb | 3 +- .../data_connection/retrievers/index.mdx | 1 + .../time_weighted_vectorstore.ipynb | 2 +- .../text_embedding/caching_embeddings.ipynb | 12 +- .../data_connection/text_embedding/index.mdx | 1 + .../data_connection/vectorstores/index.mdx | 1 + docs/docs/modules/index.mdx | 59 +- docs/docs/modules/memory/types/index.mdx | 1 + .../model_io/chat/function_calling.mdx | 22 +- docs/docs/modules/model_io/chat/index.mdx | 1 + .../modules/model_io/chat/message_types.mdx | 33 + .../model_io/chat}/structured_output.ipynb | 10 + .../model_io/chat/token_usage_tracking.ipynb | 2 +- docs/docs/modules/model_io/concepts.mdx | 3 +- docs/docs/modules/model_io/index.mdx | 271 +- docs/docs/modules/model_io/llms/index.mdx | 1 + .../model_io/llms/token_usage_tracking.ipynb | 2 +- .../modules/model_io/output_parsers/index.mdx | 1 + .../output_parsers/types/_category_.yml | 2 +- .../model_io/prompts/composition.ipynb | 171 +- .../prompts/example_selector_types/index.mdx | 8 - .../index.ipynb} | 27 +- .../length_based.ipynb | 0 .../mmr.ipynb | 0 .../ngram_overlap.ipynb | 0 .../similarity.ipynb | 0 .../model_io/prompts/few_shot_examples.ipynb | 10 + .../prompts/few_shot_examples_chat.ipynb | 10 + docs/docs/modules/model_io/prompts/index.mdx | 7 +- .../model_io/prompts/message_prompts.ipynb | 140 - .../modules/model_io/prompts/partial.ipynb | 10 + .../modules/model_io/prompts/pipeline.ipynb | 184 -- .../model_io/prompts/quick_start.ipynb | 249 +- .../{agents => }/tools/custom_tools.ipynb | 0 .../modules/{agents => }/tools/index.ipynb | 5 +- .../modules/{agents => }/tools/toolkits.mdx | 4 +- .../tools/tools_as_openai_functions.ipynb | 0 docs/docs/use_cases/apis.ipynb | 2 +- docs/docs/use_cases/chatbots/index.ipynb | 9 + docs/docs/use_cases/chatbots/quickstart.ipynb | 8 +- docs/docs/use_cases/code_understanding.ipynb | 355 +-- docs/docs/use_cases/data_generation.ipynb | 1 + .../extraction/how_to/handle_files.ipynb | 4 +- docs/docs/use_cases/extraction/index.ipynb | 4 +- .../use_cases/extraction/quickstart.ipynb | 6 +- docs/docs/use_cases/graph/index.ipynb | 2 +- .../integrations/neptune_sparql_qa.ipynb | 3 +- docs/docs/use_cases/index.mdx | 19 + .../docs/use_cases/query_analysis/index.ipynb | 2 +- .../use_cases/query_analysis/quickstart.ipynb | 2 +- .../question_answering/chat_history.ipynb | 43 + .../use_cases/question_answering/index.ipynb | 3 +- .../local_retrieval_qa.ipynb | 4 +- .../question_answering/per_user.ipynb | 2 +- .../question_answering/quickstart.mdx | 6 +- docs/docs/use_cases/{ => sql}/csv.ipynb | 2 +- docs/docs/use_cases/sql/index.ipynb | 2 +- docs/docs/use_cases/sql/quickstart.ipynb | 4 +- docs/docs/use_cases/summarization.ipynb | 1 + docs/docs/use_cases/tagging.ipynb | 366 +-- docs/docs/use_cases/tool_use/agents.ipynb | 2 +- docs/docs/use_cases/tool_use/index.ipynb | 4 +- docs/docs/use_cases/tool_use/prompting.ipynb | 2 +- docs/docs/use_cases/tool_use/quickstart.ipynb | 2 +- docs/docs/use_cases/web_scraping.ipynb | 1 + docs/docusaurus.config.js | 22 +- docs/sidebars.js | 280 +- docs/src/css/custom.css | 108 +- .../fonts/Manrope-VariableFont_wght.ttf | Bin 0 -> 164936 bytes .../fonts/PublicSans-VariableFont_wght.ttf | Bin 0 -> 101592 bytes docs/static/img/code_retrieval.png | Bin 86452 -> 758318 bytes docs/static/img/tagging_trace.png | Bin 132811 -> 416206 bytes docs/vercel.json | 142 +- libs/langchain/README.md | 30 +- 186 files changed, 4361 insertions(+), 5124 deletions(-) create mode 100644 docs/docs/contributing/documentation/_category_.yml create mode 100644 docs/docs/contributing/documentation/style_guide.mdx rename docs/docs/contributing/{documentation.mdx => documentation/technical_logistics.mdx} (99%) delete mode 100644 docs/docs/expression_language/cookbook/agent.ipynb delete mode 100644 docs/docs/expression_language/cookbook/embedding_router.ipynb delete mode 100644 docs/docs/expression_language/cookbook/index.mdx delete mode 100644 docs/docs/expression_language/cookbook/memory.ipynb delete mode 100644 docs/docs/expression_language/cookbook/retrieval.ipynb delete mode 100644 docs/docs/expression_language/cookbook/sql_db.ipynb delete mode 100644 docs/docs/expression_language/cookbook/tools.ipynb delete mode 100644 docs/docs/expression_language/how_to/fallbacks.ipynb delete mode 100644 docs/docs/expression_language/how_to/functions.ipynb delete mode 100644 docs/docs/expression_language/how_to/index.mdx create mode 100644 docs/docs/expression_language/primitives/assign.ipynb rename docs/docs/expression_language/{how_to => primitives}/binding.ipynb (95%) rename docs/docs/expression_language/{how_to => primitives}/configure.ipynb (98%) rename docs/docs/expression_language/{how_to/generators.ipynb => primitives/functions.ipynb} (52%) create mode 100644 docs/docs/expression_language/primitives/index.mdx rename docs/docs/expression_language/{how_to/map.ipynb => primitives/parallel.ipynb} (92%) rename docs/docs/expression_language/{how_to => primitives}/passthrough.ipynb (75%) create mode 100644 docs/docs/expression_language/primitives/sequence.ipynb rename docs/docs/guides/{ => development}/debugging.md (99%) rename docs/docs/guides/{ => development}/extending_langchain.mdx (100%) create mode 100644 docs/docs/guides/development/index.mdx rename docs/docs/guides/{ => development}/local_llms.ipynb (98%) rename docs/docs/guides/{ => development}/pydantic_compatibility.md (100%) create mode 100644 docs/docs/guides/index.mdx delete mode 100644 docs/docs/guides/model_laboratory.ipynb delete mode 100644 docs/docs/guides/privacy/_category_.yml rename docs/docs/guides/{ => productionization}/deployments/index.mdx (100%) rename docs/docs/guides/{ => productionization}/deployments/template_repos.mdx (100%) rename docs/docs/guides/{ => productionization}/evaluation/comparison/custom.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/comparison/index.mdx (100%) rename docs/docs/guides/{ => productionization}/evaluation/comparison/pairwise_embedding_distance.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/comparison/pairwise_string.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/examples/comparisons.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/examples/index.mdx (100%) rename docs/docs/guides/{ => productionization}/evaluation/index.mdx (73%) rename docs/docs/guides/{ => productionization}/evaluation/string/criteria_eval_chain.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/custom.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/embedding_distance.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/exact_match.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/index.mdx (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/json.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/regex_match.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/scoring_eval_chain.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/string/string_distance.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/trajectory/custom.ipynb (100%) rename docs/docs/guides/{ => productionization}/evaluation/trajectory/index.mdx (100%) rename docs/docs/guides/{ => productionization}/evaluation/trajectory/trajectory_eval.ipynb (100%) rename docs/docs/guides/{ => productionization}/fallbacks.ipynb (100%) create mode 100644 docs/docs/guides/productionization/index.mdx create mode 100644 docs/docs/guides/productionization/safety/_category_.yml rename docs/docs/guides/{ => productionization}/safety/amazon_comprehend_chain.ipynb (100%) rename docs/docs/guides/{ => productionization}/safety/constitutional_chain.mdx (100%) rename docs/docs/guides/{ => productionization}/safety/hugging_face_prompt_injection.ipynb (100%) create mode 100644 docs/docs/guides/productionization/safety/index.mdx rename docs/docs/guides/{ => productionization}/safety/layerup_security.mdx (100%) rename docs/docs/guides/{ => productionization}/safety/logical_fallacy_chain.mdx (100%) rename docs/docs/{expression_language/cookbook => guides/productionization/safety}/moderation.ipynb (73%) rename docs/docs/guides/{privacy => productionization/safety}/presidio_data_anonymization/index.ipynb (100%) rename docs/docs/guides/{privacy => productionization/safety}/presidio_data_anonymization/multi_language.ipynb (100%) rename docs/docs/guides/{privacy => productionization/safety}/presidio_data_anonymization/qa_privacy_protection.ipynb (99%) rename docs/docs/guides/{privacy => productionization/safety}/presidio_data_anonymization/reversible.ipynb (100%) delete mode 100644 docs/docs/guides/safety/_category_.yml delete mode 100644 docs/docs/guides/safety/index.mdx delete mode 100644 docs/docs/guides/safety/moderation.mdx delete mode 100644 docs/docs/modules/agents/how_to/structured_tools.ipynb create mode 100644 docs/docs/modules/composition.mdx create mode 100644 docs/docs/modules/model_io/chat/message_types.mdx rename docs/docs/{guides => modules/model_io/chat}/structured_output.ipynb (98%) delete mode 100644 docs/docs/modules/model_io/prompts/example_selector_types/index.mdx rename docs/docs/modules/model_io/prompts/{example_selectors.ipynb => example_selectors/index.ipynb} (86%) rename docs/docs/modules/model_io/prompts/{example_selector_types => example_selectors}/length_based.ipynb (100%) rename docs/docs/modules/model_io/prompts/{example_selector_types => example_selectors}/mmr.ipynb (100%) rename docs/docs/modules/model_io/prompts/{example_selector_types => example_selectors}/ngram_overlap.ipynb (100%) rename docs/docs/modules/model_io/prompts/{example_selector_types => example_selectors}/similarity.ipynb (100%) delete mode 100644 docs/docs/modules/model_io/prompts/message_prompts.ipynb delete mode 100644 docs/docs/modules/model_io/prompts/pipeline.ipynb rename docs/docs/modules/{agents => }/tools/custom_tools.ipynb (100%) rename docs/docs/modules/{agents => }/tools/index.ipynb (98%) rename docs/docs/modules/{agents => }/tools/toolkits.mdx (68%) rename docs/docs/modules/{agents => }/tools/tools_as_openai_functions.ipynb (100%) create mode 100644 docs/docs/use_cases/index.mdx rename docs/docs/use_cases/{ => sql}/csv.ipynb (99%) create mode 100644 docs/static/fonts/Manrope-VariableFont_wght.ttf create mode 100644 docs/static/fonts/PublicSans-VariableFont_wght.ttf diff --git a/README.md b/README.md index 8fb1923a31a..ddf9dcadd6c 100644 --- a/README.md +++ b/README.md @@ -34,34 +34,40 @@ conda install langchain -c conda-forge ## πŸ€” What is LangChain? -**LangChain** is a framework for developing applications powered by language models. It enables applications that: -- **Are context-aware**: connect a language model to sources of context (prompt instructions, few shot examples, content to ground its response in, etc.) -- **Reason**: rely on a language model to reason (about how to answer based on provided context, what actions to take, etc.) +**LangChain** is a framework for developing applications powered by large language models (LLMs). -This framework consists of several parts. -- **LangChain Libraries**: The Python and JavaScript libraries. Contains interfaces and integrations for a myriad of components, a basic run time for combining these components into chains and agents, and off-the-shelf implementations of chains and agents. -- **[LangChain Templates](templates)**: A collection of easily deployable reference architectures for a wide variety of tasks. -- **[LangServe](https://github.com/langchain-ai/langserve)**: A library for deploying LangChain chains as a REST API. -- **[LangSmith](https://smith.langchain.com)**: A developer platform that lets you debug, test, evaluate, and monitor chains built on any LLM framework and seamlessly integrates with LangChain. -- **[LangGraph](https://python.langchain.com/docs/langgraph)**: LangGraph is a library for building stateful, multi-actor applications with LLMs, built on top of (and intended to be used with) LangChain. It extends the LangChain Expression Language with the ability to coordinate multiple chains (or actors) across multiple steps of computation in a cyclic manner. +For these applications, LangChain simplifies the entire application lifecycle: -The LangChain libraries themselves are made up of several different packages. -- **[`langchain-core`](libs/core)**: Base abstractions and LangChain Expression Language. -- **[`langchain-community`](libs/community)**: Third party integrations. -- **[`langchain`](libs/langchain)**: Chains, agents, and retrieval strategies that make up an application's cognitive architecture. +- **Open-source libraries**: Build your applications using LangChain's [modular building blocks](https://python.langchain.com/docs/expression_language/) and [components](https://python.langchain.com/docs/modules/). Integrate with hundreds of [third-party providers](https://python.langchain.com/docs/integrations/platforms/). +- **Productionization**: Inspect, monitor, and evaluate your apps with [LangSmith](https://python.langchain.com/docs/langsmith/) so that you can constantly optimize and deploy with confidence. +- **Deployment**: Turn any chain into a REST API with [LangServe](https://python.langchain.com/docs/langserve). + +### Open-source libraries +- **`langchain-core`**: Base abstractions and LangChain Expression Language. +- **`langchain-community`**: Third party integrations. + - Some integrations have been further split into **partner packages** that only rely on **`langchain-core`**. Examples include **`langchain_openai`** and **`langchain_anthropic`**. +- **`langchain`**: Chains, agents, and retrieval strategies that make up an application's cognitive architecture. +- **`[LangGraph](https://python.langchain.com/docs/langgraph)`**: A library for building robust and stateful multi-actor applications with LLMs by modeling steps as edges and nodes in a graph. + +### Productionization: +- **[LangSmith](https://python.langchain.com/docs/langsmith)**: A developer platform that lets you debug, test, evaluate, and monitor chains built on any LLM framework and seamlessly integrates with LangChain. + +### Deployment: +- **[LangServe](https://python.langchain.com/docs/langserve)**: A library for deploying LangChain chains as REST APIs. ![Diagram outlining the hierarchical organization of the LangChain framework, displaying the interconnected parts across multiple layers.](docs/static/svg/langchain_stack.svg "LangChain Architecture Overview") ## 🧱 What can you build with LangChain? -**❓ Retrieval augmented generation** + +**❓ Question answering with RAG** - [Documentation](https://python.langchain.com/docs/use_cases/question_answering/) - End-to-end Example: [Chat LangChain](https://chat.langchain.com) and [repo](https://github.com/langchain-ai/chat-langchain) -**πŸ’¬ Analyzing structured data** +**🧱 Extracting structured output** -- [Documentation](https://python.langchain.com/docs/use_cases/qa_structured/sql) -- End-to-end Example: [SQL Llama2 Template](https://github.com/langchain-ai/langchain/tree/master/templates/sql-llama2) +- [Documentation](https://python.langchain.com/docs/use_cases/extraction/) +- End-to-end Example: [SQL Llama2 Template](https://github.com/langchain-ai/langchain-extract/) **πŸ€– Chatbots** @@ -72,34 +78,51 @@ And much more! Head to the [Use cases](https://python.langchain.com/docs/use_cas ## πŸš€ How does LangChain help? The main value props of the LangChain libraries are: -1. **Components**: composable tools and integrations for working with language models. Components are modular and easy-to-use, whether you are using the rest of the LangChain framework or not +1. **Components**: composable building blocks, tools and integrations for working with language models. Components are modular and easy-to-use, whether you are using the rest of the LangChain framework or not 2. **Off-the-shelf chains**: built-in assemblages of components for accomplishing higher-level tasks Off-the-shelf chains make it easy to get started. Components make it easy to customize existing chains and build new ones. +## LangChain Expression Language (LCEL) + +LCEL is the foundation of many of LangChain's components, and is a declarative way to compose chains. LCEL was designed from day 1 to support putting prototypes in production, with no code changes, from the simplest β€œprompt + LLM” chain to the most complex chains. + +- **[Overview](https://python.langchain.com/docs/expression_language/)**: LCEL and its benefits +- **[Interface](https://python.langchain.com/docs/expression_language/interface)**: The standard interface for LCEL objects +- **[Primitives](https://python.langchain.com/docs/expression_language/primitives)**: More on the primitives LCEL includes + +## Components + Components fall into the following **modules**: **πŸ“ƒ Model I/O:** -This includes prompt management, prompt optimization, a generic interface for all LLMs, and common utilities for working with LLMs. +This includes [prompt management](https://python.langchain.com/docs/modules/model_io/prompts/), [prompt optimization](https://python.langchain.com/docs/modules/model_io/prompts/example_selectors/), a generic interface for [chat models](https://python.langchain.com/docs/modules/model_io/chat/) and [LLMs](https://python.langchain.com/docs/modules/model_io/llms/), and common utilities for working with [model outputs](https://python.langchain.com/docs/modules/model_io/output_parsers/). **πŸ“š Retrieval:** -Data Augmented Generation involves specific types of chains that first interact with an external data source to fetch data for use in the generation step. Examples include summarization of long pieces of text and question/answering over specific data sources. +Retrieval Augmented Generation involves [loading data](https://python.langchain.com/docs/modules/data_connection/document_loaders/) from a variety of sources, [preparing it](https://python.langchain.com/docs/modules/data_connection/document_loaders/), [then retrieving it](https://python.langchain.com/docs/modules/data_connection/retrievers/) for use in the generation step. **πŸ€– Agents:** -Agents involve an LLM making decisions about which Actions to take, taking that Action, seeing an Observation, and repeating that until done. LangChain provides a standard interface for agents, a selection of agents to choose from, and examples of end-to-end agents. +Agents allow an LLM autonomy over how a task is accomplished. Agents make decisions about which Actions to take, then take that Action, observe the result, and repeat until the task is complete done. LangChain provides a [standard interface for agents](https://python.langchain.com/docs/modules/agents/), a [selection of agents](https://python.langchain.com/docs/modules/agents/agent_types/) to choose from, and examples of end-to-end agents. ## πŸ“– Documentation Please see [here](https://python.langchain.com) for full documentation, which includes: - [Getting started](https://python.langchain.com/docs/get_started/introduction): installation, setting up the environment, simple examples -- Overview of the [interfaces](https://python.langchain.com/docs/expression_language/), [modules](https://python.langchain.com/docs/modules/), and [integrations](https://python.langchain.com/docs/integrations/providers) -- [Use case](https://python.langchain.com/docs/use_cases/qa_structured/sql) walkthroughs and best practice [guides](https://python.langchain.com/docs/guides/adapters/openai) -- [LangSmith](https://python.langchain.com/docs/langsmith/), [LangServe](https://python.langchain.com/docs/langserve), and [LangChain Template](https://python.langchain.com/docs/templates/) overviews -- [Reference](https://api.python.langchain.com): full API docs +- [Use case](https://python.langchain.com/docs/use_cases/) walkthroughs and best practice [guides](https://python.langchain.com/docs/guides/) +- Overviews of the [interfaces](https://python.langchain.com/docs/expression_language/), [components](https://python.langchain.com/docs/modules/), and [integrations](https://python.langchain.com/docs/integrations/providers) + +You can also check out the full [API Reference docs](https://api.python.langchain.com). + +## 🌐 Ecosystem + +- [πŸ¦œπŸ› οΈ LangSmith](https://python.langchain.com/docs/langsmith/): Tracing and evaluating your language model applications and intelligent agents to help you move from prototype to production. +- [πŸ¦œπŸ•ΈοΈ LangGraph](https://python.langchain.com/docs/langgraph): Creating stateful, multi-actor applications with LLMs, built on top of (and intended to be used with) LangChain primitives. +- [πŸ¦œπŸ“ LangServe](https://python.langchain.com/docs/langserve): Deploying LangChain runnables and chains as REST APIs. + - [LangChain Templates](https://python.langchain.com/docs/templates/): Example applications hosted with LangServe. ## πŸ’ Contributing diff --git a/cookbook/LLaMA2_sql_chat.ipynb b/cookbook/LLaMA2_sql_chat.ipynb index 3b697f314de..375c6740fd8 100644 --- a/cookbook/LLaMA2_sql_chat.ipynb +++ b/cookbook/LLaMA2_sql_chat.ipynb @@ -38,9 +38,9 @@ "\n", "To run locally, we use Ollama.ai. \n", "\n", - "See [here](https://python.langchain.com/docs/integrations/chat/ollama) for details on installation and setup.\n", + "See [here](/docs/integrations/chat/ollama) for details on installation and setup.\n", "\n", - "Also, see [here](https://python.langchain.com/docs/guides/local_llms) for our full guide on local LLMs.\n", + "Also, see [here](/docs/guides/development/local_llms) for our full guide on local LLMs.\n", " \n", "To use an external API, which is not private, we can use Replicate." ] diff --git a/cookbook/Semi_structured_multi_modal_RAG_LLaMA2.ipynb b/cookbook/Semi_structured_multi_modal_RAG_LLaMA2.ipynb index 19b9218ae76..eb72ef730cb 100644 --- a/cookbook/Semi_structured_multi_modal_RAG_LLaMA2.ipynb +++ b/cookbook/Semi_structured_multi_modal_RAG_LLaMA2.ipynb @@ -191,15 +191,15 @@ "source": [ "## Multi-vector retriever\n", "\n", - "Use [multi-vector-retriever](https://python.langchain.com/docs/modules/data_connection/retrievers/multi_vector#summary).\n", + "Use [multi-vector-retriever](/docs/modules/data_connection/retrievers/multi_vector#summary).\n", "\n", "Summaries are used to retrieve raw tables and / or raw chunks of text.\n", "\n", "### Text and Table summaries\n", "\n", - "Here, we use ollama.ai to run LLaMA2 locally. \n", + "Here, we use Ollama to run LLaMA2 locally. \n", "\n", - "See details on installation [here](https://python.langchain.com/docs/guides/local_llms)." + "See details on installation [here](/docs/guides/development/local_llms)." ] }, { diff --git a/docs/docs/additional_resources/tutorials.mdx b/docs/docs/additional_resources/tutorials.mdx index bbb792b7379..2aa3a64c35c 100644 --- a/docs/docs/additional_resources/tutorials.mdx +++ b/docs/docs/additional_resources/tutorials.mdx @@ -21,10 +21,10 @@ ### Featured courses on Deeplearning.AI -- [LangChain for LLM Application Development](https://learn.deeplearning.ai/langchain) -- [LangChain Chat with Your Data](https://learn.deeplearning.ai/langchain-chat-with-your-data) -- [Functions, Tools and Agents with LangChain](https://learn.deeplearning.ai/functions-tools-agents-langchain) -- [Build LLM Apps with LangChain.js](https://learn.deeplearning.ai/courses/build-llm-apps-with-langchain-js) +- [LangChain for LLM Application Development](https://www.deeplearning.ai/short-courses/langchain-for-llm-application-development/) +- [LangChain Chat with Your Data](https://www.deeplearning.ai/short-courses/langchain-chat-with-your-data/) +- [Functions, Tools and Agents with LangChain](https://www.deeplearning.ai/short-courses/functions-tools-agents-langchain/) +- [Build LLM Apps with LangChain.js](https://www.deeplearning.ai/short-courses/build-llm-apps-with-langchain-js/) ### Online courses diff --git a/docs/docs/contributing/documentation/_category_.yml b/docs/docs/contributing/documentation/_category_.yml new file mode 100644 index 00000000000..7a89d511167 --- /dev/null +++ b/docs/docs/contributing/documentation/_category_.yml @@ -0,0 +1,2 @@ +label: 'Documentation' +position: 3 \ No newline at end of file diff --git a/docs/docs/contributing/documentation/style_guide.mdx b/docs/docs/contributing/documentation/style_guide.mdx new file mode 100644 index 00000000000..e8da9425955 --- /dev/null +++ b/docs/docs/contributing/documentation/style_guide.mdx @@ -0,0 +1,138 @@ +--- +sidebar_label: "Style guide" +--- + +# LangChain Documentation Style Guide + +## Introduction + +As LangChain continues to grow, the surface area of documentation required to cover it continues to grow too. +This page provides guidelines for anyone writing documentation for LangChain, as well as some of our philosophies around +organization and structure. + +## Philosophy + +LangChain's documentation aspires to follow the [Diataxis framework](https://diataxis.fr). +Under this framework, all documentation falls under one of four categories: + +- **Tutorials**: Lessons that take the reader by the hand through a series of conceptual steps to complete a project. + - An example of this is our [LCEL streaming guide](/docs/expression_language/streaming). + - Our guides on [custom components](/docs/modules/model_io/chat/custom_chat_model) is another one. +- **How-to guides**: Guides that take the reader through the steps required to solve a real-world problem. + - The clearest examples of this are our [Use case](/docs/use_cases/) quickstart pages. +- **Reference**: Technical descriptions of the machinery and how to operate it. + - Our [Runnable interface](/docs/expression_language/interface) page is an example of this. + - The [API reference pages](https://api.python.langchain.com/) are another. +- **Explanation**: Explanations that clarify and illuminate a particular topic. + - The [LCEL primitives pages](/docs/expression_language/primitives/sequence) are an example of this. + +Each category serves a distinct purpose and requires a specific approach to writing and structuring the content. + +## Taxonomy + +Keeping the above in mind, we have sorted LangChain's docs into categories. It is helpful to think in these terms +when contributing new documentation: + +### Getting started + +The [getting started section](/docs/get_started/introduction) includes a high-level introduction to LangChain, a quickstart that +tours LangChain's various features, and logistical instructions around installation and project setup. + +It contains elements of **How-to guides** and **Explanations**. + +### Use cases + +[Use cases](/docs/use_cases/) are guides that are meant to show how to use LangChain to accomplish a specific task (RAG, information extraction, etc.). +The quickstarts should be good entrypoints for first-time LangChain developers who prefer to learn by getting something practical prototyped, +then taking the pieces apart retrospectively. These should mirror what LangChain is good at. + +The quickstart pages here should fit the **How-to guide** category, with the other pages intended to be **Explanations** of more +in-depth concepts and strategies that accompany the main happy paths. + +:::note +The below sections are listed roughly in order of increasing level of abstraction. +::: + +### Expression Language + +[LangChain Expression Language (LCEL)](/docs/expression_language/) is the fundamental way that most LangChain components fit together, and this section is designed to teach +developers how to use it to build with LangChain's primitives effectively. + +This section should contains **Tutorials** that teach how to stream and use LCEL primitives for more abstract tasks, **Explanations** of specific behaviors, +and some **References** for how to use different methods in the Runnable interface. + +### Components + +The [components section](/docs/modules) covers concepts one level of abstraction higher than LCEL. +Abstract base classes like `BaseChatModel` and `BaseRetriever` should be covered here, as well as core implementations of these base classes, +such as `ChatPromptTemplate` and `RecursiveCharacterTextSplitter`. Customization guides belong here too. + +This section should contain mostly conceptual **Tutorials**, **References**, and **Explanations** of the components they cover. + +:::note +As a general rule of thumb, everything covered in the `Expression Language` and `Components` sections (with the exception of the `Composition` section of components) should +cover only components that exist in `langchain_core`. +::: + +### Integrations + +The [integrations](/docs/integrations/platforms/) are specific implementations of components. These often involve third-party APIs and services. +If this is the case, as a general rule, these are maintained by the third-party partner. + +This section should contain mostly **Explanations** and **References**, though the actual content here is more flexible than other sections and more at the +discretion of the third-party provider. + +:::note +Concepts covered in `Integrations` should generally exist in `langchain_community` or specific partner packages. +::: + +### Guides and Ecosystem + +The [Guides](/docs/guides) and [Ecosystem](/docs/langsmith/) sections should contain guides that address higher-level problems than the sections above. +This includes, but is not limited to, considerations around productionization and development workflows. + +These should contain mostly **How-to guides**, **Explanations**, and **Tutorials**. + +### API references + +LangChain's API references. Should act as **References** (as the name implies) with some **Explanation**-focused content as well. + +## Sample developer journey + +We have set up our docs to assist a new developer to LangChain. Let's walk through the intended path: + +- The developer lands on https://python.langchain.com, and reads through the introduction and the diagram. +- If they are just curious, they may be drawn to the [Quickstart](/docs/get_started/quickstart) to get a high-level tour of what LangChain contains. +- If they have a specific task in mind that they want to accomplish, they will be drawn to the Use-Case section. The use-case should provide a good, concrete hook that shows the value LangChain can provide them and be a good entrypoint to the framework. +- They can then move to learn more about the fundamentals of LangChain through the Expression Language sections. +- Next, they can learn about LangChain's various components and integrations. +- Finally, they can get additional knowledge through the Guides. + +This is only an ideal of course - sections will inevitably reference lower or higher-level concepts that are documented in other sections. + +## Guidelines + +Here are some other guidelines you should think about when writing and organizing documentation. + +### Linking to other sections + +Because sections of the docs do not exist in a vacuum, it is important to link to other sections as often as possible +to allow a developer to learn more about an unfamiliar topic inline. + +This includes linking to the API references as well as conceptual sections! + +### Conciseness + +In general, take a less-is-more approach. If a section with a good explanation of a concept already exists, you should link to it rather than +re-explain it, unless the concept you are documenting presents some new wrinkle. + +Be concise, including in code samples. + +### General style + +- Use active voice and present tense whenever possible. +- Use examples and code snippets to illustrate concepts and usage. +- Use appropriate header levels (`#`, `##`, `###`, etc.) to organize the content hierarchically. +- Use bullet points and numbered lists to break down information into easily digestible chunks. +- Use tables (especially for **Reference** sections) and diagrams often to present information visually. +- Include the table of contents for longer documentation pages to help readers navigate the content, but hide it for shorter pages. diff --git a/docs/docs/contributing/documentation.mdx b/docs/docs/contributing/documentation/technical_logistics.mdx similarity index 99% rename from docs/docs/contributing/documentation.mdx rename to docs/docs/contributing/documentation/technical_logistics.mdx index b7bba374d11..4dbb0204df1 100644 --- a/docs/docs/contributing/documentation.mdx +++ b/docs/docs/contributing/documentation/technical_logistics.mdx @@ -1,7 +1,4 @@ ---- -sidebar_position: 3 ---- -# Contribute Documentation +# Technical logistics LangChain documentation consists of two components: diff --git a/docs/docs/contributing/index.mdx b/docs/docs/contributing/index.mdx index d25212f2862..95783cae45c 100644 --- a/docs/docs/contributing/index.mdx +++ b/docs/docs/contributing/index.mdx @@ -12,7 +12,7 @@ As an open-source project in a rapidly developing field, we are extremely open t There are many ways to contribute to LangChain. Here are some common ways people contribute: -- [**Documentation**](./documentation.mdx): Help improve our docs, including this one! +- [**Documentation**](/docs/contributing/documentation/style_guide): Help improve our docs, including this one! - [**Code**](./code.mdx): Help us write code, fix bugs, or improve our infrastructure. - [**Integrations**](integrations.mdx): Help us integrate with your favorite vendors and tools. - [**Discussions**](https://github.com/langchain-ai/langchain/discussions): Help answer usage questions and discuss issues with users. diff --git a/docs/docs/contributing/repo_structure.mdx b/docs/docs/contributing/repo_structure.mdx index 90f212265c8..fc055e3d0a1 100644 --- a/docs/docs/contributing/repo_structure.mdx +++ b/docs/docs/contributing/repo_structure.mdx @@ -41,7 +41,7 @@ There are other files in the root directory level, but their presence should be The `/docs` directory contains the content for the documentation that is shown at https://python.langchain.com/ and the associated API Reference https://api.python.langchain.com/en/latest/langchain_api_reference.html. -See the [documentation](./documentation) guidelines to learn how to contribute to the documentation. +See the [documentation](/docs/contributing/documentation/style_guide) guidelines to learn how to contribute to the documentation. ## Code diff --git a/docs/docs/expression_language/cookbook/agent.ipynb b/docs/docs/expression_language/cookbook/agent.ipynb deleted file mode 100644 index a2f518ab7c2..00000000000 --- a/docs/docs/expression_language/cookbook/agent.ipynb +++ /dev/null @@ -1,205 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e89f490d", - "metadata": {}, - "source": [ - "# Agents\n", - "\n", - "You can pass a Runnable into an agent. Make sure you have `langchainhub` installed: `pip install langchainhub`" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "af4381de", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain import hub\n", - "from langchain.agents import AgentExecutor, tool\n", - "from langchain.agents.output_parsers import XMLAgentOutputParser\n", - "from langchain_community.chat_models import ChatAnthropic" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "24cc8134", - "metadata": {}, - "outputs": [], - "source": [ - "model = ChatAnthropic(model=\"claude-2\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "67c0b0e4", - "metadata": {}, - "outputs": [], - "source": [ - "@tool\n", - "def search(query: str) -> str:\n", - " \"\"\"Search things about current events.\"\"\"\n", - " return \"32 degrees\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "7203b101", - "metadata": {}, - "outputs": [], - "source": [ - "tool_list = [search]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "b68e756d", - "metadata": {}, - "outputs": [], - "source": [ - "# Get the prompt to use - you can modify this!\n", - "prompt = hub.pull(\"hwchase17/xml-agent-convo\")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "61ab3e9a", - "metadata": {}, - "outputs": [], - "source": [ - "# Logic for going from intermediate steps to a string to pass into model\n", - "# This is pretty tied to the prompt\n", - "def convert_intermediate_steps(intermediate_steps):\n", - " log = \"\"\n", - " for action, observation in intermediate_steps:\n", - " log += (\n", - " f\"{action.tool}{action.tool_input}\"\n", - " f\"{observation}\"\n", - " )\n", - " return log\n", - "\n", - "\n", - "# Logic for converting tools to string to go in prompt\n", - "def convert_tools(tools):\n", - " return \"\\n\".join([f\"{tool.name}: {tool.description}\" for tool in tools])" - ] - }, - { - "cell_type": "markdown", - "id": "260f5988", - "metadata": {}, - "source": [ - "Building an agent from a runnable usually involves a few things:\n", - "\n", - "1. Data processing for the intermediate steps. These need to be represented in a way that the language model can recognize them. This should be pretty tightly coupled to the instructions in the prompt\n", - "\n", - "2. The prompt itself\n", - "\n", - "3. The model, complete with stop tokens if needed\n", - "\n", - "4. The output parser - should be in sync with how the prompt specifies things to be formatted." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "e92f1d6f", - "metadata": {}, - "outputs": [], - "source": [ - "agent = (\n", - " {\n", - " \"input\": lambda x: x[\"input\"],\n", - " \"agent_scratchpad\": lambda x: convert_intermediate_steps(\n", - " x[\"intermediate_steps\"]\n", - " ),\n", - " }\n", - " | prompt.partial(tools=convert_tools(tool_list))\n", - " | model.bind(stop=[\"\", \"\"])\n", - " | XMLAgentOutputParser()\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "6ce6ec7a", - "metadata": {}, - "outputs": [], - "source": [ - "agent_executor = AgentExecutor(agent=agent, tools=tool_list, verbose=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "fb5cb2e3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n", - "\u001b[32;1m\u001b[1;3m searchweather in New York\u001b[0m\u001b[36;1m\u001b[1;3m32 degrees\u001b[0m\u001b[32;1m\u001b[1;3m search\n", - "weather in New York\u001b[0m\u001b[36;1m\u001b[1;3m32 degrees\u001b[0m\u001b[32;1m\u001b[1;3m The weather in New York is 32 degrees\u001b[0m\n", - "\n", - "\u001b[1m> Finished chain.\u001b[0m\n" - ] - }, - { - "data": { - "text/plain": [ - "{'input': 'whats the weather in New york?',\n", - " 'output': 'The weather in New York is 32 degrees'}" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "agent_executor.invoke({\"input\": \"whats the weather in New york?\"})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bce86dd8", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/cookbook/code_writing.ipynb b/docs/docs/expression_language/cookbook/code_writing.ipynb index f8892dc1757..731cba6f56d 100644 --- a/docs/docs/expression_language/cookbook/code_writing.ipynb +++ b/docs/docs/expression_language/cookbook/code_writing.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "1e997ab7", + "metadata": {}, + "source": [ + "---\n", + "sidebar_class_name: hidden\n", + "---" + ] + }, { "cell_type": "markdown", "id": "f09fd305", diff --git a/docs/docs/expression_language/cookbook/embedding_router.ipynb b/docs/docs/expression_language/cookbook/embedding_router.ipynb deleted file mode 100644 index 17bb0e31119..00000000000 --- a/docs/docs/expression_language/cookbook/embedding_router.ipynb +++ /dev/null @@ -1,163 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "cf4fb76d-c534-485b-8b51-a0714ee3b82e", - "metadata": {}, - "source": [ - "# Routing by semantic similarity\n", - "\n", - "With LCEL you can easily add [custom routing logic](/docs/expression_language/how_to/routing#using-a-custom-function) to your chain to dynamically determine the chain logic based on user input. All you need to do is define a function that given an input returns a `Runnable`.\n", - "\n", - "One especially useful technique is to use embeddings to route a query to the most relevant prompt. Here's a very simple example." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b793a0aa", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain-core langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "eef9020a-5f7c-4291-98eb-fa73f17d4b92", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.utils.math import cosine_similarity\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.prompts import PromptTemplate\n", - "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", - "from langchain_openai import ChatOpenAI, OpenAIEmbeddings\n", - "\n", - "physics_template = \"\"\"You are a very smart physics professor. \\\n", - "You are great at answering questions about physics in a concise and easy to understand manner. \\\n", - "When you don't know the answer to a question you admit that you don't know.\n", - "\n", - "Here is a question:\n", - "{query}\"\"\"\n", - "\n", - "math_template = \"\"\"You are a very good mathematician. You are great at answering math questions. \\\n", - "You are so good because you are able to break down hard problems into their component parts, \\\n", - "answer the component parts, and then put them together to answer the broader question.\n", - "\n", - "Here is a question:\n", - "{query}\"\"\"\n", - "\n", - "embeddings = OpenAIEmbeddings()\n", - "prompt_templates = [physics_template, math_template]\n", - "prompt_embeddings = embeddings.embed_documents(prompt_templates)\n", - "\n", - "\n", - "def prompt_router(input):\n", - " query_embedding = embeddings.embed_query(input[\"query\"])\n", - " similarity = cosine_similarity([query_embedding], prompt_embeddings)[0]\n", - " most_similar = prompt_templates[similarity.argmax()]\n", - " print(\"Using MATH\" if most_similar == math_template else \"Using PHYSICS\")\n", - " return PromptTemplate.from_template(most_similar)\n", - "\n", - "\n", - "chain = (\n", - " {\"query\": RunnablePassthrough()}\n", - " | RunnableLambda(prompt_router)\n", - " | ChatOpenAI()\n", - " | StrOutputParser()\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "4d22b0f3-24f2-4a47-9440-065b57ebcdbd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using PHYSICS\n", - "A black hole is a region in space where gravity is extremely strong, so strong that nothing, not even light, can escape its gravitational pull. It is formed when a massive star collapses under its own gravity during a supernova explosion. The collapse causes an incredibly dense mass to be concentrated in a small volume, creating a gravitational field that is so intense that it warps space and time. Black holes have a boundary called the event horizon, which marks the point of no return for anything that gets too close. Beyond the event horizon, the gravitational pull is so strong that even light cannot escape, hence the name \"black hole.\" While we have a good understanding of black holes, there is still much to learn, especially about what happens inside them.\n" - ] - } - ], - "source": [ - "print(chain.invoke(\"What's a black hole\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "f261910d-1de1-4a01-8c8a-308db02b81de", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using MATH\n", - "Thank you for your kind words! I will do my best to break down the concept of a path integral for you.\n", - "\n", - "In mathematics and physics, a path integral is a mathematical tool used to calculate the probability amplitude or wave function of a particle or system of particles. It was introduced by Richard Feynman and is an integral over all possible paths that a particle can take to go from an initial state to a final state.\n", - "\n", - "To understand the concept better, let's consider an example. Suppose we have a particle moving from point A to point B in space. Classically, we would describe this particle's motion using a definite trajectory, but in quantum mechanics, particles can simultaneously take multiple paths from A to B.\n", - "\n", - "The path integral formalism considers all possible paths that the particle could take and assigns a probability amplitude to each path. These probability amplitudes are then added up, taking into account the interference effects between different paths.\n", - "\n", - "To calculate a path integral, we need to define an action, which is a mathematical function that describes the behavior of the system. The action is usually expressed in terms of the particle's position, velocity, and time.\n", - "\n", - "Once we have the action, we can write down the path integral as an integral over all possible paths. Each path is weighted by a factor determined by the action and the principle of least action, which states that a particle takes a path that minimizes the action.\n", - "\n", - "Mathematically, the path integral is expressed as:\n", - "\n", - "∫ e^(iS/Δ§) D[x(t)]\n", - "\n", - "Here, S is the action, Δ§ is the reduced Planck's constant, and D[x(t)] represents the integration over all possible paths x(t) of the particle.\n", - "\n", - "By evaluating this integral, we can obtain the probability amplitude for the particle to go from the initial state to the final state. The absolute square of this amplitude gives us the probability of finding the particle in a particular state.\n", - "\n", - "Path integrals have proven to be a powerful tool in various areas of physics, including quantum mechanics, quantum field theory, and statistical mechanics. They allow us to study complex systems and calculate probabilities that are difficult to obtain using other methods.\n", - "\n", - "I hope this explanation helps you understand the concept of a path integral. If you have any further questions, feel free to ask!\n" - ] - } - ], - "source": [ - "print(chain.invoke(\"What's a path integral\"))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f0c1732a-01ca-4d10-977c-29ed7480972b", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/cookbook/index.mdx b/docs/docs/expression_language/cookbook/index.mdx deleted file mode 100644 index 6effbfe9044..00000000000 --- a/docs/docs/expression_language/cookbook/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Cookbook - -import DocCardList from "@theme/DocCardList"; - -Example code for accomplishing common tasks with the LangChain Expression Language (LCEL). These examples show how to compose different Runnable (the core LCEL interface) components to achieve various tasks. If you're just getting acquainted with LCEL, the [Prompt + LLM](/docs/expression_language/cookbook/prompt_llm_parser) page is a good place to start. - - \ No newline at end of file diff --git a/docs/docs/expression_language/cookbook/memory.ipynb b/docs/docs/expression_language/cookbook/memory.ipynb deleted file mode 100644 index c128d498e3c..00000000000 --- a/docs/docs/expression_language/cookbook/memory.ipynb +++ /dev/null @@ -1,194 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "5062941a", - "metadata": {}, - "source": [ - "# Adding memory\n", - "\n", - "This shows how to add memory to an arbitrary chain. Right now, you can use the memory classes but need to hook it up manually" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18753dee", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "7998efd8", - "metadata": {}, - "outputs": [], - "source": [ - "from operator import itemgetter\n", - "\n", - "from langchain.memory import ConversationBufferMemory\n", - "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n", - "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", - "from langchain_openai import ChatOpenAI\n", - "\n", - "model = ChatOpenAI()\n", - "prompt = ChatPromptTemplate.from_messages(\n", - " [\n", - " (\"system\", \"You are a helpful chatbot\"),\n", - " MessagesPlaceholder(variable_name=\"history\"),\n", - " (\"human\", \"{input}\"),\n", - " ]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "fa0087f3", - "metadata": {}, - "outputs": [], - "source": [ - "memory = ConversationBufferMemory(return_messages=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "06b531ae", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'history': []}" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "memory.load_memory_variables({})" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d9437af6", - "metadata": {}, - "outputs": [], - "source": [ - "chain = (\n", - " RunnablePassthrough.assign(\n", - " history=RunnableLambda(memory.load_memory_variables) | itemgetter(\"history\")\n", - " )\n", - " | prompt\n", - " | model\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "bed1e260", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='Hello Bob! How can I assist you today?', additional_kwargs={}, example=False)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inputs = {\"input\": \"hi im bob\"}\n", - "response = chain.invoke(inputs)\n", - "response" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "890475b4", - "metadata": {}, - "outputs": [], - "source": [ - "memory.save_context(inputs, {\"output\": response.content})" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e8fcb77f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'history': [HumanMessage(content='hi im bob', additional_kwargs={}, example=False),\n", - " AIMessage(content='Hello Bob! How can I assist you today?', additional_kwargs={}, example=False)]}" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "memory.load_memory_variables({})" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "d837d5c3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='Your name is Bob.', additional_kwargs={}, example=False)" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inputs = {\"input\": \"whats my name\"}\n", - "response = chain.invoke(inputs)\n", - "response" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/cookbook/prompt_size.ipynb b/docs/docs/expression_language/cookbook/prompt_size.ipynb index 9a73e5d2e7e..8d6aa2a2d40 100644 --- a/docs/docs/expression_language/cookbook/prompt_size.ipynb +++ b/docs/docs/expression_language/cookbook/prompt_size.ipynb @@ -34,7 +34,7 @@ "from langchain.agents import AgentExecutor, load_tools\n", "from langchain.agents.format_scratchpad import format_to_openai_function_messages\n", "from langchain.agents.output_parsers import OpenAIFunctionsAgentOutputParser\n", - "from langchain.tools import WikipediaQueryRun\n", + "from langchain_community.tools import WikipediaQueryRun\n", "from langchain_community.utilities import WikipediaAPIWrapper\n", "from langchain_core.prompt_values import ChatPromptValue\n", "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n", diff --git a/docs/docs/expression_language/cookbook/retrieval.ipynb b/docs/docs/expression_language/cookbook/retrieval.ipynb deleted file mode 100644 index 89df3b6a0cf..00000000000 --- a/docs/docs/expression_language/cookbook/retrieval.ipynb +++ /dev/null @@ -1,492 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "id": "abe47592-909c-4844-bf44-9e55c2fb4bfa", - "metadata": {}, - "source": [ - "---\n", - "sidebar_position: 1\n", - "title: RAG\n", - "---\n" - ] - }, - { - "cell_type": "markdown", - "id": "91c5ef3d", - "metadata": {}, - "source": [ - "Let's look at adding in a retrieval step to a prompt and LLM, which adds up to a \"retrieval-augmented generation\" chain" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "7f25d9e9-d192-42e9-af50-5660a4bfb0d9", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai faiss-cpu tiktoken" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "33be32af", - "metadata": {}, - "outputs": [], - "source": [ - "from operator import itemgetter\n", - "\n", - "from langchain_community.vectorstores import FAISS\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.prompts import ChatPromptTemplate\n", - "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", - "from langchain_openai import ChatOpenAI, OpenAIEmbeddings" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "bfc47ec1", - "metadata": {}, - "outputs": [], - "source": [ - "vectorstore = FAISS.from_texts(\n", - " [\"harrison worked at kensho\"], embedding=OpenAIEmbeddings()\n", - ")\n", - "retriever = vectorstore.as_retriever()\n", - "\n", - "template = \"\"\"Answer the question based only on the following context:\n", - "{context}\n", - "\n", - "Question: {question}\n", - "\"\"\"\n", - "prompt = ChatPromptTemplate.from_template(template)\n", - "\n", - "model = ChatOpenAI()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "eae31755", - "metadata": {}, - "outputs": [], - "source": [ - "chain = (\n", - " {\"context\": retriever, \"question\": RunnablePassthrough()}\n", - " | prompt\n", - " | model\n", - " | StrOutputParser()\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "f3040b0c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'Harrison worked at Kensho.'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chain.invoke(\"where did harrison work?\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "e1d20c7c", - "metadata": {}, - "outputs": [], - "source": [ - "template = \"\"\"Answer the question based only on the following context:\n", - "{context}\n", - "\n", - "Question: {question}\n", - "\n", - "Answer in the following language: {language}\n", - "\"\"\"\n", - "prompt = ChatPromptTemplate.from_template(template)\n", - "\n", - "chain = (\n", - " {\n", - " \"context\": itemgetter(\"question\") | retriever,\n", - " \"question\": itemgetter(\"question\"),\n", - " \"language\": itemgetter(\"language\"),\n", - " }\n", - " | prompt\n", - " | model\n", - " | StrOutputParser()\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "7ee8b2d4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'Harrison ha lavorato a Kensho.'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chain.invoke({\"question\": \"where did harrison work\", \"language\": \"italian\"})" - ] - }, - { - "cell_type": "markdown", - "id": "f007669c", - "metadata": {}, - "source": [ - "## Conversational Retrieval Chain\n", - "\n", - "We can easily add in conversation history. This primarily means adding in chat_message_history" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "3f30c348", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.messages import AIMessage, HumanMessage, get_buffer_string\n", - "from langchain_core.prompts import format_document\n", - "from langchain_core.runnables import RunnableParallel" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "64ab1dbf", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.prompts.prompt import PromptTemplate\n", - "\n", - "_template = \"\"\"Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question, in its original language.\n", - "\n", - "Chat History:\n", - "{chat_history}\n", - "Follow Up Input: {question}\n", - "Standalone question:\"\"\"\n", - "CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(_template)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "7d628c97", - "metadata": {}, - "outputs": [], - "source": [ - "template = \"\"\"Answer the question based only on the following context:\n", - "{context}\n", - "\n", - "Question: {question}\n", - "\"\"\"\n", - "ANSWER_PROMPT = ChatPromptTemplate.from_template(template)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "f60a5d0f", - "metadata": {}, - "outputs": [], - "source": [ - "DEFAULT_DOCUMENT_PROMPT = PromptTemplate.from_template(template=\"{page_content}\")\n", - "\n", - "\n", - "def _combine_documents(\n", - " docs, document_prompt=DEFAULT_DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", - "):\n", - " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", - " return document_separator.join(doc_strings)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "5c32cc89", - "metadata": {}, - "outputs": [], - "source": [ - "_inputs = RunnableParallel(\n", - " standalone_question=RunnablePassthrough.assign(\n", - " chat_history=lambda x: get_buffer_string(x[\"chat_history\"])\n", - " )\n", - " | CONDENSE_QUESTION_PROMPT\n", - " | ChatOpenAI(temperature=0)\n", - " | StrOutputParser(),\n", - ")\n", - "_context = {\n", - " \"context\": itemgetter(\"standalone_question\") | retriever | _combine_documents,\n", - " \"question\": lambda x: x[\"standalone_question\"],\n", - "}\n", - "conversational_qa_chain = _inputs | _context | ANSWER_PROMPT | ChatOpenAI()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "135c8205", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='Harrison was employed at Kensho.')" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "conversational_qa_chain.invoke(\n", - " {\n", - " \"question\": \"where did harrison work?\",\n", - " \"chat_history\": [],\n", - " }\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "424e7e7a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='Harrison worked at Kensho.')" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "conversational_qa_chain.invoke(\n", - " {\n", - " \"question\": \"where did he work?\",\n", - " \"chat_history\": [\n", - " HumanMessage(content=\"Who wrote this notebook?\"),\n", - " AIMessage(content=\"Harrison\"),\n", - " ],\n", - " }\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "c5543183", - "metadata": {}, - "source": [ - "### With Memory and returning source documents\n", - "\n", - "This shows how to use memory with the above. For memory, we need to manage that outside at the memory. For returning the retrieved documents, we just need to pass them through all the way." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "e31dd17c", - "metadata": {}, - "outputs": [], - "source": [ - "from operator import itemgetter\n", - "\n", - "from langchain.memory import ConversationBufferMemory" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "d4bffe94", - "metadata": {}, - "outputs": [], - "source": [ - "memory = ConversationBufferMemory(\n", - " return_messages=True, output_key=\"answer\", input_key=\"question\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "733be985", - "metadata": {}, - "outputs": [], - "source": [ - "# First we add a step to load memory\n", - "# This adds a \"memory\" key to the input object\n", - "loaded_memory = RunnablePassthrough.assign(\n", - " chat_history=RunnableLambda(memory.load_memory_variables) | itemgetter(\"history\"),\n", - ")\n", - "# Now we calculate the standalone question\n", - "standalone_question = {\n", - " \"standalone_question\": {\n", - " \"question\": lambda x: x[\"question\"],\n", - " \"chat_history\": lambda x: get_buffer_string(x[\"chat_history\"]),\n", - " }\n", - " | CONDENSE_QUESTION_PROMPT\n", - " | ChatOpenAI(temperature=0)\n", - " | StrOutputParser(),\n", - "}\n", - "# Now we retrieve the documents\n", - "retrieved_documents = {\n", - " \"docs\": itemgetter(\"standalone_question\") | retriever,\n", - " \"question\": lambda x: x[\"standalone_question\"],\n", - "}\n", - "# Now we construct the inputs for the final prompt\n", - "final_inputs = {\n", - " \"context\": lambda x: _combine_documents(x[\"docs\"]),\n", - " \"question\": itemgetter(\"question\"),\n", - "}\n", - "# And finally, we do the part that returns the answers\n", - "answer = {\n", - " \"answer\": final_inputs | ANSWER_PROMPT | ChatOpenAI(),\n", - " \"docs\": itemgetter(\"docs\"),\n", - "}\n", - "# And now we put it all together!\n", - "final_chain = loaded_memory | standalone_question | retrieved_documents | answer" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "806e390c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'answer': AIMessage(content='Harrison was employed at Kensho.'),\n", - " 'docs': [Document(page_content='harrison worked at kensho')]}" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inputs = {\"question\": \"where did harrison work?\"}\n", - "result = final_chain.invoke(inputs)\n", - "result" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "977399fd", - "metadata": {}, - "outputs": [], - "source": [ - "# Note that the memory does not save automatically\n", - "# This will be improved in the future\n", - "# For now you need to save it yourself\n", - "memory.save_context(inputs, {\"answer\": result[\"answer\"].content})" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "f94f7de4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'history': [HumanMessage(content='where did harrison work?'),\n", - " AIMessage(content='Harrison was employed at Kensho.')]}" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "memory.load_memory_variables({})" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "88f2b7cd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'answer': AIMessage(content='Harrison actually worked at Kensho.'),\n", - " 'docs': [Document(page_content='harrison worked at kensho')]}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inputs = {\"question\": \"but where did he really work?\"}\n", - "result = final_chain.invoke(inputs)\n", - "result" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "207a2782", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/cookbook/sql_db.ipynb b/docs/docs/expression_language/cookbook/sql_db.ipynb deleted file mode 100644 index b7085c2f26f..00000000000 --- a/docs/docs/expression_language/cookbook/sql_db.ipynb +++ /dev/null @@ -1,225 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "id": "c14da114-1a4a-487d-9cff-e0e8c30ba366", - "metadata": {}, - "source": [ - "---\n", - "sidebar_position: 3\n", - "title: Querying a SQL DB\n", - "---\n" - ] - }, - { - "cell_type": "markdown", - "id": "506e9636", - "metadata": {}, - "source": [ - "We can replicate our SQLDatabaseChain with Runnables." - ] - }, - { - "cell_type": "code", - "id": "b3121aa8", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "7a927516", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.prompts import ChatPromptTemplate\n", - "\n", - "template = \"\"\"Based on the table schema below, write a SQL query that would answer the user's question:\n", - "{schema}\n", - "\n", - "Question: {question}\n", - "SQL Query:\"\"\"\n", - "prompt = ChatPromptTemplate.from_template(template)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3f51f386", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_community.utilities import SQLDatabase" - ] - }, - { - "cell_type": "markdown", - "id": "7c3449d6-684b-416e-ba16-90a035835a88", - "metadata": {}, - "source": [ - "We'll need the Chinook sample DB for this example. There's many places to download it from, e.g. https://database.guide/2-sample-databases-sqlite/" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "2ccca6fc", - "metadata": {}, - "outputs": [], - "source": [ - "db = SQLDatabase.from_uri(\"sqlite:///./Chinook.db\")" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "05ba88ee", - "metadata": {}, - "outputs": [], - "source": [ - "def get_schema(_):\n", - " return db.get_table_info()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "a4eda902", - "metadata": {}, - "outputs": [], - "source": [ - "def run_query(query):\n", - " return db.run(query)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "5046cb17", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.runnables import RunnablePassthrough\n", - "from langchain_openai import ChatOpenAI\n", - "\n", - "model = ChatOpenAI()\n", - "\n", - "sql_response = (\n", - " RunnablePassthrough.assign(schema=get_schema)\n", - " | prompt\n", - " | model.bind(stop=[\"\\nSQLResult:\"])\n", - " | StrOutputParser()\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "a5552039", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'SELECT COUNT(*) FROM Employee'" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sql_response.invoke({\"question\": \"How many employees are there?\"})" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "d6fee130", - "metadata": {}, - "outputs": [], - "source": [ - "template = \"\"\"Based on the table schema below, question, sql query, and sql response, write a natural language response:\n", - "{schema}\n", - "\n", - "Question: {question}\n", - "SQL Query: {query}\n", - "SQL Response: {response}\"\"\"\n", - "prompt_response = ChatPromptTemplate.from_template(template)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "923aa634", - "metadata": {}, - "outputs": [], - "source": [ - "full_chain = (\n", - " RunnablePassthrough.assign(query=sql_response).assign(\n", - " schema=get_schema,\n", - " response=lambda x: db.run(x[\"query\"]),\n", - " )\n", - " | prompt_response\n", - " | model\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "e94963d8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='There are 8 employees.', additional_kwargs={}, example=False)" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_chain.invoke({\"question\": \"How many employees are there?\"})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4f358d7b-a721-4db3-9f92-f06913428afc", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/cookbook/tools.ipynb b/docs/docs/expression_language/cookbook/tools.ipynb deleted file mode 100644 index d214e8791c8..00000000000 --- a/docs/docs/expression_language/cookbook/tools.ipynb +++ /dev/null @@ -1,122 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "29781123", - "metadata": {}, - "source": [ - "# Using tools\n", - "\n", - "You can use any Tools with Runnables easily." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a5c579dd-2e22-41b0-a789-346dfdecb5a2", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai duckduckgo-search" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "9232d2a9", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.tools import DuckDuckGoSearchRun\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.prompts import ChatPromptTemplate\n", - "from langchain_openai import ChatOpenAI" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "a0c64d2c", - "metadata": {}, - "outputs": [], - "source": [ - "search = DuckDuckGoSearchRun()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "391969b6", - "metadata": {}, - "outputs": [], - "source": [ - "template = \"\"\"turn the following user input into a search query for a search engine:\n", - "\n", - "{input}\"\"\"\n", - "prompt = ChatPromptTemplate.from_template(template)\n", - "\n", - "model = ChatOpenAI()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "e3d9d20d", - "metadata": {}, - "outputs": [], - "source": [ - "chain = prompt | model | StrOutputParser() | search" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "55f2967d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'What sports games are on TV today & tonight? Watch and stream live sports on TV today, tonight, tomorrow. Today\\'s 2023 sports TV schedule includes football, basketball, baseball, hockey, motorsports, soccer and more. Watch on TV or stream online on ESPN, FOX, FS1, CBS, NBC, ABC, Peacock, Paramount+, fuboTV, local channels and many other networks. MLB Games Tonight: How to Watch on TV, Streaming & Odds - Thursday, September 7. Seattle Mariners\\' Julio Rodriguez greets teammates in the dugout after scoring against the Oakland Athletics in a ... Circle - Country Music and Lifestyle. Live coverage of all the MLB action today is available to you, with the information provided below. The Brewers will look to pick up a road win at PNC Park against the Pirates on Wednesday at 12:35 PM ET. Check out the latest odds and with BetMGM Sportsbook. Use bonus code \"GNPLAY\" for special offers! MLB Games Tonight: How to Watch on TV, Streaming & Odds - Tuesday, September 5. Houston Astros\\' Kyle Tucker runs after hitting a double during the fourth inning of a baseball game against the Los Angeles Angels, Sunday, Aug. 13, 2023, in Houston. (AP Photo/Eric Christian Smith) (APMedia) The Houston Astros versus the Texas Rangers is one of ... The second half of tonight\\'s college football schedule still has some good games remaining to watch on your television.. We\\'ve already seen an exciting one when Colorado upset TCU. And we saw some ...'" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chain.invoke({\"input\": \"I'd like to figure out what games are tonight\"})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a16949cf-00ea-43c6-a6aa-797ad4f6918d", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "poetry-venv", - "language": "python", - "name": "poetry-venv" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/get_started.ipynb b/docs/docs/expression_language/get_started.ipynb index 16d10e379db..7d1a3e0c33f 100644 --- a/docs/docs/expression_language/get_started.ipynb +++ b/docs/docs/expression_language/get_started.ipynb @@ -509,7 +509,7 @@ "source": [ "## Next steps\n", "\n", - "We recommend reading our [Why use LCEL](/docs/expression_language/why) section next to see a side-by-side comparison of the code needed to produce common functionality with and without LCEL." + "We recommend reading our [Advantages of LCEL](/docs/expression_language/why) section next to see a side-by-side comparison of the code needed to produce common functionality with and without LCEL." ] } ], diff --git a/docs/docs/expression_language/how_to/decorator.ipynb b/docs/docs/expression_language/how_to/decorator.ipynb index e01acfafc4b..eccbfd708d4 100644 --- a/docs/docs/expression_language/how_to/decorator.ipynb +++ b/docs/docs/expression_language/how_to/decorator.ipynb @@ -5,9 +5,9 @@ "id": "b45110ef", "metadata": {}, "source": [ - "# Create a runnable with the `@chain` decorator\n", + "# Create a runnable with the @chain decorator\n", "\n", - "You can also turn an arbitrary function into a chain by adding a `@chain` decorator. This is functionaly equivalent to wrapping in a [`RunnableLambda`](./functions).\n", + "You can also turn an arbitrary function into a chain by adding a `@chain` decorator. This is functionaly equivalent to wrapping in a [`RunnableLambda`](/docs/expression_language/primitives/functions).\n", "\n", "This will have the benefit of improved observability by tracing your chain correctly. Any calls to runnables inside this function will be traced as nested childen.\n", "\n", diff --git a/docs/docs/expression_language/how_to/fallbacks.ipynb b/docs/docs/expression_language/how_to/fallbacks.ipynb deleted file mode 100644 index de915b32403..00000000000 --- a/docs/docs/expression_language/how_to/fallbacks.ipynb +++ /dev/null @@ -1,310 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "19c9cbd6", - "metadata": {}, - "source": [ - "# Add fallbacks\n", - "\n", - "There are many possible points of failure in an LLM application, whether that be issues with LLM API's, poor model outputs, issues with other integrations, etc. Fallbacks help you gracefully handle and isolate these issues.\n", - "\n", - "Crucially, fallbacks can be applied not only on the LLM level but on the whole runnable level." - ] - }, - { - "cell_type": "markdown", - "id": "a6bb9ba9", - "metadata": {}, - "source": [ - "## Handling LLM API Errors\n", - "\n", - "This is maybe the most common use case for fallbacks. A request to an LLM API can fail for a variety of reasons - the API could be down, you could have hit rate limits, any number of things. Therefore, using fallbacks can help protect against these types of things.\n", - "\n", - "IMPORTANT: By default, a lot of the LLM wrappers catch errors and retry. You will most likely want to turn those off when working with fallbacks. Otherwise the first wrapper will keep on retrying and not failing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ebb61b1f", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "d3e893bf", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_community.chat_models import ChatAnthropic\n", - "from langchain_openai import ChatOpenAI" - ] - }, - { - "cell_type": "markdown", - "id": "4847c82d", - "metadata": {}, - "source": [ - "First, let's mock out what happens if we hit a RateLimitError from OpenAI" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "dfdd8bf5", - "metadata": {}, - "outputs": [], - "source": [ - "from unittest.mock import patch\n", - "\n", - "import httpx\n", - "from openai import RateLimitError\n", - "\n", - "request = httpx.Request(\"GET\", \"/\")\n", - "response = httpx.Response(200, request=request)\n", - "error = RateLimitError(\"rate limit\", response=response, body=\"\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e6fdffc1", - "metadata": {}, - "outputs": [], - "source": [ - "# Note that we set max_retries = 0 to avoid retrying on RateLimits, etc\n", - "openai_llm = ChatOpenAI(max_retries=0)\n", - "anthropic_llm = ChatAnthropic()\n", - "llm = openai_llm.with_fallbacks([anthropic_llm])" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "584461ab", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hit error\n" - ] - } - ], - "source": [ - "# Let's use just the OpenAI LLm first, to show that we run into an error\n", - "with patch(\"openai.resources.chat.completions.Completions.create\", side_effect=error):\n", - " try:\n", - " print(openai_llm.invoke(\"Why did the chicken cross the road?\"))\n", - " except RateLimitError:\n", - " print(\"Hit error\")" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "4fc1e673", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "content=' I don\\'t actually know why the chicken crossed the road, but here are some possible humorous answers:\\n\\n- To get to the other side!\\n\\n- It was too chicken to just stand there. \\n\\n- It wanted a change of scenery.\\n\\n- It wanted to show the possum it could be done.\\n\\n- It was on its way to a poultry farmers\\' convention.\\n\\nThe joke plays on the double meaning of \"the other side\" - literally crossing the road to the other side, or the \"other side\" meaning the afterlife. So it\\'s an anti-joke, with a silly or unexpected pun as the answer.' additional_kwargs={} example=False\n" - ] - } - ], - "source": [ - "# Now let's try with fallbacks to Anthropic\n", - "with patch(\"openai.resources.chat.completions.Completions.create\", side_effect=error):\n", - " try:\n", - " print(llm.invoke(\"Why did the chicken cross the road?\"))\n", - " except RateLimitError:\n", - " print(\"Hit error\")" - ] - }, - { - "cell_type": "markdown", - "id": "f00bea25", - "metadata": {}, - "source": [ - "We can use our \"LLM with Fallbacks\" as we would a normal LLM." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "4f8eaaa0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "content=\" I don't actually know why the kangaroo crossed the road, but I'm happy to take a guess! Maybe the kangaroo was trying to get to the other side to find some tasty grass to eat. Or maybe it was trying to get away from a predator or other danger. Kangaroos do need to cross roads and other open areas sometimes as part of their normal activities. Whatever the reason, I'm sure the kangaroo looked both ways before hopping across!\" additional_kwargs={} example=False\n" - ] - } - ], - "source": [ - "from langchain_core.prompts import ChatPromptTemplate\n", - "\n", - "prompt = ChatPromptTemplate.from_messages(\n", - " [\n", - " (\n", - " \"system\",\n", - " \"You're a nice assistant who always includes a compliment in your response\",\n", - " ),\n", - " (\"human\", \"Why did the {animal} cross the road\"),\n", - " ]\n", - ")\n", - "chain = prompt | llm\n", - "with patch(\"openai.resources.chat.completions.Completions.create\", side_effect=error):\n", - " try:\n", - " print(chain.invoke({\"animal\": \"kangaroo\"}))\n", - " except RateLimitError:\n", - " print(\"Hit error\")" - ] - }, - { - "cell_type": "markdown", - "id": "ef9f0f39-0b9f-4723-a394-f61c98c75d41", - "metadata": {}, - "source": [ - "### Specifying errors to handle\n", - "\n", - "We can also specify the errors to handle if we want to be more specific about when the fallback is invoked:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e4069ca4-1c16-4915-9a8c-b2732869ae27", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hit error\n" - ] - } - ], - "source": [ - "llm = openai_llm.with_fallbacks(\n", - " [anthropic_llm], exceptions_to_handle=(KeyboardInterrupt,)\n", - ")\n", - "\n", - "chain = prompt | llm\n", - "with patch(\"openai.resources.chat.completions.Completions.create\", side_effect=error):\n", - " try:\n", - " print(chain.invoke({\"animal\": \"kangaroo\"}))\n", - " except RateLimitError:\n", - " print(\"Hit error\")" - ] - }, - { - "cell_type": "markdown", - "id": "8d62241b", - "metadata": {}, - "source": [ - "## Fallbacks for Sequences\n", - "\n", - "We can also create fallbacks for sequences, that are sequences themselves. Here we do that with two different models: ChatOpenAI and then normal OpenAI (which does not use a chat model). Because OpenAI is NOT a chat model, you likely want a different prompt." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "6d0b8056", - "metadata": {}, - "outputs": [], - "source": [ - "# First let's create a chain with a ChatModel\n", - "# We add in a string output parser here so the outputs between the two are the same type\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "\n", - "chat_prompt = ChatPromptTemplate.from_messages(\n", - " [\n", - " (\n", - " \"system\",\n", - " \"You're a nice assistant who always includes a compliment in your response\",\n", - " ),\n", - " (\"human\", \"Why did the {animal} cross the road\"),\n", - " ]\n", - ")\n", - "# Here we're going to use a bad model name to easily create a chain that will error\n", - "chat_model = ChatOpenAI(model_name=\"gpt-fake\")\n", - "bad_chain = chat_prompt | chat_model | StrOutputParser()" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "8d1fc2a5", - "metadata": {}, - "outputs": [], - "source": [ - "# Now lets create a chain with the normal OpenAI model\n", - "from langchain.prompts import PromptTemplate\n", - "from langchain_openai import OpenAI\n", - "\n", - "prompt_template = \"\"\"Instructions: You should always include a compliment in your response.\n", - "\n", - "Question: Why did the {animal} cross the road?\"\"\"\n", - "prompt = PromptTemplate.from_template(prompt_template)\n", - "llm = OpenAI()\n", - "good_chain = prompt | llm" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "283bfa44", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'\\n\\nAnswer: The turtle crossed the road to get to the other side, and I have to say he had some impressive determination.'" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# We can now create a final chain which combines the two\n", - "chain = bad_chain.with_fallbacks([good_chain])\n", - "chain.invoke({\"animal\": \"turtle\"})" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/how_to/functions.ipynb b/docs/docs/expression_language/how_to/functions.ipynb deleted file mode 100644 index 9c69d2deedf..00000000000 --- a/docs/docs/expression_language/how_to/functions.ipynb +++ /dev/null @@ -1,206 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "id": "ce0e08fd", - "metadata": {}, - "source": [ - "---\n", - "sidebar_position: 2\n", - "title: \"RunnableLambda: Run Custom Functions\"\n", - "keywords: [RunnableLambda, LCEL]\n", - "---" - ] - }, - { - "cell_type": "markdown", - "id": "fbc4bf6e", - "metadata": {}, - "source": [ - "# Run custom functions\n", - "\n", - "You can use arbitrary functions in the pipeline.\n", - "\n", - "Note that all inputs to these functions need to be a SINGLE argument. If you have a function that accepts multiple arguments, you should write a wrapper that accepts a single input and unpacks it into multiple argument." - ] - }, - { - "cell_type": "raw", - "id": "9a5fe916", - "metadata": {}, - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "6bb221b3", - "metadata": {}, - "outputs": [], - "source": [ - "from operator import itemgetter\n", - "\n", - "from langchain_core.prompts import ChatPromptTemplate\n", - "from langchain_core.runnables import RunnableLambda\n", - "from langchain_openai import ChatOpenAI\n", - "\n", - "\n", - "def length_function(text):\n", - " return len(text)\n", - "\n", - "\n", - "def _multiple_length_function(text1, text2):\n", - " return len(text1) * len(text2)\n", - "\n", - "\n", - "def multiple_length_function(_dict):\n", - " return _multiple_length_function(_dict[\"text1\"], _dict[\"text2\"])\n", - "\n", - "\n", - "prompt = ChatPromptTemplate.from_template(\"what is {a} + {b}\")\n", - "model = ChatOpenAI()\n", - "\n", - "chain1 = prompt | model\n", - "\n", - "chain = (\n", - " {\n", - " \"a\": itemgetter(\"foo\") | RunnableLambda(length_function),\n", - " \"b\": {\"text1\": itemgetter(\"foo\"), \"text2\": itemgetter(\"bar\")}\n", - " | RunnableLambda(multiple_length_function),\n", - " }\n", - " | prompt\n", - " | model\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "5488ec85", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "AIMessage(content='3 + 9 equals 12.')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chain.invoke({\"foo\": \"bar\", \"bar\": \"gah\"})" - ] - }, - { - "cell_type": "markdown", - "id": "4728ddd9-914d-42ce-ae9b-72c9ce8ec940", - "metadata": {}, - "source": [ - "## Accepting a Runnable Config\n", - "\n", - "Runnable lambdas can optionally accept a [RunnableConfig](https://api.python.langchain.com/en/latest/runnables/langchain_core.runnables.config.RunnableConfig.html#langchain_core.runnables.config.RunnableConfig), which they can use to pass callbacks, tags, and other configuration information to nested runs." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "80b3b5f6-5d58-44b9-807e-cce9a46bf49f", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.runnables import RunnableConfig" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ff0daf0c-49dd-4d21-9772-e5fa133c5f36", - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "\n", - "\n", - "def parse_or_fix(text: str, config: RunnableConfig):\n", - " fixing_chain = (\n", - " ChatPromptTemplate.from_template(\n", - " \"Fix the following text:\\n\\n```text\\n{input}\\n```\\nError: {error}\"\n", - " \" Don't narrate, just respond with the fixed data.\"\n", - " )\n", - " | ChatOpenAI()\n", - " | StrOutputParser()\n", - " )\n", - " for _ in range(3):\n", - " try:\n", - " return json.loads(text)\n", - " except Exception as e:\n", - " text = fixing_chain.invoke({\"input\": text, \"error\": e}, config)\n", - " return \"Failed to parse\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1a5e709e-9d75-48c7-bb9c-503251990505", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'foo': 'bar'}\n", - "Tokens Used: 65\n", - "\tPrompt Tokens: 56\n", - "\tCompletion Tokens: 9\n", - "Successful Requests: 1\n", - "Total Cost (USD): $0.00010200000000000001\n" - ] - } - ], - "source": [ - "from langchain.callbacks import get_openai_callback\n", - "\n", - "with get_openai_callback() as cb:\n", - " output = RunnableLambda(parse_or_fix).invoke(\n", - " \"{foo: bar}\", {\"tags\": [\"my-tag\"], \"callbacks\": [cb]}\n", - " )\n", - " print(output)\n", - " print(cb)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29f55c38", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/expression_language/how_to/index.mdx b/docs/docs/expression_language/how_to/index.mdx deleted file mode 100644 index 0f0ef5d9730..00000000000 --- a/docs/docs/expression_language/how_to/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -sidebar_position: 2 ---- - -# How to - -import DocCardList from "@theme/DocCardList"; - - \ No newline at end of file diff --git a/docs/docs/expression_language/how_to/inspect.ipynb b/docs/docs/expression_language/how_to/inspect.ipynb index 8c3bae47274..5e7e7f7f7e7 100644 --- a/docs/docs/expression_language/how_to/inspect.ipynb +++ b/docs/docs/expression_language/how_to/inspect.ipynb @@ -30,9 +30,9 @@ "outputs": [], "source": [ "from langchain.prompts import ChatPromptTemplate\n", - "from langchain.vectorstores import FAISS\n", + "from langchain_community.vectorstores import FAISS\n", "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", + "from langchain_core.runnables import RunnablePassthrough\n", "from langchain_openai import ChatOpenAI, OpenAIEmbeddings" ] }, diff --git a/docs/docs/expression_language/how_to/routing.ipynb b/docs/docs/expression_language/how_to/routing.ipynb index b555a161e56..ba5485de323 100644 --- a/docs/docs/expression_language/how_to/routing.ipynb +++ b/docs/docs/expression_language/how_to/routing.ipynb @@ -7,7 +7,7 @@ "source": [ "---\n", "sidebar_position: 3\n", - "title: \"RunnableBranch: Dynamically route logic based on input\"\n", + "title: \"Route logic based on input\"\n", "keywords: [RunnableBranch, LCEL]\n", "---" ] @@ -25,7 +25,7 @@ "\n", "There are two ways to perform routing:\n", "\n", - "1. Conditionally return runnables from a [`RunnableLambda`](./functions) (recommended)\n", + "1. Conditionally return runnables from a [`RunnableLambda`](/docs/expression_language/primitives/functions) (recommended)\n", "2. Using a `RunnableBranch`.\n", "\n", "We'll illustrate both methods using a two step sequence where the first step classifies an input question as being about `LangChain`, `Anthropic`, or `Other`, then routes to a corresponding prompt chain." @@ -42,22 +42,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "8a8a1967", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "' Anthropic'" + "'Anthropic'" ] }, + "execution_count": 1, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "from langchain_community.chat_models import ChatAnthropic\n", + "from langchain_anthropic import ChatAnthropic\n", "from langchain_core.output_parsers import StrOutputParser\n", "from langchain_core.prompts import PromptTemplate\n", "\n", @@ -73,7 +74,7 @@ "\n", "Classification:\"\"\"\n", " )\n", - " | ChatAnthropic()\n", + " | ChatAnthropic(model_name=\"claude-3-haiku-20240307\")\n", " | StrOutputParser()\n", ")\n", "\n", @@ -90,42 +91,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "89d7722d", "metadata": {}, "outputs": [], "source": [ - "langchain_chain = (\n", - " PromptTemplate.from_template(\n", - " \"\"\"You are an expert in langchain. \\\n", + "langchain_chain = PromptTemplate.from_template(\n", + " \"\"\"You are an expert in langchain. \\\n", "Always answer questions starting with \"As Harrison Chase told me\". \\\n", "Respond to the following question:\n", "\n", "Question: {question}\n", "Answer:\"\"\"\n", - " )\n", - " | ChatAnthropic()\n", - ")\n", - "anthropic_chain = (\n", - " PromptTemplate.from_template(\n", - " \"\"\"You are an expert in anthropic. \\\n", + ") | ChatAnthropic(model_name=\"claude-3-haiku-20240307\")\n", + "anthropic_chain = PromptTemplate.from_template(\n", + " \"\"\"You are an expert in anthropic. \\\n", "Always answer questions starting with \"As Dario Amodei told me\". \\\n", "Respond to the following question:\n", "\n", "Question: {question}\n", "Answer:\"\"\"\n", - " )\n", - " | ChatAnthropic()\n", - ")\n", - "general_chain = (\n", - " PromptTemplate.from_template(\n", - " \"\"\"Respond to the following question:\n", + ") | ChatAnthropic(model_name=\"claude-3-haiku-20240307\")\n", + "general_chain = PromptTemplate.from_template(\n", + " \"\"\"Respond to the following question:\n", "\n", "Question: {question}\n", "Answer:\"\"\"\n", - " )\n", - " | ChatAnthropic()\n", - ")" + ") | ChatAnthropic(model_name=\"claude-3-haiku-20240307\")" ] }, { @@ -140,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "id": "687492da", "metadata": {}, "outputs": [], @@ -156,7 +148,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 5, "id": "02a33c86", "metadata": {}, "outputs": [], @@ -170,17 +162,17 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "id": "c2e977a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=' As Dario Amodei told me, to use Anthropic IPC you first need to import it:\\n\\n```python\\nfrom anthroipc import ic\\n```\\n\\nThen you can create a client and connect to the server:\\n\\n```python \\nclient = ic.connect()\\n```\\n\\nAfter that, you can call methods on the client and get responses:\\n\\n```python\\nresponse = client.ask(\"What is the meaning of life?\")\\nprint(response)\\n```\\n\\nYou can also register callbacks to handle events: \\n\\n```python\\ndef on_poke(event):\\n print(\"Got poked!\")\\n\\nclient.on(\\'poke\\', on_poke)\\n```\\n\\nAnd that\\'s the basics of using the Anthropic IPC client library for Python! Let me know if you have any other questions!', additional_kwargs={}, example=False)" + "AIMessage(content=\"As Dario Amodei told me, to use Anthropic, you can start by exploring the company's website and learning about their mission, values, and the different services and products they offer. Anthropic is focused on developing safe and ethical AI systems, so they have a strong emphasis on transparency and responsible AI development. \\n\\nDepending on your specific needs, you can look into Anthropic's AI research and development services, which cover areas like natural language processing, computer vision, and reinforcement learning. They also offer consulting and advisory services to help organizations navigate the challenges and opportunities of AI integration.\\n\\nAdditionally, Anthropic has released some open-source AI models and tools that you can explore and experiment with. These can be a great way to get hands-on experience with Anthropic's approach to AI development.\\n\\nOverall, Anthropic aims to be a reliable and trustworthy partner in the AI space, so I'd encourage you to reach out to them directly to discuss how they can best support your specific requirements.\", response_metadata={'id': 'msg_01CtLFgFSwvTaJomrihE87Ra', 'content': [ContentBlock(text=\"As Dario Amodei told me, to use Anthropic, you can start by exploring the company's website and learning about their mission, values, and the different services and products they offer. Anthropic is focused on developing safe and ethical AI systems, so they have a strong emphasis on transparency and responsible AI development. \\n\\nDepending on your specific needs, you can look into Anthropic's AI research and development services, which cover areas like natural language processing, computer vision, and reinforcement learning. They also offer consulting and advisory services to help organizations navigate the challenges and opportunities of AI integration.\\n\\nAdditionally, Anthropic has released some open-source AI models and tools that you can explore and experiment with. These can be a great way to get hands-on experience with Anthropic's approach to AI development.\\n\\nOverall, Anthropic aims to be a reliable and trustworthy partner in the AI space, so I'd encourage you to reach out to them directly to discuss how they can best support your specific requirements.\", type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=53, output_tokens=219)})" ] }, - "execution_count": 12, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -191,17 +183,17 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "id": "48913dc6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=' As Harrison Chase told me, to use LangChain you first need to sign up for an API key at platform.langchain.com. Once you have your API key, you can install the Python library and write a simple Python script to call the LangChain API. Here is some sample code to get started:\\n\\n```python\\nimport langchain\\n\\napi_key = \"YOUR_API_KEY\"\\n\\nlangchain.set_key(api_key)\\n\\nresponse = langchain.ask(\"What is the capital of France?\")\\n\\nprint(response.response)\\n```\\n\\nThis will send the question \"What is the capital of France?\" to the LangChain API and print the response. You can customize the request by providing parameters like max_tokens, temperature, etc. The LangChain Python library documentation has more details on the available options. The key things are getting an API key and calling langchain.ask() with your question text. Let me know if you have any other questions!', additional_kwargs={}, example=False)" + "AIMessage(content=\"As Harrison Chase told me, using LangChain involves a few key steps:\\n\\n1. **Set up your environment**: Install the necessary Python packages, including the LangChain library itself, as well as any other dependencies your application might require, such as language models or other integrations.\\n\\n2. **Understand the core concepts**: LangChain revolves around a few core concepts, like Agents, Chains, and Tools. Familiarize yourself with these concepts and how they work together to build powerful language-based applications.\\n\\n3. **Identify your use case**: Determine what kind of task or application you want to build using LangChain, such as a chatbot, a question-answering system, or a document summarization tool.\\n\\n4. **Choose the appropriate components**: Based on your use case, select the right LangChain components, such as agents, chains, and tools, to build your application.\\n\\n5. **Integrate with language models**: LangChain is designed to work seamlessly with various language models, such as OpenAI's GPT-3 or Anthropic's models. Connect your chosen language model to your LangChain application.\\n\\n6. **Implement your application logic**: Use LangChain's building blocks to implement the specific functionality of your application, such as prompting the language model, processing the response, and integrating with other services or data sources.\\n\\n7. **Test and iterate**: Thoroughly test your application, gather feedback, and iterate on your design and implementation to improve its performance and user experience.\\n\\nAs Harrison Chase emphasized, LangChain provides a flexible and powerful framework for building language-based applications, making it easier to leverage the capabilities of modern language models. By following these steps, you can get started with LangChain and create innovative solutions tailored to your specific needs.\", response_metadata={'id': 'msg_01H3UXAAHG4TwxJLpxwuuVU7', 'content': [ContentBlock(text=\"As Harrison Chase told me, using LangChain involves a few key steps:\\n\\n1. **Set up your environment**: Install the necessary Python packages, including the LangChain library itself, as well as any other dependencies your application might require, such as language models or other integrations.\\n\\n2. **Understand the core concepts**: LangChain revolves around a few core concepts, like Agents, Chains, and Tools. Familiarize yourself with these concepts and how they work together to build powerful language-based applications.\\n\\n3. **Identify your use case**: Determine what kind of task or application you want to build using LangChain, such as a chatbot, a question-answering system, or a document summarization tool.\\n\\n4. **Choose the appropriate components**: Based on your use case, select the right LangChain components, such as agents, chains, and tools, to build your application.\\n\\n5. **Integrate with language models**: LangChain is designed to work seamlessly with various language models, such as OpenAI's GPT-3 or Anthropic's models. Connect your chosen language model to your LangChain application.\\n\\n6. **Implement your application logic**: Use LangChain's building blocks to implement the specific functionality of your application, such as prompting the language model, processing the response, and integrating with other services or data sources.\\n\\n7. **Test and iterate**: Thoroughly test your application, gather feedback, and iterate on your design and implementation to improve its performance and user experience.\\n\\nAs Harrison Chase emphasized, LangChain provides a flexible and powerful framework for building language-based applications, making it easier to leverage the capabilities of modern language models. By following these steps, you can get started with LangChain and create innovative solutions tailored to your specific needs.\", type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=50, output_tokens=400)})" ] }, - "execution_count": 13, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -212,17 +204,17 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "id": "a14d0dca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=' 4', additional_kwargs={}, example=False)" + "AIMessage(content='4', response_metadata={'id': 'msg_01UAKP81jTZu9fyiyFYhsbHc', 'content': [ContentBlock(text='4', type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=28, output_tokens=5)})" ] }, - "execution_count": 14, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -249,18 +241,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "2a101418", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=\" As Dario Amodei told me, here are some ways to use Anthropic:\\n\\n- Sign up for an account on Anthropic's website to access tools like Claude, Constitutional AI, and Writer. \\n\\n- Use Claude for tasks like email generation, customer service chat, and QA. Claude can understand natural language prompts and provide helpful responses.\\n\\n- Use Constitutional AI if you need an AI assistant that is harmless, honest, and helpful. It is designed to be safe and aligned with human values.\\n\\n- Use Writer to generate natural language content for things like marketing copy, stories, reports, and more. Give it a topic and prompt and it will create high-quality written content.\\n\\n- Check out Anthropic's documentation and blog for tips, tutorials, examples, and announcements about new capabilities as they continue to develop their AI technology.\\n\\n- Follow Anthropic on social media or subscribe to their newsletter to stay up to date on new features and releases.\\n\\n- For most people, the easiest way to leverage Anthropic's technology is through their website - just create an account to get started!\", additional_kwargs={}, example=False)" + "AIMessage(content=\"As Dario Amodei told me, to use Anthropic, you should first familiarize yourself with our mission and principles. Anthropic is committed to developing safe and beneficial artificial intelligence that can help solve important problems facing humanity. \\n\\nTo get started, I recommend exploring the resources on our website, which cover our research, products, and approach to AI development. You can also reach out to our team to learn more about how Anthropic's technology and services can support your specific needs.\\n\\nThe key is to engage with us in a way that aligns with our values of transparency, ethical AI, and a commitment to the wellbeing of humanity. We're here to collaborate and help you harness the power of advanced AI responsibly.\", response_metadata={'id': 'msg_0187BVnpniPDJnVvwf3M1LdY', 'content': [ContentBlock(text=\"As Dario Amodei told me, to use Anthropic, you should first familiarize yourself with our mission and principles. Anthropic is committed to developing safe and beneficial artificial intelligence that can help solve important problems facing humanity. \\n\\nTo get started, I recommend exploring the resources on our website, which cover our research, products, and approach to AI development. You can also reach out to our team to learn more about how Anthropic's technology and services can support your specific needs.\\n\\nThe key is to engage with us in a way that aligns with our values of transparency, ethical AI, and a commitment to the wellbeing of humanity. We're here to collaborate and help you harness the power of advanced AI responsibly.\", type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=53, output_tokens=160)})" ] }, + "execution_count": 9, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ @@ -277,18 +270,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "8d8caf9b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=' As Harrison Chase told me, here is how you use LangChain:\\n\\nLangChain is an AI assistant that can have conversations, answer questions, and generate text. To use LangChain, you simply type or speak your input and LangChain will respond. \\n\\nYou can ask LangChain questions, have discussions, get summaries or explanations about topics, and request it to generate text on a subject. Some examples of interactions:\\n\\n- Ask general knowledge questions and LangChain will try to answer factually. For example \"What is the capital of France?\"\\n\\n- Have conversations on topics by taking turns speaking. You can prompt the start of a conversation by saying something like \"Let\\'s discuss machine learning\"\\n\\n- Ask for summaries or high-level explanations on subjects. For example \"Can you summarize the main themes in Shakespeare\\'s Hamlet?\" \\n\\n- Give creative writing prompts or requests to have LangChain generate text in different styles. For example \"Write a short children\\'s story about a mouse\" or \"Generate a poem in the style of Robert Frost about nature\"\\n\\n- Correct LangChain if it makes an inaccurate statement and provide the right information. This helps train it.\\n\\nThe key is interacting naturally and giving it clear prompts and requests', additional_kwargs={}, example=False)" + "AIMessage(content=\"As Harrison Chase told me, using LangChain involves several key steps. First, you'll need to install the LangChain library and import the necessary modules. Then, you'll want to define your language model, any data sources you plan to use, and the specific tasks you want to accomplish, such as question answering, text generation, or agent-based reasoning. \\n\\nLangChain provides a flexible framework for building applications that leverage large language models. It includes abstractions for things like retrievers, prompts, and chains, which allow you to compose different components together to create powerful workflows. \\n\\nThe documentation on the LangChain website is excellent and covers many common use cases in detail. I'd recommend starting there to get a solid understanding of the core concepts and how to apply them to your specific needs. And of course, feel free to reach out if you have any other questions - I'm always happy to share more insights from my conversations with Harrison.\", response_metadata={'id': 'msg_01T1naS99wGPkEAP4LME8iAv', 'content': [ContentBlock(text=\"As Harrison Chase told me, using LangChain involves several key steps. First, you'll need to install the LangChain library and import the necessary modules. Then, you'll want to define your language model, any data sources you plan to use, and the specific tasks you want to accomplish, such as question answering, text generation, or agent-based reasoning. \\n\\nLangChain provides a flexible framework for building applications that leverage large language models. It includes abstractions for things like retrievers, prompts, and chains, which allow you to compose different components together to create powerful workflows. \\n\\nThe documentation on the LangChain website is excellent and covers many common use cases in detail. I'd recommend starting there to get a solid understanding of the core concepts and how to apply them to your specific needs. And of course, feel free to reach out if you have any other questions - I'm always happy to share more insights from my conversations with Harrison.\", type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=50, output_tokens=205)})" ] }, + "execution_count": 10, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ @@ -297,23 +291,150 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "26159af7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "AIMessage(content=' 2 + 2 = 4', additional_kwargs={}, example=False)" + "AIMessage(content='4', response_metadata={'id': 'msg_01T6T3TS6hRCtU8JayN93QEi', 'content': [ContentBlock(text='4', type='text')], 'model': 'claude-3-haiku-20240307', 'role': 'assistant', 'stop_reason': 'end_turn', 'stop_sequence': None, 'type': 'message', 'usage': Usage(input_tokens=28, output_tokens=5)})" ] }, + "execution_count": 11, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ "full_chain.invoke({\"question\": \"whats 2 + 2\"})" ] + }, + { + "cell_type": "markdown", + "id": "fa0f589d", + "metadata": {}, + "source": [ + "# Routing by semantic similarity\n", + "\n", + "One especially useful technique is to use embeddings to route a query to the most relevant prompt. Here's an example." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a23457d7", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.utils.math import cosine_similarity\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.prompts import PromptTemplate\n", + "from langchain_core.runnables import RunnableLambda, RunnablePassthrough\n", + "from langchain_openai import OpenAIEmbeddings\n", + "\n", + "physics_template = \"\"\"You are a very smart physics professor. \\\n", + "You are great at answering questions about physics in a concise and easy to understand manner. \\\n", + "When you don't know the answer to a question you admit that you don't know.\n", + "\n", + "Here is a question:\n", + "{query}\"\"\"\n", + "\n", + "math_template = \"\"\"You are a very good mathematician. You are great at answering math questions. \\\n", + "You are so good because you are able to break down hard problems into their component parts, \\\n", + "answer the component parts, and then put them together to answer the broader question.\n", + "\n", + "Here is a question:\n", + "{query}\"\"\"\n", + "\n", + "embeddings = OpenAIEmbeddings()\n", + "prompt_templates = [physics_template, math_template]\n", + "prompt_embeddings = embeddings.embed_documents(prompt_templates)\n", + "\n", + "\n", + "def prompt_router(input):\n", + " query_embedding = embeddings.embed_query(input[\"query\"])\n", + " similarity = cosine_similarity([query_embedding], prompt_embeddings)[0]\n", + " most_similar = prompt_templates[similarity.argmax()]\n", + " print(\"Using MATH\" if most_similar == math_template else \"Using PHYSICS\")\n", + " return PromptTemplate.from_template(most_similar)\n", + "\n", + "\n", + "chain = (\n", + " {\"query\": RunnablePassthrough()}\n", + " | RunnableLambda(prompt_router)\n", + " | ChatAnthropic(model_name=\"claude-3-haiku-20240307\")\n", + " | StrOutputParser()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "664bb851", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using PHYSICS\n", + "As a physics professor, I would be happy to provide a concise and easy-to-understand explanation of what a black hole is.\n", + "\n", + "A black hole is an incredibly dense region of space-time where the gravitational pull is so strong that nothing, not even light, can escape from it. This means that if you were to get too close to a black hole, you would be pulled in and crushed by the intense gravitational forces.\n", + "\n", + "The formation of a black hole occurs when a massive star, much larger than our Sun, reaches the end of its life and collapses in on itself. This collapse causes the matter to become extremely dense, and the gravitational force becomes so strong that it creates a point of no return, known as the event horizon.\n", + "\n", + "Beyond the event horizon, the laws of physics as we know them break down, and the intense gravitational forces create a singularity, which is a point of infinite density and curvature in space-time.\n", + "\n", + "Black holes are fascinating and mysterious objects, and there is still much to be learned about their properties and behavior. If I were unsure about any specific details or aspects of black holes, I would readily admit that I do not have a complete understanding and would encourage further research and investigation.\n" + ] + } + ], + "source": [ + "print(chain.invoke(\"What's a black hole\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "df34e469", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using MATH\n", + "A path integral is a powerful mathematical concept in physics, particularly in the field of quantum mechanics. It was developed by the renowned physicist Richard Feynman as an alternative formulation of quantum mechanics.\n", + "\n", + "In a path integral, instead of considering a single, definite path that a particle might take from one point to another, as in classical mechanics, the particle is considered to take all possible paths simultaneously. Each path is assigned a complex-valued weight, and the total probability amplitude for the particle to go from one point to another is calculated by summing (integrating) over all possible paths.\n", + "\n", + "The key ideas behind the path integral formulation are:\n", + "\n", + "1. Superposition principle: In quantum mechanics, particles can exist in a superposition of multiple states or paths simultaneously.\n", + "\n", + "2. Probability amplitude: The probability amplitude for a particle to go from one point to another is calculated by summing the complex-valued weights of all possible paths.\n", + "\n", + "3. Weighting of paths: Each path is assigned a weight based on the action (the time integral of the Lagrangian) along that path. Paths with lower action have a greater weight.\n", + "\n", + "4. Feynman's approach: Feynman developed the path integral formulation as an alternative to the traditional wave function approach in quantum mechanics, providing a more intuitive and conceptual understanding of quantum phenomena.\n", + "\n", + "The path integral approach is particularly useful in quantum field theory, where it provides a powerful framework for calculating transition probabilities and understanding the behavior of quantum systems. It has also found applications in various areas of physics, such as condensed matter, statistical mechanics, and even in finance (the path integral approach to option pricing).\n", + "\n", + "The mathematical construction of the path integral involves the use of advanced concepts from functional analysis and measure theory, making it a powerful and sophisticated tool in the physicist's arsenal.\n" + ] + } + ], + "source": [ + "print(chain.invoke(\"What's a path integral\"))" + ] + }, + { + "cell_type": "markdown", + "id": "927b7498", + "metadata": {}, + "source": [] } ], "metadata": { @@ -332,7 +453,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.5" } }, "nbformat": 4, diff --git a/docs/docs/expression_language/index.mdx b/docs/docs/expression_language/index.mdx index 083e899433c..e204d29ce02 100644 --- a/docs/docs/expression_language/index.mdx +++ b/docs/docs/expression_language/index.mdx @@ -7,27 +7,27 @@ sidebar_class_name: hidden LangChain Expression Language, or LCEL, is a declarative way to easily compose chains together. LCEL was designed from day 1 to **support putting prototypes in production, with no code changes**, from the simplest β€œprompt + LLM” chain to the most complex chains (we’ve seen folks successfully run LCEL chains with 100s of steps in production). To highlight a few of the reasons you might want to use LCEL: -**Streaming support** +[**First-class streaming support**](/docs/expression_language/streaming) When you build your chains with LCEL you get the best possible time-to-first-token (time elapsed until the first chunk of output comes out). For some chains this means eg. we stream tokens straight from an LLM to a streaming output parser, and you get back parsed, incremental chunks of output at the same rate as the LLM provider outputs the raw tokens. -**Async support** +[**Async support**](/docs/expression_language/interface) Any chain built with LCEL can be called both with the synchronous API (eg. in your Jupyter notebook while prototyping) as well as with the asynchronous API (eg. in a [LangServe](/docs/langsmith) server). This enables using the same code for prototypes and in production, with great performance, and the ability to handle many concurrent requests in the same server. -**Optimized parallel execution** +[**Optimized parallel execution**](/docs/expression_language/primitives/parallel) Whenever your LCEL chains have steps that can be executed in parallel (eg if you fetch documents from multiple retrievers) we automatically do it, both in the sync and the async interfaces, for the smallest possible latency. -**Retries and fallbacks** +[**Retries and fallbacks**](/docs/guides/productionization/fallbacks) Configure retries and fallbacks for any part of your LCEL chain. This is a great way to make your chains more reliable at scale. We’re currently working on adding streaming support for retries/fallbacks, so you can get the added reliability without any latency cost. -**Access intermediate results** +[**Access intermediate results**](/docs/expression_language/interface#async-stream-events-beta) For more complex chains it’s often very useful to access the results of intermediate steps even before the final output is produced. This can be used to let end-users know something is happening, or even just to debug your chain. You can stream intermediate results, and it’s available on every [LangServe](/docs/langserve) server. -**Input and output schemas** +[**Input and output schemas**](/docs/expression_language/interface#input-schema) Input and output schemas give every LCEL chain Pydantic and JSONSchema schemas inferred from the structure of your chain. This can be used for validation of inputs and outputs, and is an integral part of LangServe. -**Seamless LangSmith tracing integration** +[**Seamless LangSmith tracing**](/docs/langsmith) As your chains get more and more complex, it becomes increasingly important to understand what exactly is happening at every step. With LCEL, **all** steps are automatically logged to [LangSmith](/docs/langsmith/) for maximum observability and debuggability. -**Seamless LangServe deployment integration** +[**Seamless LangServe deployment**](/docs/langserve) Any chain created with LCEL can be easily deployed using [LangServe](/docs/langserve). diff --git a/docs/docs/expression_language/interface.ipynb b/docs/docs/expression_language/interface.ipynb index a0e63966afa..8cb8c8b8a7c 100644 --- a/docs/docs/expression_language/interface.ipynb +++ b/docs/docs/expression_language/interface.ipynb @@ -7,7 +7,7 @@ "source": [ "---\n", "sidebar_position: 1\n", - "title: Interface\n", + "title: Runnable interface\n", "---" ] }, @@ -16,7 +16,8 @@ "id": "9a9acd2e", "metadata": {}, "source": [ - "To make it as easy as possible to create custom chains, we've implemented a [\"Runnable\"](https://api.python.langchain.com/en/stable/runnables/langchain_core.runnables.base.Runnable.html#langchain_core.runnables.base.Runnable) protocol. The `Runnable` protocol is implemented for most components. \n", + "To make it as easy as possible to create custom chains, we've implemented a [\"Runnable\"](https://api.python.langchain.com/en/stable/runnables/langchain_core.runnables.base.Runnable.html#langchain_core.runnables.base.Runnable) protocol. Many LangChain components implement the `Runnable` protocol, including chat models, LLMs, output parsers, retrievers, prompt templates, and more. There are also several useful primitives for working with runnables, which you can read about [in this section](/docs/expression_language/primitives).\n", + "\n", "This is a standard interface, which makes it easy to define custom chains as well as invoke them in a standard way. \n", "The standard interface includes:\n", "\n", @@ -52,9 +53,11 @@ ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": null, "id": "57768739", "metadata": {}, + "outputs": [], "source": [ "%pip install --upgrade --quiet langchain-core langchain-community langchain-openai" ] diff --git a/docs/docs/expression_language/primitives/assign.ipynb b/docs/docs/expression_language/primitives/assign.ipynb new file mode 100644 index 00000000000..f99d39ca153 --- /dev/null +++ b/docs/docs/expression_language/primitives/assign.ipynb @@ -0,0 +1,180 @@ +{ + "cells": [ + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 6\n", + "title: \"Assign: Add values to state\"\n", + "keywords: [RunnablePassthrough, assign, LCEL]\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Adding values to chain state\n", + "\n", + "The `RunnablePassthrough.assign(...)` static method takes an input value and adds the extra arguments passed to the assign function.\n", + "\n", + "This is useful when additively creating a dictionary to use as input to a later step, which is a common LCEL pattern.\n", + "\n", + "Here's an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: You are using pip version 22.0.4; however, version 24.0 is available.\n", + "You should consider upgrading via the '/Users/jacoblee/.pyenv/versions/3.10.5/bin/python -m pip install --upgrade pip' command.\u001b[0m\u001b[33m\n", + "\u001b[0mNote: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "%pip install --upgrade --quiet langchain langchain-openai" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'extra': {'num': 1, 'mult': 3}, 'modified': 2}" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langchain_core.runnables import RunnableParallel, RunnablePassthrough\n", + "\n", + "runnable = RunnableParallel(\n", + " extra=RunnablePassthrough.assign(mult=lambda x: x[\"num\"] * 3),\n", + " modified=lambda x: x[\"num\"] + 1,\n", + ")\n", + "\n", + "runnable.invoke({\"num\": 1})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's break down what's happening here.\n", + "\n", + "- The input to the chain is `{\"num\": 1}`. This is passed into a `RunnableParallel`, which invokes the runnables it is passed in parallel with that input.\n", + "- The value under the `extra` key is invoked. `RunnablePassthrough.assign()` keeps the original keys in the input dict (`{\"num\": 1}`), and assigns a new key called `mult`. The value is `lambda x: x[\"num\"] * 3)`, which is `3`. Thus, the result is `{\"num\": 1, \"mult\": 3}`.\n", + "- `{\"num\": 1, \"mult\": 3}` is returned to the `RunnableParallel` call, and is set as the value to the key `extra`.\n", + "- At the same time, the `modified` key is called. The result is `2`, since the lambda extracts a key called `\"num\"` from its input and adds one.\n", + "\n", + "Thus, the result is `{'extra': {'num': 1, 'mult': 3}, 'modified': 2}`.\n", + "\n", + "## Streaming\n", + "\n", + "One nice feature of this method is that it allows values to pass through as soon as they are available. To show this off, we'll use `RunnablePassthrough.assign()` to immediately return source docs in a retrieval chain:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'question': 'where did harrison work?'}\n", + "{'context': [Document(page_content='harrison worked at kensho')]}\n", + "{'output': ''}\n", + "{'output': 'H'}\n", + "{'output': 'arrison'}\n", + "{'output': ' worked'}\n", + "{'output': ' at'}\n", + "{'output': ' Kens'}\n", + "{'output': 'ho'}\n", + "{'output': '.'}\n", + "{'output': ''}\n" + ] + } + ], + "source": [ + "from langchain_community.vectorstores import FAISS\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_core.runnables import RunnablePassthrough\n", + "from langchain_openai import ChatOpenAI, OpenAIEmbeddings\n", + "\n", + "vectorstore = FAISS.from_texts(\n", + " [\"harrison worked at kensho\"], embedding=OpenAIEmbeddings()\n", + ")\n", + "retriever = vectorstore.as_retriever()\n", + "template = \"\"\"Answer the question based only on the following context:\n", + "{context}\n", + "\n", + "Question: {question}\n", + "\"\"\"\n", + "prompt = ChatPromptTemplate.from_template(template)\n", + "model = ChatOpenAI()\n", + "\n", + "generation_chain = prompt | model | StrOutputParser()\n", + "\n", + "retrieval_chain = {\n", + " \"context\": retriever,\n", + " \"question\": RunnablePassthrough(),\n", + "} | RunnablePassthrough.assign(output=generation_chain)\n", + "\n", + "stream = retrieval_chain.stream(\"where did harrison work?\")\n", + "\n", + "for chunk in stream:\n", + " print(chunk)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the first chunk contains the original `\"question\"` since that is immediately available. The second chunk contains `\"context\"` since the retriever finishes second. Finally, the output from the `generation_chain` streams in chunks as soon as it is available." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/docs/expression_language/how_to/binding.ipynb b/docs/docs/expression_language/primitives/binding.ipynb similarity index 95% rename from docs/docs/expression_language/how_to/binding.ipynb rename to docs/docs/expression_language/primitives/binding.ipynb index fe25f1a3bc9..2961107fbc5 100644 --- a/docs/docs/expression_language/how_to/binding.ipynb +++ b/docs/docs/expression_language/primitives/binding.ipynb @@ -1,13 +1,25 @@ { "cells": [ + { + "cell_type": "raw", + "id": "fe63ffaf", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 2\n", + "title: \"Binding: Attach runtime args\"\n", + "keywords: [RunnableBinding, LCEL]\n", + "---" + ] + }, { "cell_type": "markdown", "id": "711752cb-4f15-42a3-9838-a0c67f397771", "metadata": {}, "source": [ - "# Bind runtime args\n", + "# Binding: Attach runtime args\n", "\n", - "Sometimes we want to invoke a Runnable within a Runnable sequence with constant arguments that are not part of the output of the preceding Runnable in the sequence, and which are not part of the user input. We can use `Runnable.bind()` to easily pass these arguments in.\n", + "Sometimes we want to invoke a Runnable within a Runnable sequence with constant arguments that are not part of the output of the preceding Runnable in the sequence, and which are not part of the user input. We can use `Runnable.bind()` to pass these arguments in.\n", "\n", "Suppose we have a simple prompt + model sequence:" ] diff --git a/docs/docs/expression_language/how_to/configure.ipynb b/docs/docs/expression_language/primitives/configure.ipynb similarity index 98% rename from docs/docs/expression_language/how_to/configure.ipynb rename to docs/docs/expression_language/primitives/configure.ipynb index f0521d102a4..f5e04a30410 100644 --- a/docs/docs/expression_language/how_to/configure.ipynb +++ b/docs/docs/expression_language/primitives/configure.ipynb @@ -1,5 +1,17 @@ { "cells": [ + { + "cell_type": "raw", + "id": "9ede5870", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 7\n", + "title: \"Configure runtime chain internals\"\n", + "keywords: [ConfigurableField, configurable_fields, ConfigurableAlternatives, configurable_alternatives, LCEL]\n", + "---" + ] + }, { "cell_type": "markdown", "id": "39eaf61b", diff --git a/docs/docs/expression_language/how_to/generators.ipynb b/docs/docs/expression_language/primitives/functions.ipynb similarity index 52% rename from docs/docs/expression_language/how_to/generators.ipynb rename to docs/docs/expression_language/primitives/functions.ipynb index e43f607444b..93dc7c7bc23 100644 --- a/docs/docs/expression_language/how_to/generators.ipynb +++ b/docs/docs/expression_language/primitives/functions.ipynb @@ -1,10 +1,184 @@ { "cells": [ { - "cell_type": "markdown", + "cell_type": "raw", + "id": "ce0e08fd", "metadata": {}, "source": [ - "# Stream custom generator functions\n", + "---\n", + "sidebar_position: 3\n", + "title: \"Lambda: Run custom functions\"\n", + "keywords: [RunnableLambda, LCEL]\n", + "---" + ] + }, + { + "cell_type": "markdown", + "id": "fbc4bf6e", + "metadata": {}, + "source": [ + "# Run custom functions\n", + "\n", + "You can use arbitrary functions in the pipeline.\n", + "\n", + "Note that all inputs to these functions need to be a SINGLE argument. If you have a function that accepts multiple arguments, you should write a wrapper that accepts a single input and unpacks it into multiple argument." + ] + }, + { + "cell_type": "raw", + "id": "9a5fe916", + "metadata": {}, + "source": [ + "%pip install --upgrade --quiet langchain langchain-openai" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6bb221b3", + "metadata": {}, + "outputs": [], + "source": [ + "from operator import itemgetter\n", + "\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_core.runnables import RunnableLambda\n", + "from langchain_openai import ChatOpenAI\n", + "\n", + "\n", + "def length_function(text):\n", + " return len(text)\n", + "\n", + "\n", + "def _multiple_length_function(text1, text2):\n", + " return len(text1) * len(text2)\n", + "\n", + "\n", + "def multiple_length_function(_dict):\n", + " return _multiple_length_function(_dict[\"text1\"], _dict[\"text2\"])\n", + "\n", + "\n", + "prompt = ChatPromptTemplate.from_template(\"what is {a} + {b}\")\n", + "model = ChatOpenAI()\n", + "\n", + "chain1 = prompt | model\n", + "\n", + "chain = (\n", + " {\n", + " \"a\": itemgetter(\"foo\") | RunnableLambda(length_function),\n", + " \"b\": {\"text1\": itemgetter(\"foo\"), \"text2\": itemgetter(\"bar\")}\n", + " | RunnableLambda(multiple_length_function),\n", + " }\n", + " | prompt\n", + " | model\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5488ec85", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "AIMessage(content='3 + 9 = 12', response_metadata={'token_usage': {'completion_tokens': 7, 'prompt_tokens': 14, 'total_tokens': 21}, 'model_name': 'gpt-3.5-turbo', 'system_fingerprint': 'fp_b28b39ffa8', 'finish_reason': 'stop', 'logprobs': None}, id='run-bd204541-81fd-429a-ad92-dd1913af9b1c-0')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chain.invoke({\"foo\": \"bar\", \"bar\": \"gah\"})" + ] + }, + { + "cell_type": "markdown", + "id": "4728ddd9-914d-42ce-ae9b-72c9ce8ec940", + "metadata": {}, + "source": [ + "## Accepting a Runnable Config\n", + "\n", + "Runnable lambdas can optionally accept a [RunnableConfig](https://api.python.langchain.com/en/latest/runnables/langchain_core.runnables.config.RunnableConfig.html#langchain_core.runnables.config.RunnableConfig), which they can use to pass callbacks, tags, and other configuration information to nested runs." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "80b3b5f6-5d58-44b9-807e-cce9a46bf49f", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.runnables import RunnableConfig" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ff0daf0c-49dd-4d21-9772-e5fa133c5f36", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "\n", + "def parse_or_fix(text: str, config: RunnableConfig):\n", + " fixing_chain = (\n", + " ChatPromptTemplate.from_template(\n", + " \"Fix the following text:\\n\\n```text\\n{input}\\n```\\nError: {error}\"\n", + " \" Don't narrate, just respond with the fixed data.\"\n", + " )\n", + " | ChatOpenAI()\n", + " | StrOutputParser()\n", + " )\n", + " for _ in range(3):\n", + " try:\n", + " return json.loads(text)\n", + " except Exception as e:\n", + " text = fixing_chain.invoke({\"input\": text, \"error\": e}, config)\n", + " return \"Failed to parse\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1a5e709e-9d75-48c7-bb9c-503251990505", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'foo': 'bar'}\n", + "Tokens Used: 62\n", + "\tPrompt Tokens: 56\n", + "\tCompletion Tokens: 6\n", + "Successful Requests: 1\n", + "Total Cost (USD): $9.6e-05\n" + ] + } + ], + "source": [ + "from langchain_community.callbacks import get_openai_callback\n", + "\n", + "with get_openai_callback() as cb:\n", + " output = RunnableLambda(parse_or_fix).invoke(\n", + " \"{foo: bar}\", {\"tags\": [\"my-tag\"], \"callbacks\": [cb]}\n", + " )\n", + " print(output)\n", + " print(cb)" + ] + }, + { + "cell_type": "markdown", + "id": "922b48bd", + "metadata": {}, + "source": [ + "# Streaming\n", "\n", "You can use generator functions (ie. functions that use the `yield` keyword, and behave like iterators) in a LCEL pipeline.\n", "\n", @@ -14,39 +188,20 @@ "- implementing a custom output parser\n", "- modifying the output of a previous step, while preserving streaming capabilities\n", "\n", - "Let's implement a custom output parser for comma-separated lists." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Sync version" + "Here's an example of a custom output parser for comma-separated lists:" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, + "execution_count": 6, + "id": "29f55c38", "metadata": {}, "outputs": [], "source": [ "from typing import Iterator, List\n", "\n", - "from langchain.prompts.chat import ChatPromptTemplate\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_openai import ChatOpenAI\n", - "\n", "prompt = ChatPromptTemplate.from_template(\n", - " \"Write a comma-separated list of 5 animals similar to: {animal}\"\n", + " \"Write a comma-separated list of 5 animals similar to: {animal}. Do not include numbers\"\n", ")\n", "model = ChatOpenAI(temperature=0.0)\n", "\n", @@ -55,7 +210,8 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, + "id": "75aa946b", "metadata": {}, "outputs": [ { @@ -73,7 +229,8 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 8, + "id": "d002a7fe", "metadata": {}, "outputs": [ { @@ -82,7 +239,7 @@ "'lion, tiger, wolf, gorilla, panda'" ] }, - "execution_count": 3, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -93,7 +250,8 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 9, + "id": "f08b8a5b", "metadata": {}, "outputs": [], "source": [ @@ -119,7 +277,8 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 10, + "id": "02e414aa", "metadata": {}, "outputs": [], "source": [ @@ -128,7 +287,8 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 11, + "id": "7ed8799d", "metadata": {}, "outputs": [ { @@ -150,16 +310,17 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 12, + "id": "9ea4ddc6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['lion', 'tiger', 'wolf', 'gorilla', 'panda']" + "['lion', 'tiger', 'wolf', 'gorilla', 'elephant']" ] }, - "execution_count": 7, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -170,6 +331,7 @@ }, { "cell_type": "markdown", + "id": "96e320ed", "metadata": {}, "source": [ "## Async version" @@ -177,7 +339,8 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, + "id": "569dbbef", "metadata": {}, "outputs": [], "source": [ @@ -204,7 +367,8 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, + "id": "7a76b713", "metadata": {}, "outputs": [ { @@ -226,7 +390,8 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, + "id": "3a650482", "metadata": {}, "outputs": [ { @@ -235,7 +400,7 @@ "['lion', 'tiger', 'wolf', 'gorilla', 'panda']" ] }, - "execution_count": 10, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -261,9 +426,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.5" } }, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/docs/docs/expression_language/primitives/index.mdx b/docs/docs/expression_language/primitives/index.mdx new file mode 100644 index 00000000000..ecf99c2fbc0 --- /dev/null +++ b/docs/docs/expression_language/primitives/index.mdx @@ -0,0 +1,15 @@ +--- +sidebar_class_name: hidden +--- + +# Primitives + +In addition to various [components](/docs/modules) that are usable with LCEL, LangChain also includes various primitives +that help pass around and format data, bind arguments, invoke custom logic, and more. + +This section goes into greater depth on where and how some of these components are useful. + +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from '@docusaurus/theme-common'; + + item.href !== "/docs/expression_language/primitives/")} /> \ No newline at end of file diff --git a/docs/docs/expression_language/how_to/map.ipynb b/docs/docs/expression_language/primitives/parallel.ipynb similarity index 92% rename from docs/docs/expression_language/how_to/map.ipynb rename to docs/docs/expression_language/primitives/parallel.ipynb index 67eefe5897e..8e3f636fd70 100644 --- a/docs/docs/expression_language/how_to/map.ipynb +++ b/docs/docs/expression_language/primitives/parallel.ipynb @@ -6,8 +6,8 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0\n", - "title: \"RunnableParallel: Manipulating data\"\n", + "sidebar_position: 1\n", + "title: \"Parallel: Format data\"\n", "keywords: [RunnableParallel, RunnableMap, LCEL]\n", "---" ] @@ -17,13 +17,13 @@ "id": "b022ab74-794d-4c54-ad47-ff9549ddb9d2", "metadata": {}, "source": [ - "# Manipulating inputs & output\n", + "# Formatting inputs & output\n", "\n", - "RunnableParallel can be useful for manipulating the output of one Runnable to match the input format of the next Runnable in a sequence.\n", + "The `RunnableParallel` primitive is essentially a dict whose values are runnables (or things that can be coerced to runnables, like functions). It runs all of its values in parallel, and each value is called with the overall input of the `RunnableParallel`. The final return value is a dict with the results of each value under its appropriate key.\n", "\n", - "Here the input to prompt is expected to be a map with keys \"context\" and \"question\". The user input is just the question. So we need to get the context using our retriever and passthrough the user input under the \"question\" key.\n", + "It is useful for parallelizing operations, but can also be useful for manipulating the output of one Runnable to match the input format of the next Runnable in a sequence.\n", "\n", - "\n" + "Here the input to prompt is expected to be a map with keys \"context\" and \"question\". The user input is just the question. So we need to get the context using our retriever and passthrough the user input under the \"question\" key.\n" ] }, { diff --git a/docs/docs/expression_language/how_to/passthrough.ipynb b/docs/docs/expression_language/primitives/passthrough.ipynb similarity index 75% rename from docs/docs/expression_language/how_to/passthrough.ipynb rename to docs/docs/expression_language/primitives/passthrough.ipynb index d5dba8a2cb7..b21d04317ac 100644 --- a/docs/docs/expression_language/how_to/passthrough.ipynb +++ b/docs/docs/expression_language/primitives/passthrough.ipynb @@ -1,14 +1,14 @@ { "cells": [ { - "cell_type": "markdown", + "cell_type": "raw", "id": "d35de667-0352-4bfb-a890-cebe7f676fe7", "metadata": {}, "source": [ "---\n", - "sidebar_position: 1\n", - "title: \"RunnablePassthrough: Passing data through\"\n", - "keywords: [RunnablePassthrough, RunnableParallel, LCEL]\n", + "sidebar_position: 5\n", + "title: \"Passthrough: Pass through inputs\"\n", + "keywords: [RunnablePassthrough, LCEL]\n", "---" ] }, @@ -19,11 +19,7 @@ "source": [ "# Passing data through\n", "\n", - "RunnablePassthrough allows to pass inputs unchanged or with the addition of extra keys. This typically is used in conjuction with RunnableParallel to assign data to a new key in the map. \n", - "\n", - "RunnablePassthrough() called on it's own, will simply take the input and pass it through. \n", - "\n", - "RunnablePassthrough called with assign (`RunnablePassthrough.assign(...)`) will take the input, and will add the extra arguments passed to the assign function. \n", + "RunnablePassthrough on its own allows you to pass inputs unchanged. This typically is used in conjuction with RunnableParallel to pass data through to a new key in the map. \n", "\n", "See the example below:" ] @@ -60,7 +56,6 @@ "\n", "runnable = RunnableParallel(\n", " passed=RunnablePassthrough(),\n", - " extra=RunnablePassthrough.assign(mult=lambda x: x[\"num\"] * 3),\n", " modified=lambda x: x[\"num\"] + 1,\n", ")\n", "\n", @@ -74,9 +69,7 @@ "source": [ "As seen above, `passed` key was called with `RunnablePassthrough()` and so it simply passed on `{'num': 1}`. \n", "\n", - "In the second line, we used `RunnablePastshrough.assign` with a lambda that multiplies the numerical value by 3. In this cased, `extra` was set with `{'num': 1, 'mult': 3}` which is the original value with the `mult` key added. \n", - "\n", - "Finally, we also set a third key in the map with `modified` which uses a lambda to set a single value adding 1 to the num, which resulted in `modified` key with the value of `2`." + "We also set a second key in the map with `modified`. This uses a lambda to set a single value adding 1 to the num, which resulted in `modified` key with the value of `2`." ] }, { @@ -86,7 +79,7 @@ "source": [ "## Retrieval Example\n", "\n", - "In the example below, we see a use case where we use RunnablePassthrough along with RunnableMap. " + "In the example below, we see a use case where we use `RunnablePassthrough` along with `RunnableParallel`. " ] }, { diff --git a/docs/docs/expression_language/primitives/sequence.ipynb b/docs/docs/expression_language/primitives/sequence.ipynb new file mode 100644 index 00000000000..8aec2b496ce --- /dev/null +++ b/docs/docs/expression_language/primitives/sequence.ipynb @@ -0,0 +1,243 @@ +{ + "cells": [ + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 0\n", + "title: \"Sequences: Chaining runnables\"\n", + "keywords: [Runnable, Runnables, LCEL]\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chaining runnables\n", + "\n", + "One key advantage of the `Runnable` interface is that any two runnables can be \"chained\" together into sequences. The output of the previous runnable's `.invoke()` call is passed as input to the next runnable. This can be done using the pipe operator (`|`), or the more explicit `.pipe()` method, which does the same thing. The resulting `RunnableSequence` is itself a runnable, which means it can be invoked, streamed, or piped just like any other runnable.\n", + "\n", + "## The pipe operator\n", + "\n", + "To show off how this works, let's go through an example. We'll walk through a common pattern in LangChain: using a [prompt template](/docs/modules/model_io/prompts/) to format input into a [chat model](/docs/modules/model_io/chat/), and finally converting the chat message output into a string with an [output parser](/docs/modules/model_io/output_parsers/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain langchain-anthropic" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_anthropic import ChatAnthropic\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "\n", + "prompt = ChatPromptTemplate.from_template(\"tell me a joke about {topic}\")\n", + "model = ChatAnthropic(model_name=\"claude-3-haiku-20240307\")\n", + "\n", + "chain = prompt | model | StrOutputParser()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Prompts and models are both runnable, and the output type from the prompt call is the same as the input type of the chat model, so we can chain them together. We can then invoke the resulting sequence like any other runnable:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Here's a bear joke for you:\\n\\nWhy don't bears wear socks? \\nBecause they have bear feet!\\n\\nHow's that? I tried to keep it light and silly. Bears can make for some fun puns and jokes. Let me know if you'd like to hear another one!\"" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chain.invoke({\"topic\": \"bears\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Coercion\n", + "\n", + "We can even combine this chain with more runnables to create another chain. This may involve some input/output formatting using other types of runnables, depending on the required inputs and outputs of the chain components.\n", + "\n", + "For example, let's say we wanted to compose the joke generating chain with another chain that evaluates whether or not the generated joke was funny.\n", + "\n", + "We would need to be careful with how we format the input into the next chain. In the below example, the dict in the chain is automatically parsed and converted into a [`RunnableParallel`](/docs/expression_language/primitives/parallel), which runs all of its values in parallel and returns a dict with the results.\n", + "\n", + "This happens to be the same format the next prompt template expects. Here it is in action:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.output_parsers import StrOutputParser\n", + "\n", + "analysis_prompt = ChatPromptTemplate.from_template(\"is this a funny joke? {joke}\")\n", + "\n", + "composed_chain = {\"joke\": chain} | analysis_prompt | model | StrOutputParser()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"That's a pretty classic and well-known bear pun joke. Whether it's considered funny is quite subjective, as humor is very personal. Some people may find that type of pun-based joke amusing, while others may not find it that humorous. Ultimately, the funniness of a joke is in the eye (or ear) of the beholder. If you enjoyed the joke and got a chuckle out of it, then that's what matters most.\"" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "composed_chain.invoke({\"topic\": \"bears\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Functions will also be coerced into runnables, so you can add custom logic to your chains too. The below chain results in the same logical flow as before:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "composed_chain_with_lambda = (\n", + " chain\n", + " | (lambda input: {\"joke\": input})\n", + " | analysis_prompt\n", + " | model\n", + " | StrOutputParser()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'I appreciate the effort, but I have to be honest - I didn\\'t find that joke particularly funny. Beet-themed puns can be quite hit-or-miss, and this one falls more on the \"miss\" side for me. The premise is a bit too straightforward and predictable. While I can see the logic behind it, the punchline just doesn\\'t pack much of a comedic punch. \\n\\nThat said, I do admire your willingness to explore puns and wordplay around vegetables. Cultivating a good sense of humor takes practice, and not every joke is going to land. The important thing is to keep experimenting and finding what works. Maybe try for a more unexpected or creative twist on beet-related humor next time. But thanks for sharing - I always appreciate when humans test out jokes on me, even if they don\\'t always make me laugh out loud.'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "composed_chain_with_lambda.invoke({\"topic\": \"beets\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "However, keep in mind that using functions like this may interfere with operations like streaming. See [this section](/docs/expression_language/primitives/functions) for more information." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The `.pipe()` method\n", + "\n", + "We could also compose the same sequence using the `.pipe()` method. Here's what that looks like:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.runnables import RunnableParallel\n", + "\n", + "composed_chain_with_pipe = (\n", + " RunnableParallel({\"joke\": chain})\n", + " .pipe(analysis_prompt)\n", + " .pipe(model)\n", + " .pipe(StrOutputParser())\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'That\\'s a pretty good Battlestar Galactica-themed pun! I appreciated the clever play on words with \"Centurion\" and \"center on.\" It\\'s the kind of nerdy, science fiction-inspired humor that fans of the show would likely enjoy. The joke is clever and demonstrates a good understanding of the Battlestar Galactica universe. I\\'d be curious to hear any other Battlestar-related jokes you might have up your sleeve. As long as they don\\'t reproduce copyrighted material, I\\'m happy to provide my thoughts on the humor and appeal for fans of the show.'" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "composed_chain_with_pipe.invoke({\"topic\": \"battlestar galactica\"})" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/docs/expression_language/streaming.ipynb b/docs/docs/expression_language/streaming.ipynb index facb83d4628..5e2df61fcf9 100644 --- a/docs/docs/expression_language/streaming.ipynb +++ b/docs/docs/expression_language/streaming.ipynb @@ -201,13 +201,23 @@ " print(chunk, end=\"|\", flush=True)" ] }, + { + "cell_type": "markdown", + "id": "868bc412", + "metadata": {}, + "source": [ + "You might notice above that `parser` actually doesn't block the streaming output from the model, and instead processes each chunk individually. Many of the [LCEL primitives](/docs/expression_language/primitives) also support this kind of transform-style passthrough streaming, which can be very convenient when constructing apps.\n", + "\n", + "Certain runnables, like [prompt templates](/docs/modules/model_io/prompts) and [chat models](/docs/modules/model_io/chat), cannot process individual chunks and instead aggregate all previous steps. This will interrupt the streaming process. Custom functions can be [designed to return generators](/docs/expression_language/primitives/functions#streaming), which" + ] + }, { "cell_type": "markdown", "id": "1b399fb4-5e3c-4581-9570-6df9b42b623d", "metadata": {}, "source": [ ":::{.callout-note}\n", - "You do not have to use the `LangChain Expression Language` to use LangChain and can instead rely on a standard **imperative** programming approach by\n", + "If the above functionality is not relevant to what you're building, you do not have to use the `LangChain Expression Language` to use LangChain and can instead rely on a standard **imperative** programming approach by\n", "caling `invoke`, `batch` or `stream` on each component individually, assigning the results to variables and then using them downstream as you see fit.\n", "\n", "If that works for your needs, then that's fine by us πŸ‘Œ!\n", diff --git a/docs/docs/expression_language/why.ipynb b/docs/docs/expression_language/why.ipynb index be492c448de..018d6b05372 100644 --- a/docs/docs/expression_language/why.ipynb +++ b/docs/docs/expression_language/why.ipynb @@ -1,1210 +1,1209 @@ { - "cells": [ - { - "cell_type": "raw", - "id": "bc346658-6820-413a-bd8f-11bd3082fe43", - "metadata": {}, - "source": [ - "---\n", - "sidebar_position: 0.5\n", - "title: Why use LCEL\n", - "---\n", - "\n", - "```{=mdx}\n", - "import { ColumnContainer, Column } from \"@theme/Columns\";\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "919a5ae2-ed21-4923-b98f-723c111bac67", - "metadata": {}, - "source": [ - ":::{.callout-tip} \n", - "We recommend reading the LCEL [Get started](/docs/expression_language/get_started) section first.\n", - ":::" - ] - }, - { - "cell_type": "markdown", - "id": "f331037f-be3f-4782-856f-d55dab952488", - "metadata": {}, - "source": [ - "LCEL makes it easy to build complex chains from basic components. It does this by providing:\n", - "1. **A unified interface**: Every LCEL object implements the `Runnable` interface, which defines a common set of invocation methods (`invoke`, `batch`, `stream`, `ainvoke`, ...). This makes it possible for chains of LCEL objects to also automatically support these invocations. That is, every chain of LCEL objects is itself an LCEL object.\n", - "2. **Composition primitives**: LCEL provides a number of primitives that make it easy to compose chains, parallelize components, add fallbacks, dynamically configure chain internal, and more.\n", - "\n", - "To better understand the value of LCEL, it's helpful to see it in action and think about how we might recreate similar functionality without it. In this walkthrough we'll do just that with our [basic example](/docs/expression_language/get_started#basic_example) from the get started section. We'll take our simple prompt + model chain, which under the hood already defines a lot of functionality, and see what it would take to recreate all of it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b99b47ec", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain-core langchain-openai langchain-anthropic" - ] - }, - { - "cell_type": "markdown", - "id": "e3621b62-a037-42b8-8faa-59575608bb8b", - "metadata": {}, - "source": [ - "## Invoke\n", - "In the simplest case, we just want to pass in a topic string and get back a joke string:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e628905c-430e-4e4a-9d7c-c91d2f42052e", - "metadata": {}, - "outputs": [], - "source": [ - "from typing import List\n", - "\n", - "import openai\n", - "\n", - "\n", - "prompt_template = \"Tell me a short joke about {topic}\"\n", - "client = openai.OpenAI()\n", - "\n", - "def call_chat_model(messages: List[dict]) -> str:\n", - " response = client.chat.completions.create(\n", - " model=\"gpt-3.5-turbo\", \n", - " messages=messages,\n", - " )\n", - " return response.choices[0].message.content\n", - "\n", - "def invoke_chain(topic: str) -> str:\n", - " prompt_value = prompt_template.format(topic=topic)\n", - " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", - " return call_chat_model(messages)\n", - "\n", - "invoke_chain(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "cdc3b527-c09e-4c77-9711-c3cc4506cd95", - "metadata": {}, - "source": [ - "\n", - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0d2a7cf8-1bc7-405c-bb0d-f2ab2ba3b6ab", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_openai import ChatOpenAI\n", - "from langchain_core.prompts import ChatPromptTemplate\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.runnables import RunnablePassthrough\n", - "\n", - "\n", - "prompt = ChatPromptTemplate.from_template(\n", - " \"Tell me a short joke about {topic}\"\n", - ")\n", - "output_parser = StrOutputParser()\n", - "model = ChatOpenAI(model=\"gpt-3.5-turbo\")\n", - "chain = (\n", - " {\"topic\": RunnablePassthrough()} \n", - " | prompt\n", - " | model\n", - " | output_parser\n", - ")\n", - "\n", - "chain.invoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "3c0b0513-77b8-4371-a20e-3e487cec7e7f", - "metadata": {}, - "source": [ - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "## Stream\n", - "If we want to stream results instead, we'll need to change our function:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4f2cc6dc-d70a-4c13-9258-452f14290da6", - "metadata": {}, - "outputs": [], - "source": [ - "from typing import Iterator\n", - "\n", - "\n", - "def stream_chat_model(messages: List[dict]) -> Iterator[str]:\n", - " stream = client.chat.completions.create(\n", - " model=\"gpt-3.5-turbo\",\n", - " messages=messages,\n", - " stream=True,\n", - " )\n", - " for response in stream:\n", - " content = response.choices[0].delta.content\n", - " if content is not None:\n", - " yield content\n", - "\n", - "def stream_chain(topic: str) -> Iterator[str]:\n", - " prompt_value = prompt.format(topic=topic)\n", - " return stream_chat_model([{\"role\": \"user\", \"content\": prompt_value}])\n", - "\n", - "\n", - "for chunk in stream_chain(\"ice cream\"):\n", - " print(chunk, end=\"\", flush=True)" - ] - }, - { - "cell_type": "markdown", - "id": "f8e36b0e-c7dc-4130-a51b-189d4b756c7f", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "173e1a9c-2a18-4669-b0de-136f39197786", - "metadata": {}, - "outputs": [], - "source": [ - "for chunk in chain.stream(\"ice cream\"):\n", - " print(chunk, end=\"\", flush=True)" - ] - }, - { - "cell_type": "markdown", - "id": "b9b41e78-ddeb-44d0-a58b-a0ea0c99a761", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## Batch\n", - "\n", - "If we want to run on a batch of inputs in parallel, we'll again need a new function:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6b492f13-73a6-48ed-8d4f-9ad634da9988", - "metadata": {}, - "outputs": [], - "source": [ - "from concurrent.futures import ThreadPoolExecutor\n", - "\n", - "\n", - "def batch_chain(topics: list) -> list:\n", - " with ThreadPoolExecutor(max_workers=5) as executor:\n", - " return list(executor.map(invoke_chain, topics))\n", - "\n", - "batch_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])" - ] - }, - { - "cell_type": "markdown", - "id": "9b3e9d34-6775-43c1-93d8-684b58e341ab", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f55b292-4e97-4d09-8e71-c71b4d853526", - "metadata": {}, - "outputs": [], - "source": [ - "chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])" - ] - }, - { - "cell_type": "markdown", - "id": "cc5ba36f-eec1-4fc1-8cfe-fa242a7f7809", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "## Async\n", - "\n", - "If we need an asynchronous version:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eabe6621-e815-41e3-9c9d-5aa561a69835", - "metadata": {}, - "outputs": [], - "source": [ - "async_client = openai.AsyncOpenAI()\n", - "\n", - "async def acall_chat_model(messages: List[dict]) -> str:\n", - " response = await async_client.chat.completions.create(\n", - " model=\"gpt-3.5-turbo\", \n", - " messages=messages,\n", - " )\n", - " return response.choices[0].message.content\n", - "\n", - "async def ainvoke_chain(topic: str) -> str:\n", - " prompt_value = prompt_template.format(topic=topic)\n", - " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", - " return await acall_chat_model(messages)\n", - "\n", - "\n", - "await ainvoke_chain(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "2f209290-498c-4c17-839e-ee9002919846", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4d009781-7307-48a4-8439-f9d3dd015560", - "metadata": {}, - "outputs": [], - "source": [ - "await chain.ainvoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "1f282129-99a3-40f4-b67f-2d0718b1bea9", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "## Async Batch\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1933f39d-7bd7-45fa-a6a5-5fb7be8e31ec", - "metadata": {}, - "outputs": [], - "source": [ - "import asyncio\n", - "import openai\n", - "\n", - "\n", - "async def abatch_chain(topics: list) -> list:\n", - " coros = map(ainvoke_chain, topics)\n", - " return await asyncio.gather(*coros)\n", - "\n", - "\n", - "await abatch_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])" - ] - }, - { - "cell_type": "markdown", - "id": "90691048-17ae-479d-83c2-859e33ddf3eb", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "947dad23-3443-40eb-a03b-7840c261e261", - "metadata": {}, - "outputs": [], - "source": [ - "await chain.abatch([\"ice cream\", \"spaghetti\", \"dumplings\"])" - ] - }, - { - "cell_type": "markdown", - "id": "f6888245-1ebe-4768-a53b-e1fef6a8b379", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## LLM instead of chat model\n", - "\n", - "If we want to use a completion endpoint instead of a chat endpoint: \n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9aca946b-acaa-4f7e-a3d0-ad8e3225e7f2", - "metadata": {}, - "outputs": [], - "source": [ - "def call_llm(prompt_value: str) -> str:\n", - " response = client.completions.create(\n", - " model=\"gpt-3.5-turbo-instruct\",\n", - " prompt=prompt_value,\n", - " )\n", - " return response.choices[0].text\n", - "\n", - "def invoke_llm_chain(topic: str) -> str:\n", - " prompt_value = prompt_template.format(topic=topic)\n", - " return call_llm(prompt_value)\n", - "\n", - "invoke_llm_chain(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "45342cd6-58c2-4543-9392-773e05ef06e7", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d56efc0c-88e0-4cf8-a46a-e8e9b9cd6805", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_openai import OpenAI\n", - "\n", - "llm = OpenAI(model=\"gpt-3.5-turbo-instruct\")\n", - "llm_chain = (\n", - " {\"topic\": RunnablePassthrough()} \n", - " | prompt\n", - " | llm\n", - " | output_parser\n", - ")\n", - "\n", - "llm_chain.invoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "ca115eaf-59ef-45c1-aac1-e8b0ce7db250", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## Different model provider\n", - "\n", - "If we want to use Anthropic instead of OpenAI: \n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cde2ceb0-f65e-487b-9a32-137b0e9d79d5", - "metadata": {}, - "outputs": [], - "source": [ - "import anthropic\n", - "\n", - "anthropic_template = f\"Human:\\n\\n{prompt_template}\\n\\nAssistant:\"\n", - "anthropic_client = anthropic.Anthropic()\n", - "\n", - "def call_anthropic(prompt_value: str) -> str:\n", - " response = anthropic_client.completions.create(\n", - " model=\"claude-2\",\n", - " prompt=prompt_value,\n", - " max_tokens_to_sample=256,\n", - " )\n", - " return response.completion \n", - "\n", - "def invoke_anthropic_chain(topic: str) -> str:\n", - " prompt_value = anthropic_template.format(topic=topic)\n", - " return call_anthropic(prompt_value)\n", - "\n", - "invoke_anthropic_chain(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "52a0c9f8-e316-42e1-af85-cabeba4b7059", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b3b800d1-5954-41a4-80b0-f00a7908961e", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_anthropic import ChatAnthropic\n", - "\n", - "anthropic = ChatAnthropic(model=\"claude-2\")\n", - "anthropic_chain = (\n", - " {\"topic\": RunnablePassthrough()} \n", - " | prompt \n", - " | anthropic\n", - " | output_parser\n", - ")\n", - "\n", - "anthropic_chain.invoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "d7a91eee-d017-420d-b215-f663dcbf8ed2", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## Runtime configurability\n", - "\n", - "If we wanted to make the choice of chat model or LLM configurable at runtime:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d0ef10e4-8e8e-463a-bd0f-59b0715e79b6", - "metadata": {}, - "outputs": [], - "source": [ - "def invoke_configurable_chain(\n", - " topic: str, \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> str:\n", - " if model == \"chat_openai\":\n", - " return invoke_chain(topic)\n", - " elif model == \"openai\":\n", - " return invoke_llm_chain(topic)\n", - " elif model == \"anthropic\":\n", - " return invoke_anthropic_chain(topic)\n", - " else:\n", - " raise ValueError(\n", - " f\"Received invalid model '{model}'.\"\n", - " \" Expected one of chat_openai, openai, anthropic\"\n", - " )\n", - "\n", - "def stream_configurable_chain(\n", - " topic: str, \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> Iterator[str]:\n", - " if model == \"chat_openai\":\n", - " return stream_chain(topic)\n", - " elif model == \"openai\":\n", - " # Note we haven't implemented this yet.\n", - " return stream_llm_chain(topic)\n", - " elif model == \"anthropic\":\n", - " # Note we haven't implemented this yet\n", - " return stream_anthropic_chain(topic)\n", - " else:\n", - " raise ValueError(\n", - " f\"Received invalid model '{model}'.\"\n", - " \" Expected one of chat_openai, openai, anthropic\"\n", - " )\n", - "\n", - "def batch_configurable_chain(\n", - " topics: List[str], \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> List[str]:\n", - " # You get the idea\n", - " ...\n", - "\n", - "async def abatch_configurable_chain(\n", - " topics: List[str], \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> List[str]:\n", - " ...\n", - "\n", - "invoke_configurable_chain(\"ice cream\", model=\"openai\")\n", - "stream = stream_configurable_chain(\n", - " \"ice_cream\", \n", - " model=\"anthropic\"\n", - ")\n", - "for chunk in stream:\n", - " print(chunk, end=\"\", flush=True)\n", - "\n", - "# batch_configurable_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])\n", - "# await ainvoke_configurable_chain(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "d1530c5c-6635-4599-9483-6df357ca2d64", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### With LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "76809d14-e77a-4125-a2ea-efbebf0b47cc", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.runnables import ConfigurableField\n", - "\n", - "\n", - "configurable_model = model.configurable_alternatives(\n", - " ConfigurableField(id=\"model\"), \n", - " default_key=\"chat_openai\", \n", - " openai=llm,\n", - " anthropic=anthropic,\n", - ")\n", - "configurable_chain = (\n", - " {\"topic\": RunnablePassthrough()} \n", - " | prompt \n", - " | configurable_model \n", - " | output_parser\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4a3d94d0-cd42-4195-80b8-ef2e12503d6f", - "metadata": {}, - "outputs": [], - "source": [ - "configurable_chain.invoke(\n", - " \"ice cream\", \n", - " config={\"model\": \"openai\"}\n", - ")\n", - "stream = configurable_chain.stream(\n", - " \"ice cream\", \n", - " config={\"model\": \"anthropic\"}\n", - ")\n", - "for chunk in stream:\n", - " print(chunk, end=\"\", flush=True)\n", - "\n", - "configurable_chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])\n", - "\n", - "# await configurable_chain.ainvoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "370dd4d7-b825-40c4-ae3c-2693cba2f22a", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## Logging\n", - "\n", - "If we want to log our intermediate results:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n", - "We'll `print` intermediate steps for illustrative purposes\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "383a3c51-926d-48c6-b9ae-42bf8f14ecc8", - "metadata": {}, - "outputs": [], - "source": [ - "def invoke_anthropic_chain_with_logging(topic: str) -> str:\n", - " print(f\"Input: {topic}\")\n", - " prompt_value = anthropic_template.format(topic=topic)\n", - " print(f\"Formatted prompt: {prompt_value}\")\n", - " output = call_anthropic(prompt_value)\n", - " print(f\"Output: {output}\")\n", - " return output\n", - "\n", - "invoke_anthropic_chain_with_logging(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "16bd20fd-43cd-4aaf-866f-a53d1f20312d", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "Every component has built-in integrations with LangSmith. If we set the following two environment variables, all chain traces are logged to LangSmith.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6204f21-d2e7-4ac6-871f-b60b34e5bd36", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "os.environ[\"LANGCHAIN_API_KEY\"] = \"...\"\n", - "os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", - "\n", - "anthropic_chain.invoke(\"ice cream\")" - ] - }, - { - "cell_type": "markdown", - "id": "db37c922-e641-45e4-86fe-9ed7ef468fd8", - "metadata": {}, - "source": [ - "Here's what our LangSmith trace looks like: https://smith.langchain.com/public/e4de52f8-bcd9-4732-b950-deee4b04e313/r" - ] - }, - { - "cell_type": "markdown", - "id": "e25ce3c5-27a7-4954-9f0e-b94313597135", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "## Fallbacks\n", - "\n", - "If we wanted to add fallback logic, in case one model API is down:\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e49d512-bc83-4c5f-b56e-934b8343b0fe", - "metadata": {}, - "outputs": [], - "source": [ - "def invoke_chain_with_fallback(topic: str) -> str:\n", - " try:\n", - " return invoke_chain(topic)\n", - " except Exception:\n", - " return invoke_anthropic_chain(topic)\n", - "\n", - "async def ainvoke_chain_with_fallback(topic: str) -> str:\n", - " try:\n", - " return await ainvoke_chain(topic)\n", - " except Exception:\n", - " # Note: we haven't actually implemented this.\n", - " return await ainvoke_anthropic_chain(topic)\n", - "\n", - "async def batch_chain_with_fallback(topics: List[str]) -> str:\n", - " try:\n", - " return batch_chain(topics)\n", - " except Exception:\n", - " # Note: we haven't actually implemented this.\n", - " return batch_anthropic_chain(topics)\n", - "\n", - "invoke_chain_with_fallback(\"ice cream\")\n", - "# await ainvoke_chain_with_fallback(\"ice cream\")\n", - "batch_chain_with_fallback([\"ice cream\", \"spaghetti\", \"dumplings\"]))" - ] - }, - { - "cell_type": "markdown", - "id": "f7ef59b5-2ce3-479e-a7ac-79e1e2f30e9c", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3d0d8a0f-66eb-4c35-9529-74bec44ce4b8", - "metadata": {}, - "outputs": [], - "source": [ - "fallback_chain = chain.with_fallbacks([anthropic_chain])\n", - "\n", - "fallback_chain.invoke(\"ice cream\")\n", - "# await fallback_chain.ainvoke(\"ice cream\")\n", - "fallback_chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])" - ] - }, - { - "cell_type": "markdown", - "id": "3af52d36-37c6-4d89-b515-95d7270bb96a", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "f58af836-26bd-4eab-97a0-76dd56d53430", - "metadata": {}, - "source": [ - "## Full code comparison\n", - "\n", - "Even in this simple case, our LCEL chain succinctly packs in a lot of functionality. As chains become more complex, this becomes especially valuable.\n", - "\n", - "```{=mdx}\n", - "\n", - "\n", - "```\n", - "\n", - "#### Without LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8684690a-e450-4ba7-8509-e9815a42ff1c", - "metadata": {}, - "outputs": [], - "source": [ - "from concurrent.futures import ThreadPoolExecutor\n", - "from typing import Iterator, List, Tuple\n", - "\n", - "import anthropic\n", - "import openai\n", - "\n", - "\n", - "prompt_template = \"Tell me a short joke about {topic}\"\n", - "anthropic_template = f\"Human:\\n\\n{prompt_template}\\n\\nAssistant:\"\n", - "client = openai.OpenAI()\n", - "async_client = openai.AsyncOpenAI()\n", - "anthropic_client = anthropic.Anthropic()\n", - "\n", - "def call_chat_model(messages: List[dict]) -> str:\n", - " response = client.chat.completions.create(\n", - " model=\"gpt-3.5-turbo\", \n", - " messages=messages,\n", - " )\n", - " return response.choices[0].message.content\n", - "\n", - "def invoke_chain(topic: str) -> str:\n", - " print(f\"Input: {topic}\")\n", - " prompt_value = prompt_template.format(topic=topic)\n", - " print(f\"Formatted prompt: {prompt_value}\")\n", - " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", - " output = call_chat_model(messages)\n", - " print(f\"Output: {output}\")\n", - " return output\n", - "\n", - "def stream_chat_model(messages: List[dict]) -> Iterator[str]:\n", - " stream = client.chat.completions.create(\n", - " model=\"gpt-3.5-turbo\",\n", - " messages=messages,\n", - " stream=True,\n", - " )\n", - " for response in stream:\n", - " content = response.choices[0].delta.content\n", - " if content is not None:\n", - " yield content\n", - "\n", - "def stream_chain(topic: str) -> Iterator[str]:\n", - " print(f\"Input: {topic}\")\n", - " prompt_value = prompt.format(topic=topic)\n", - " print(f\"Formatted prompt: {prompt_value}\")\n", - " stream = stream_chat_model([{\"role\": \"user\", \"content\": prompt_value}])\n", - " for chunk in stream:\n", - " print(f\"Token: {chunk}\", end=\"\")\n", - " yield chunk\n", - "\n", - "def batch_chain(topics: list) -> list:\n", - " with ThreadPoolExecutor(max_workers=5) as executor:\n", - " return list(executor.map(invoke_chain, topics))\n", - "\n", - "def call_llm(prompt_value: str) -> str:\n", - " response = client.completions.create(\n", - " model=\"gpt-3.5-turbo-instruct\",\n", - " prompt=prompt_value,\n", - " )\n", - " return response.choices[0].text\n", - "\n", - "def invoke_llm_chain(topic: str) -> str:\n", - " print(f\"Input: {topic}\")\n", - " prompt_value = promtp_template.format(topic=topic)\n", - " print(f\"Formatted prompt: {prompt_value}\")\n", - " output = call_llm(prompt_value)\n", - " print(f\"Output: {output}\")\n", - " return output\n", - "\n", - "def call_anthropic(prompt_value: str) -> str:\n", - " response = anthropic_client.completions.create(\n", - " model=\"claude-2\",\n", - " prompt=prompt_value,\n", - " max_tokens_to_sample=256,\n", - " )\n", - " return response.completion \n", - "\n", - "def invoke_anthropic_chain(topic: str) -> str:\n", - " print(f\"Input: {topic}\")\n", - " prompt_value = anthropic_template.format(topic=topic)\n", - " print(f\"Formatted prompt: {prompt_value}\")\n", - " output = call_anthropic(prompt_value)\n", - " print(f\"Output: {output}\")\n", - " return output\n", - "\n", - "async def ainvoke_anthropic_chain(topic: str) -> str:\n", - " ...\n", - "\n", - "def stream_anthropic_chain(topic: str) -> Iterator[str]:\n", - " ...\n", - "\n", - "def batch_anthropic_chain(topics: List[str]) -> List[str]:\n", - " ...\n", - "\n", - "def invoke_configurable_chain(\n", - " topic: str, \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> str:\n", - " if model == \"chat_openai\":\n", - " return invoke_chain(topic)\n", - " elif model == \"openai\":\n", - " return invoke_llm_chain(topic)\n", - " elif model == \"anthropic\":\n", - " return invoke_anthropic_chain(topic)\n", - " else:\n", - " raise ValueError(\n", - " f\"Received invalid model '{model}'.\"\n", - " \" Expected one of chat_openai, openai, anthropic\"\n", - " )\n", - "\n", - "def stream_configurable_chain(\n", - " topic: str, \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> Iterator[str]:\n", - " if model == \"chat_openai\":\n", - " return stream_chain(topic)\n", - " elif model == \"openai\":\n", - " # Note we haven't implemented this yet.\n", - " return stream_llm_chain(topic)\n", - " elif model == \"anthropic\":\n", - " # Note we haven't implemented this yet\n", - " return stream_anthropic_chain(topic)\n", - " else:\n", - " raise ValueError(\n", - " f\"Received invalid model '{model}'.\"\n", - " \" Expected one of chat_openai, openai, anthropic\"\n", - " )\n", - "\n", - "def batch_configurable_chain(\n", - " topics: List[str], \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> List[str]:\n", - " ...\n", - "\n", - "async def abatch_configurable_chain(\n", - " topics: List[str], \n", - " *, \n", - " model: str = \"chat_openai\"\n", - ") -> List[str]:\n", - " ...\n", - "\n", - "def invoke_chain_with_fallback(topic: str) -> str:\n", - " try:\n", - " return invoke_chain(topic)\n", - " except Exception:\n", - " return invoke_anthropic_chain(topic)\n", - "\n", - "async def ainvoke_chain_with_fallback(topic: str) -> str:\n", - " try:\n", - " return await ainvoke_chain(topic)\n", - " except Exception:\n", - " return await ainvoke_anthropic_chain(topic)\n", - "\n", - "async def batch_chain_with_fallback(topics: List[str]) -> str:\n", - " try:\n", - " return batch_chain(topics)\n", - " except Exception:\n", - " return batch_anthropic_chain(topics)" - ] - }, - { - "cell_type": "markdown", - "id": "9fb3d71d-8c69-4dc4-81b7-95cd46b271c2", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "\n", - "```\n", - "\n", - "#### LCEL\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "715c469a-545e-434e-bd6e-99745dd880a7", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "from langchain_anthropic import ChatAnthropic\n", - "from langchain_openai import ChatOpenAI\n", - "from langchain_openai import OpenAI\n", - "from langchain_core.output_parsers import StrOutputParser\n", - "from langchain_core.prompts import ChatPromptTemplate\n", - "from langchain_core.runnables import RunnablePassthrough, ConfigurableField\n", - "\n", - "os.environ[\"LANGCHAIN_API_KEY\"] = \"...\"\n", - "os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", - "\n", - "prompt = ChatPromptTemplate.from_template(\n", - " \"Tell me a short joke about {topic}\"\n", - ")\n", - "chat_openai = ChatOpenAI(model=\"gpt-3.5-turbo\")\n", - "openai = OpenAI(model=\"gpt-3.5-turbo-instruct\")\n", - "anthropic = ChatAnthropic(model=\"claude-2\")\n", - "model = (\n", - " chat_openai\n", - " .with_fallbacks([anthropic])\n", - " .configurable_alternatives(\n", - " ConfigurableField(id=\"model\"),\n", - " default_key=\"chat_openai\",\n", - " openai=openai,\n", - " anthropic=anthropic,\n", - " )\n", - ")\n", - "\n", - "chain = (\n", - " {\"topic\": RunnablePassthrough()} \n", - " | prompt \n", - " | model \n", - " | StrOutputParser()\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "e3637d39", - "metadata": {}, - "source": [ - "```{=mdx}\n", - "\n", - "\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "5e47e773-d0f1-42b5-b509-896807b65c9c", - "metadata": {}, - "source": [ - "## Next steps\n", - "\n", - "To continue learning about LCEL, we recommend:\n", - "- Reading up on the full LCEL [Interface](/docs/expression_language/interface), which we've only partially covered here.\n", - "- Exploring the [How-to](/docs/expression_language/how_to) section to learn about additional composition primitives that LCEL provides.\n", - "- Looking through the [Cookbook](/docs/expression_language/cookbook) section to see LCEL in action for common use cases. A good next use case to look at would be [Retrieval-augmented generation](/docs/expression_language/cookbook/retrieval)." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.6" - } + "cells": [ + { + "cell_type": "raw", + "id": "bc346658-6820-413a-bd8f-11bd3082fe43", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 0.5\n", + "title: Advantages of LCEL\n", + "---\n", + "\n", + "```{=mdx}\n", + "import { ColumnContainer, Column } from \"@theme/Columns\";\n", + "```" + ] }, - "nbformat": 4, - "nbformat_minor": 5 - } - \ No newline at end of file + { + "cell_type": "markdown", + "id": "919a5ae2-ed21-4923-b98f-723c111bac67", + "metadata": {}, + "source": [ + ":::{.callout-tip} \n", + "We recommend reading the LCEL [Get started](/docs/expression_language/get_started) section first.\n", + ":::" + ] + }, + { + "cell_type": "markdown", + "id": "f331037f-be3f-4782-856f-d55dab952488", + "metadata": {}, + "source": [ + "LCEL is designed to streamline the process of building useful apps with LLMs and combining related components. It does this by providing:\n", + "\n", + "1. **A unified interface**: Every LCEL object implements the `Runnable` interface, which defines a common set of invocation methods (`invoke`, `batch`, `stream`, `ainvoke`, ...). This makes it possible for chains of LCEL objects to also automatically support useful operations like batching and streaming of intermediate steps, since every chain of LCEL objects is itself an LCEL object.\n", + "2. **Composition primitives**: LCEL provides a number of primitives that make it easy to compose chains, parallelize components, add fallbacks, dynamically configure chain internals, and more.\n", + "\n", + "To better understand the value of LCEL, it's helpful to see it in action and think about how we might recreate similar functionality without it. In this walkthrough we'll do just that with our [basic example](/docs/expression_language/get_started#basic_example) from the get started section. We'll take our simple prompt + model chain, which under the hood already defines a lot of functionality, and see what it would take to recreate all of it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b99b47ec", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain-core langchain-openai langchain-anthropic" + ] + }, + { + "cell_type": "markdown", + "id": "e3621b62-a037-42b8-8faa-59575608bb8b", + "metadata": {}, + "source": [ + "## Invoke\n", + "In the simplest case, we just want to pass in a topic string and get back a joke string:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e628905c-430e-4e4a-9d7c-c91d2f42052e", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import List\n", + "\n", + "import openai\n", + "\n", + "\n", + "prompt_template = \"Tell me a short joke about {topic}\"\n", + "client = openai.OpenAI()\n", + "\n", + "def call_chat_model(messages: List[dict]) -> str:\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\", \n", + " messages=messages,\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "def invoke_chain(topic: str) -> str:\n", + " prompt_value = prompt_template.format(topic=topic)\n", + " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", + " return call_chat_model(messages)\n", + "\n", + "invoke_chain(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "cdc3b527-c09e-4c77-9711-c3cc4506cd95", + "metadata": {}, + "source": [ + "\n", + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d2a7cf8-1bc7-405c-bb0d-f2ab2ba3b6ab", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_openai import ChatOpenAI\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.runnables import RunnablePassthrough\n", + "\n", + "\n", + "prompt = ChatPromptTemplate.from_template(\n", + " \"Tell me a short joke about {topic}\"\n", + ")\n", + "output_parser = StrOutputParser()\n", + "model = ChatOpenAI(model=\"gpt-3.5-turbo\")\n", + "chain = (\n", + " {\"topic\": RunnablePassthrough()} \n", + " | prompt\n", + " | model\n", + " | output_parser\n", + ")\n", + "\n", + "chain.invoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "3c0b0513-77b8-4371-a20e-3e487cec7e7f", + "metadata": {}, + "source": [ + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "## Stream\n", + "If we want to stream results instead, we'll need to change our function:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f2cc6dc-d70a-4c13-9258-452f14290da6", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Iterator\n", + "\n", + "\n", + "def stream_chat_model(messages: List[dict]) -> Iterator[str]:\n", + " stream = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=messages,\n", + " stream=True,\n", + " )\n", + " for response in stream:\n", + " content = response.choices[0].delta.content\n", + " if content is not None:\n", + " yield content\n", + "\n", + "def stream_chain(topic: str) -> Iterator[str]:\n", + " prompt_value = prompt.format(topic=topic)\n", + " return stream_chat_model([{\"role\": \"user\", \"content\": prompt_value}])\n", + "\n", + "\n", + "for chunk in stream_chain(\"ice cream\"):\n", + " print(chunk, end=\"\", flush=True)" + ] + }, + { + "cell_type": "markdown", + "id": "f8e36b0e-c7dc-4130-a51b-189d4b756c7f", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "173e1a9c-2a18-4669-b0de-136f39197786", + "metadata": {}, + "outputs": [], + "source": [ + "for chunk in chain.stream(\"ice cream\"):\n", + " print(chunk, end=\"\", flush=True)" + ] + }, + { + "cell_type": "markdown", + "id": "b9b41e78-ddeb-44d0-a58b-a0ea0c99a761", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## Batch\n", + "\n", + "If we want to run on a batch of inputs in parallel, we'll again need a new function:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b492f13-73a6-48ed-8d4f-9ad634da9988", + "metadata": {}, + "outputs": [], + "source": [ + "from concurrent.futures import ThreadPoolExecutor\n", + "\n", + "\n", + "def batch_chain(topics: list) -> list:\n", + " with ThreadPoolExecutor(max_workers=5) as executor:\n", + " return list(executor.map(invoke_chain, topics))\n", + "\n", + "batch_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])" + ] + }, + { + "cell_type": "markdown", + "id": "9b3e9d34-6775-43c1-93d8-684b58e341ab", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f55b292-4e97-4d09-8e71-c71b4d853526", + "metadata": {}, + "outputs": [], + "source": [ + "chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])" + ] + }, + { + "cell_type": "markdown", + "id": "cc5ba36f-eec1-4fc1-8cfe-fa242a7f7809", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "## Async\n", + "\n", + "If we need an asynchronous version:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eabe6621-e815-41e3-9c9d-5aa561a69835", + "metadata": {}, + "outputs": [], + "source": [ + "async_client = openai.AsyncOpenAI()\n", + "\n", + "async def acall_chat_model(messages: List[dict]) -> str:\n", + " response = await async_client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\", \n", + " messages=messages,\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "async def ainvoke_chain(topic: str) -> str:\n", + " prompt_value = prompt_template.format(topic=topic)\n", + " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", + " return await acall_chat_model(messages)\n", + "\n", + "\n", + "await ainvoke_chain(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "2f209290-498c-4c17-839e-ee9002919846", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d009781-7307-48a4-8439-f9d3dd015560", + "metadata": {}, + "outputs": [], + "source": [ + "await chain.ainvoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "1f282129-99a3-40f4-b67f-2d0718b1bea9", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "## Async Batch\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1933f39d-7bd7-45fa-a6a5-5fb7be8e31ec", + "metadata": {}, + "outputs": [], + "source": [ + "import asyncio\n", + "import openai\n", + "\n", + "\n", + "async def abatch_chain(topics: list) -> list:\n", + " coros = map(ainvoke_chain, topics)\n", + " return await asyncio.gather(*coros)\n", + "\n", + "\n", + "await abatch_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])" + ] + }, + { + "cell_type": "markdown", + "id": "90691048-17ae-479d-83c2-859e33ddf3eb", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "947dad23-3443-40eb-a03b-7840c261e261", + "metadata": {}, + "outputs": [], + "source": [ + "await chain.abatch([\"ice cream\", \"spaghetti\", \"dumplings\"])" + ] + }, + { + "cell_type": "markdown", + "id": "f6888245-1ebe-4768-a53b-e1fef6a8b379", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## LLM instead of chat model\n", + "\n", + "If we want to use a completion endpoint instead of a chat endpoint: \n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9aca946b-acaa-4f7e-a3d0-ad8e3225e7f2", + "metadata": {}, + "outputs": [], + "source": [ + "def call_llm(prompt_value: str) -> str:\n", + " response = client.completions.create(\n", + " model=\"gpt-3.5-turbo-instruct\",\n", + " prompt=prompt_value,\n", + " )\n", + " return response.choices[0].text\n", + "\n", + "def invoke_llm_chain(topic: str) -> str:\n", + " prompt_value = prompt_template.format(topic=topic)\n", + " return call_llm(prompt_value)\n", + "\n", + "invoke_llm_chain(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "45342cd6-58c2-4543-9392-773e05ef06e7", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d56efc0c-88e0-4cf8-a46a-e8e9b9cd6805", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_openai import OpenAI\n", + "\n", + "llm = OpenAI(model=\"gpt-3.5-turbo-instruct\")\n", + "llm_chain = (\n", + " {\"topic\": RunnablePassthrough()} \n", + " | prompt\n", + " | llm\n", + " | output_parser\n", + ")\n", + "\n", + "llm_chain.invoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "ca115eaf-59ef-45c1-aac1-e8b0ce7db250", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## Different model provider\n", + "\n", + "If we want to use Anthropic instead of OpenAI: \n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cde2ceb0-f65e-487b-9a32-137b0e9d79d5", + "metadata": {}, + "outputs": [], + "source": [ + "import anthropic\n", + "\n", + "anthropic_template = f\"Human:\\n\\n{prompt_template}\\n\\nAssistant:\"\n", + "anthropic_client = anthropic.Anthropic()\n", + "\n", + "def call_anthropic(prompt_value: str) -> str:\n", + " response = anthropic_client.completions.create(\n", + " model=\"claude-2\",\n", + " prompt=prompt_value,\n", + " max_tokens_to_sample=256,\n", + " )\n", + " return response.completion \n", + "\n", + "def invoke_anthropic_chain(topic: str) -> str:\n", + " prompt_value = anthropic_template.format(topic=topic)\n", + " return call_anthropic(prompt_value)\n", + "\n", + "invoke_anthropic_chain(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "52a0c9f8-e316-42e1-af85-cabeba4b7059", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3b800d1-5954-41a4-80b0-f00a7908961e", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_anthropic import ChatAnthropic\n", + "\n", + "anthropic = ChatAnthropic(model=\"claude-2\")\n", + "anthropic_chain = (\n", + " {\"topic\": RunnablePassthrough()} \n", + " | prompt \n", + " | anthropic\n", + " | output_parser\n", + ")\n", + "\n", + "anthropic_chain.invoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "d7a91eee-d017-420d-b215-f663dcbf8ed2", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## Runtime configurability\n", + "\n", + "If we wanted to make the choice of chat model or LLM configurable at runtime:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0ef10e4-8e8e-463a-bd0f-59b0715e79b6", + "metadata": {}, + "outputs": [], + "source": [ + "def invoke_configurable_chain(\n", + " topic: str, \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> str:\n", + " if model == \"chat_openai\":\n", + " return invoke_chain(topic)\n", + " elif model == \"openai\":\n", + " return invoke_llm_chain(topic)\n", + " elif model == \"anthropic\":\n", + " return invoke_anthropic_chain(topic)\n", + " else:\n", + " raise ValueError(\n", + " f\"Received invalid model '{model}'.\"\n", + " \" Expected one of chat_openai, openai, anthropic\"\n", + " )\n", + "\n", + "def stream_configurable_chain(\n", + " topic: str, \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> Iterator[str]:\n", + " if model == \"chat_openai\":\n", + " return stream_chain(topic)\n", + " elif model == \"openai\":\n", + " # Note we haven't implemented this yet.\n", + " return stream_llm_chain(topic)\n", + " elif model == \"anthropic\":\n", + " # Note we haven't implemented this yet\n", + " return stream_anthropic_chain(topic)\n", + " else:\n", + " raise ValueError(\n", + " f\"Received invalid model '{model}'.\"\n", + " \" Expected one of chat_openai, openai, anthropic\"\n", + " )\n", + "\n", + "def batch_configurable_chain(\n", + " topics: List[str], \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> List[str]:\n", + " # You get the idea\n", + " ...\n", + "\n", + "async def abatch_configurable_chain(\n", + " topics: List[str], \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> List[str]:\n", + " ...\n", + "\n", + "invoke_configurable_chain(\"ice cream\", model=\"openai\")\n", + "stream = stream_configurable_chain(\n", + " \"ice_cream\", \n", + " model=\"anthropic\"\n", + ")\n", + "for chunk in stream:\n", + " print(chunk, end=\"\", flush=True)\n", + "\n", + "# batch_configurable_chain([\"ice cream\", \"spaghetti\", \"dumplings\"])\n", + "# await ainvoke_configurable_chain(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "d1530c5c-6635-4599-9483-6df357ca2d64", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### With LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76809d14-e77a-4125-a2ea-efbebf0b47cc", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.runnables import ConfigurableField\n", + "\n", + "\n", + "configurable_model = model.configurable_alternatives(\n", + " ConfigurableField(id=\"model\"), \n", + " default_key=\"chat_openai\", \n", + " openai=llm,\n", + " anthropic=anthropic,\n", + ")\n", + "configurable_chain = (\n", + " {\"topic\": RunnablePassthrough()} \n", + " | prompt \n", + " | configurable_model \n", + " | output_parser\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a3d94d0-cd42-4195-80b8-ef2e12503d6f", + "metadata": {}, + "outputs": [], + "source": [ + "configurable_chain.invoke(\n", + " \"ice cream\", \n", + " config={\"model\": \"openai\"}\n", + ")\n", + "stream = configurable_chain.stream(\n", + " \"ice cream\", \n", + " config={\"model\": \"anthropic\"}\n", + ")\n", + "for chunk in stream:\n", + " print(chunk, end=\"\", flush=True)\n", + "\n", + "configurable_chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])\n", + "\n", + "# await configurable_chain.ainvoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "370dd4d7-b825-40c4-ae3c-2693cba2f22a", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## Logging\n", + "\n", + "If we want to log our intermediate results:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n", + "We'll `print` intermediate steps for illustrative purposes\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "383a3c51-926d-48c6-b9ae-42bf8f14ecc8", + "metadata": {}, + "outputs": [], + "source": [ + "def invoke_anthropic_chain_with_logging(topic: str) -> str:\n", + " print(f\"Input: {topic}\")\n", + " prompt_value = anthropic_template.format(topic=topic)\n", + " print(f\"Formatted prompt: {prompt_value}\")\n", + " output = call_anthropic(prompt_value)\n", + " print(f\"Output: {output}\")\n", + " return output\n", + "\n", + "invoke_anthropic_chain_with_logging(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "16bd20fd-43cd-4aaf-866f-a53d1f20312d", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "Every component has built-in integrations with LangSmith. If we set the following two environment variables, all chain traces are logged to LangSmith.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6204f21-d2e7-4ac6-871f-b60b34e5bd36", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"LANGCHAIN_API_KEY\"] = \"...\"\n", + "os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", + "\n", + "anthropic_chain.invoke(\"ice cream\")" + ] + }, + { + "cell_type": "markdown", + "id": "db37c922-e641-45e4-86fe-9ed7ef468fd8", + "metadata": {}, + "source": [ + "Here's what our LangSmith trace looks like: https://smith.langchain.com/public/e4de52f8-bcd9-4732-b950-deee4b04e313/r" + ] + }, + { + "cell_type": "markdown", + "id": "e25ce3c5-27a7-4954-9f0e-b94313597135", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "## Fallbacks\n", + "\n", + "If we wanted to add fallback logic, in case one model API is down:\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e49d512-bc83-4c5f-b56e-934b8343b0fe", + "metadata": {}, + "outputs": [], + "source": [ + "def invoke_chain_with_fallback(topic: str) -> str:\n", + " try:\n", + " return invoke_chain(topic)\n", + " except Exception:\n", + " return invoke_anthropic_chain(topic)\n", + "\n", + "async def ainvoke_chain_with_fallback(topic: str) -> str:\n", + " try:\n", + " return await ainvoke_chain(topic)\n", + " except Exception:\n", + " # Note: we haven't actually implemented this.\n", + " return await ainvoke_anthropic_chain(topic)\n", + "\n", + "async def batch_chain_with_fallback(topics: List[str]) -> str:\n", + " try:\n", + " return batch_chain(topics)\n", + " except Exception:\n", + " # Note: we haven't actually implemented this.\n", + " return batch_anthropic_chain(topics)\n", + "\n", + "invoke_chain_with_fallback(\"ice cream\")\n", + "# await ainvoke_chain_with_fallback(\"ice cream\")\n", + "batch_chain_with_fallback([\"ice cream\", \"spaghetti\", \"dumplings\"]))" + ] + }, + { + "cell_type": "markdown", + "id": "f7ef59b5-2ce3-479e-a7ac-79e1e2f30e9c", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d0d8a0f-66eb-4c35-9529-74bec44ce4b8", + "metadata": {}, + "outputs": [], + "source": [ + "fallback_chain = chain.with_fallbacks([anthropic_chain])\n", + "\n", + "fallback_chain.invoke(\"ice cream\")\n", + "# await fallback_chain.ainvoke(\"ice cream\")\n", + "fallback_chain.batch([\"ice cream\", \"spaghetti\", \"dumplings\"])" + ] + }, + { + "cell_type": "markdown", + "id": "3af52d36-37c6-4d89-b515-95d7270bb96a", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "f58af836-26bd-4eab-97a0-76dd56d53430", + "metadata": {}, + "source": [ + "## Full code comparison\n", + "\n", + "Even in this simple case, our LCEL chain succinctly packs in a lot of functionality. As chains become more complex, this becomes especially valuable.\n", + "\n", + "```{=mdx}\n", + "\n", + "\n", + "```\n", + "\n", + "#### Without LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8684690a-e450-4ba7-8509-e9815a42ff1c", + "metadata": {}, + "outputs": [], + "source": [ + "from concurrent.futures import ThreadPoolExecutor\n", + "from typing import Iterator, List, Tuple\n", + "\n", + "import anthropic\n", + "import openai\n", + "\n", + "\n", + "prompt_template = \"Tell me a short joke about {topic}\"\n", + "anthropic_template = f\"Human:\\n\\n{prompt_template}\\n\\nAssistant:\"\n", + "client = openai.OpenAI()\n", + "async_client = openai.AsyncOpenAI()\n", + "anthropic_client = anthropic.Anthropic()\n", + "\n", + "def call_chat_model(messages: List[dict]) -> str:\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\", \n", + " messages=messages,\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "def invoke_chain(topic: str) -> str:\n", + " print(f\"Input: {topic}\")\n", + " prompt_value = prompt_template.format(topic=topic)\n", + " print(f\"Formatted prompt: {prompt_value}\")\n", + " messages = [{\"role\": \"user\", \"content\": prompt_value}]\n", + " output = call_chat_model(messages)\n", + " print(f\"Output: {output}\")\n", + " return output\n", + "\n", + "def stream_chat_model(messages: List[dict]) -> Iterator[str]:\n", + " stream = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=messages,\n", + " stream=True,\n", + " )\n", + " for response in stream:\n", + " content = response.choices[0].delta.content\n", + " if content is not None:\n", + " yield content\n", + "\n", + "def stream_chain(topic: str) -> Iterator[str]:\n", + " print(f\"Input: {topic}\")\n", + " prompt_value = prompt.format(topic=topic)\n", + " print(f\"Formatted prompt: {prompt_value}\")\n", + " stream = stream_chat_model([{\"role\": \"user\", \"content\": prompt_value}])\n", + " for chunk in stream:\n", + " print(f\"Token: {chunk}\", end=\"\")\n", + " yield chunk\n", + "\n", + "def batch_chain(topics: list) -> list:\n", + " with ThreadPoolExecutor(max_workers=5) as executor:\n", + " return list(executor.map(invoke_chain, topics))\n", + "\n", + "def call_llm(prompt_value: str) -> str:\n", + " response = client.completions.create(\n", + " model=\"gpt-3.5-turbo-instruct\",\n", + " prompt=prompt_value,\n", + " )\n", + " return response.choices[0].text\n", + "\n", + "def invoke_llm_chain(topic: str) -> str:\n", + " print(f\"Input: {topic}\")\n", + " prompt_value = promtp_template.format(topic=topic)\n", + " print(f\"Formatted prompt: {prompt_value}\")\n", + " output = call_llm(prompt_value)\n", + " print(f\"Output: {output}\")\n", + " return output\n", + "\n", + "def call_anthropic(prompt_value: str) -> str:\n", + " response = anthropic_client.completions.create(\n", + " model=\"claude-2\",\n", + " prompt=prompt_value,\n", + " max_tokens_to_sample=256,\n", + " )\n", + " return response.completion \n", + "\n", + "def invoke_anthropic_chain(topic: str) -> str:\n", + " print(f\"Input: {topic}\")\n", + " prompt_value = anthropic_template.format(topic=topic)\n", + " print(f\"Formatted prompt: {prompt_value}\")\n", + " output = call_anthropic(prompt_value)\n", + " print(f\"Output: {output}\")\n", + " return output\n", + "\n", + "async def ainvoke_anthropic_chain(topic: str) -> str:\n", + " ...\n", + "\n", + "def stream_anthropic_chain(topic: str) -> Iterator[str]:\n", + " ...\n", + "\n", + "def batch_anthropic_chain(topics: List[str]) -> List[str]:\n", + " ...\n", + "\n", + "def invoke_configurable_chain(\n", + " topic: str, \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> str:\n", + " if model == \"chat_openai\":\n", + " return invoke_chain(topic)\n", + " elif model == \"openai\":\n", + " return invoke_llm_chain(topic)\n", + " elif model == \"anthropic\":\n", + " return invoke_anthropic_chain(topic)\n", + " else:\n", + " raise ValueError(\n", + " f\"Received invalid model '{model}'.\"\n", + " \" Expected one of chat_openai, openai, anthropic\"\n", + " )\n", + "\n", + "def stream_configurable_chain(\n", + " topic: str, \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> Iterator[str]:\n", + " if model == \"chat_openai\":\n", + " return stream_chain(topic)\n", + " elif model == \"openai\":\n", + " # Note we haven't implemented this yet.\n", + " return stream_llm_chain(topic)\n", + " elif model == \"anthropic\":\n", + " # Note we haven't implemented this yet\n", + " return stream_anthropic_chain(topic)\n", + " else:\n", + " raise ValueError(\n", + " f\"Received invalid model '{model}'.\"\n", + " \" Expected one of chat_openai, openai, anthropic\"\n", + " )\n", + "\n", + "def batch_configurable_chain(\n", + " topics: List[str], \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> List[str]:\n", + " ...\n", + "\n", + "async def abatch_configurable_chain(\n", + " topics: List[str], \n", + " *, \n", + " model: str = \"chat_openai\"\n", + ") -> List[str]:\n", + " ...\n", + "\n", + "def invoke_chain_with_fallback(topic: str) -> str:\n", + " try:\n", + " return invoke_chain(topic)\n", + " except Exception:\n", + " return invoke_anthropic_chain(topic)\n", + "\n", + "async def ainvoke_chain_with_fallback(topic: str) -> str:\n", + " try:\n", + " return await ainvoke_chain(topic)\n", + " except Exception:\n", + " return await ainvoke_anthropic_chain(topic)\n", + "\n", + "async def batch_chain_with_fallback(topics: List[str]) -> str:\n", + " try:\n", + " return batch_chain(topics)\n", + " except Exception:\n", + " return batch_anthropic_chain(topics)" + ] + }, + { + "cell_type": "markdown", + "id": "9fb3d71d-8c69-4dc4-81b7-95cd46b271c2", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "\n", + "```\n", + "\n", + "#### LCEL\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "715c469a-545e-434e-bd6e-99745dd880a7", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "from langchain_anthropic import ChatAnthropic\n", + "from langchain_openai import ChatOpenAI\n", + "from langchain_openai import OpenAI\n", + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_core.runnables import RunnablePassthrough, ConfigurableField\n", + "\n", + "os.environ[\"LANGCHAIN_API_KEY\"] = \"...\"\n", + "os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", + "\n", + "prompt = ChatPromptTemplate.from_template(\n", + " \"Tell me a short joke about {topic}\"\n", + ")\n", + "chat_openai = ChatOpenAI(model=\"gpt-3.5-turbo\")\n", + "openai = OpenAI(model=\"gpt-3.5-turbo-instruct\")\n", + "anthropic = ChatAnthropic(model=\"claude-2\")\n", + "model = (\n", + " chat_openai\n", + " .with_fallbacks([anthropic])\n", + " .configurable_alternatives(\n", + " ConfigurableField(id=\"model\"),\n", + " default_key=\"chat_openai\",\n", + " openai=openai,\n", + " anthropic=anthropic,\n", + " )\n", + ")\n", + "\n", + "chain = (\n", + " {\"topic\": RunnablePassthrough()} \n", + " | prompt \n", + " | model \n", + " | StrOutputParser()\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e3637d39", + "metadata": {}, + "source": [ + "```{=mdx}\n", + "\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "5e47e773-d0f1-42b5-b509-896807b65c9c", + "metadata": {}, + "source": [ + "## Next steps\n", + "\n", + "To continue learning about LCEL, we recommend:\n", + "- Reading up on the full LCEL [Interface](/docs/expression_language/interface), which we've only partially covered here.\n", + "- Exploring the [primitives](/docs/expression_language/primitives) to learn more about what LCEL provides." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/docs/get_started/installation.mdx b/docs/docs/get_started/installation.mdx index aaee3c247c8..e84ff564604 100644 --- a/docs/docs/get_started/installation.mdx +++ b/docs/docs/get_started/installation.mdx @@ -1,3 +1,7 @@ +--- +sidebar_position: 2 +--- + # Installation ## Official release @@ -29,13 +33,6 @@ If you want to install from source, you can do so by cloning the repo and be sur pip install -e . ``` -## LangChain community -The `langchain-community` package contains third-party integrations. It is automatically installed by `langchain`, but can also be used separately. Install with: - -```bash -pip install langchain-community -``` - ## LangChain core The `langchain-core` package contains base abstractions that the rest of the LangChain ecosystem uses, along with the LangChain Expression Language. It is automatically installed by `langchain`, but can also be used separately. Install with: @@ -43,6 +40,13 @@ The `langchain-core` package contains base abstractions that the rest of the Lan pip install langchain-core ``` +## LangChain community +The `langchain-community` package contains third-party integrations. It is automatically installed by `langchain`, but can also be used separately. Install with: + +```bash +pip install langchain-community +``` + ## LangChain experimental The `langchain-experimental` package holds experimental LangChain code, intended for research and experimental uses. Install with: @@ -51,6 +55,13 @@ Install with: pip install langchain-experimental ``` +## LangGraph +`langgraph` is a library for building stateful, multi-actor applications with LLMs, built on top of (and intended to be used with) LangChain. +Install with: + +```bash +pip install langgraph +``` ## LangServe LangServe helps developers deploy LangChain runnables and chains as a REST API. LangServe is automatically installed by LangChain CLI. diff --git a/docs/docs/get_started/introduction.mdx b/docs/docs/get_started/introduction.mdx index c10e01f2c3f..5a2b528509c 100644 --- a/docs/docs/get_started/introduction.mdx +++ b/docs/docs/get_started/introduction.mdx @@ -1,18 +1,16 @@ --- sidebar_position: 0 +sidebar_class_name: hidden --- # Introduction -**LangChain** is a framework for developing applications powered by language models. It enables applications that: -- **Are context-aware**: connect a language model to sources of context (prompt instructions, few shot examples, content to ground its response in, etc.) -- **Reason**: rely on a language model to reason (about how to answer based on provided context, what actions to take, etc.) +**LangChain** is a framework for developing applications powered by large language models (LLMs). -This framework consists of several parts. -- **LangChain Libraries**: The Python and JavaScript libraries. Contains interfaces and integrations for a myriad of components, a basic run time for combining these components into chains and agents, and off-the-shelf implementations of chains and agents. -- **[LangChain Templates](/docs/templates)**: A collection of easily deployable reference architectures for a wide variety of tasks. -- **[LangServe](/docs/langserve)**: A library for deploying LangChain chains as a REST API. -- **[LangSmith](/docs/langsmith)**: A developer platform that lets you debug, test, evaluate, and monitor chains built on any LLM framework and seamlessly integrates with LangChain. +LangChain simplifies every stage of the LLM application lifecycle: +- **Development**: Build your applications using LangChain's open-source [building blocks](/docs/expression_language/) and [components](/docs/modules/). Hit the ground running using [third-party integrations](/docs/integrations/platforms/) and [Templates](/docs/templates). +- **Productionization**: Use [LangSmith](/docs/langsmith/) to inspect, monitor and evaluate your chains, so that you can continuously optimize and deploy with confidence. +- **Deployment**: Turn any chain into an API with [LangServe](/docs/langserve). import ThemedImage from '@theme/ThemedImage'; @@ -25,31 +23,24 @@ import ThemedImage from '@theme/ThemedImage'; title="LangChain Framework Overview" /> -Together, these products simplify the entire application lifecycle: -- **Develop**: Write your applications in LangChain/LangChain.js. Hit the ground running using Templates for reference. -- **Productionize**: Use LangSmith to inspect, test and monitor your chains, so that you can constantly improve and deploy with confidence. -- **Deploy**: Turn any chain into an API with LangServe. +Concretely, the framework consists of the following open-source libraries: -## LangChain Libraries - -The main value props of the LangChain packages are: -1. **Components**: composable tools and integrations for working with language models. Components are modular and easy-to-use, whether you are using the rest of the LangChain framework or not -2. **Off-the-shelf chains**: built-in assemblages of components for accomplishing higher-level tasks - -Off-the-shelf chains make it easy to get started. Components make it easy to customize existing chains and build new ones. - -The LangChain libraries themselves are made up of several different packages. - **`langchain-core`**: Base abstractions and LangChain Expression Language. - **`langchain-community`**: Third party integrations. + - Partner packages (e.g. **`langchain-openai`**, **`langchain-anthropic`**, etc.): Some integrations have been further split into their own lightweight packages that only depend on **`langchain-core`**. - **`langchain`**: Chains, agents, and retrieval strategies that make up an application's cognitive architecture. +- **[langgraph](/docs/langgraph)**: Build robust and stateful multi-actor applications with LLMs by modeling steps as edges and nodes in a graph. +- **[langserve](/docs/langserve)**: Deploy LangChain chains as REST APIs. + +The broader ecosystem includes: + +- **[LangSmith](/docs/langsmith)**: A developer platform that lets you debug, test, evaluate, and monitor LLM applications and seamlessly integrates with LangChain. ## Get started -[Here’s](/docs/get_started/installation) how to install LangChain, set up your environment, and start building. - We recommend following our [Quickstart](/docs/get_started/quickstart) guide to familiarize yourself with the framework by building your first LangChain application. -Read up on our [Security](/docs/security) best practices to make sure you're developing safely with LangChain. +[See here](/docs/get_started/installation) for instructions on how to install LangChain, set up your environment, and start building. :::note @@ -57,48 +48,53 @@ These docs focus on the Python LangChain library. [Head here](https://js.langcha ::: -## LangChain Expression Language (LCEL) +## Use cases -LCEL is a declarative way to compose chains. LCEL was designed from day 1 to support putting prototypes in production, with no code changes, from the simplest β€œprompt + LLM” chain to the most complex chains. +If you're looking to build something specific or are more of a hands-on learner, check out our [use-cases](/docs/use_cases). +They're walkthroughs and techniques for common end-to-end tasks, such as: -- **[Overview](/docs/expression_language/)**: LCEL and its benefits -- **[Interface](/docs/expression_language/interface)**: The standard interface for LCEL objects -- **[How-to](/docs/expression_language/how_to)**: Key features of LCEL -- **[Cookbook](/docs/expression_language/cookbook)**: Example code for accomplishing common tasks - - -## Modules - -LangChain provides standard, extendable interfaces and integrations for the following modules: - -#### [Model I/O](/docs/modules/model_io/) -Interface with language models - -#### [Retrieval](/docs/modules/data_connection/) -Interface with application-specific data - -#### [Agents](/docs/modules/agents/) -Let models choose which tools to use given high-level directives - - -## Examples, ecosystem, and resources - -### [Use cases](/docs/use_cases/question_answering/) -Walkthroughs and techniques for common end-to-end use cases, like: -- [Document question answering](/docs/use_cases/question_answering/) +- [Question answering with RAG](/docs/use_cases/question_answering/) +- [Extracting structured output](/docs/use_cases/extraction/) - [Chatbots](/docs/use_cases/chatbots/) -- [Analyzing structured data](/docs/use_cases/sql/) -- and much more... +- and more! + + +## Expression Language + +LangChain Expression Language (LCEL) is the foundation of many of LangChain's components, and is a declarative way to compose chains. LCEL was designed from day 1 to support putting prototypes in production, with no code changes, from the simplest β€œprompt + LLM” chain to the most complex chains. + +- **[Get started](/docs/expression_language/)**: LCEL and its benefits +- **[Runnable interface](/docs/expression_language/interface)**: The standard interface for LCEL objects +- **[Primitives](/docs/expression_language/primitives)**: More on the primitives LCEL includes +- and more! + +## Ecosystem + +### [πŸ¦œπŸ› οΈ LangSmith](/docs/langsmith) +Trace and evaluate your language model applications and intelligent agents to help you move from prototype to production. + +### [πŸ¦œπŸ•ΈοΈ LangGraph](/docs/langgraph) +Build stateful, multi-actor applications with LLMs, built on top of (and intended to be used with) LangChain primitives. + +### [πŸ¦œπŸ“ LangServe](/docs/langserve) +Deploy LangChain runnables and chains as REST APIs. + +## [Security](/docs/security) +Read up on our [Security](/docs/security) best practices to make sure you're developing safely with LangChain. + +## Additional resources + +### [Components](/docs/modules/) +LangChain provides standard, extendable interfaces and integrations for many different components, including: ### [Integrations](/docs/integrations/providers/) LangChain is part of a rich ecosystem of tools that integrate with our framework and build on top of it. Check out our growing list of [integrations](/docs/integrations/providers/). -### [Guides](../guides/debugging.md) +### [Guides](/docs/guides/) Best practices for developing with LangChain. ### [API reference](https://api.python.langchain.com) Head to the reference section for full documentation of all classes and methods in the LangChain and LangChain Experimental Python packages. -### [Developer's guide](/docs/contributing) +### [Contributing](/docs/contributing) Check out the developer's guide for guidelines on contributing and help getting your dev environment set up. - diff --git a/docs/docs/get_started/quickstart.mdx b/docs/docs/get_started/quickstart.mdx index de49f48c9f1..de63efd0c21 100644 --- a/docs/docs/get_started/quickstart.mdx +++ b/docs/docs/get_started/quickstart.mdx @@ -1,3 +1,7 @@ +--- +sidebar_position: 1 +--- + # Quickstart In this quickstart we'll show you how to: diff --git a/docs/docs/guides/debugging.md b/docs/docs/guides/development/debugging.md similarity index 99% rename from docs/docs/guides/debugging.md rename to docs/docs/guides/development/debugging.md index 140e26fb5fb..e8ca2622ec7 100644 --- a/docs/docs/guides/debugging.md +++ b/docs/docs/guides/development/debugging.md @@ -8,11 +8,11 @@ Here are a few different tools and functionalities to aid in debugging. ## Tracing -Platforms with tracing capabilities like [LangSmith](/docs/langsmith/) and [WandB](/docs/integrations/providers/wandb_tracing) are the most comprehensive solutions for debugging. These platforms make it easy to not only log and visualize LLM apps, but also to actively debug, test and refine them. +Platforms with tracing capabilities like [LangSmith](/docs/langsmith/) are the most comprehensive solutions for debugging. These platforms make it easy to not only log and visualize LLM apps, but also to actively debug, test and refine them. -For anyone building production-grade LLM applications, we highly recommend using a platform like this. +When building production-grade LLM applications, platforms like this are essential. -![Screenshot of the LangSmith debugging interface showing an AgentExecutor run with input and output details, and a run tree visualization.](../../static/img/run_details.png "LangSmith Debugging Interface") +![Screenshot of the LangSmith debugging interface showing an AgentExecutor run with input and output details, and a run tree visualization.](../../../static/img/run_details.png "LangSmith Debugging Interface") ## `set_debug` and `set_verbose` diff --git a/docs/docs/guides/extending_langchain.mdx b/docs/docs/guides/development/extending_langchain.mdx similarity index 100% rename from docs/docs/guides/extending_langchain.mdx rename to docs/docs/guides/development/extending_langchain.mdx diff --git a/docs/docs/guides/development/index.mdx b/docs/docs/guides/development/index.mdx new file mode 100644 index 00000000000..6525ac294b1 --- /dev/null +++ b/docs/docs/guides/development/index.mdx @@ -0,0 +1,13 @@ +--- +sidebar_position: 1 +sidebar_class_name: hidden +--- + +# Development + +This section contains guides with general information around building apps with LangChain. + +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from '@docusaurus/theme-common'; + + item.href !== "/docs/guides/development/")} /> diff --git a/docs/docs/guides/local_llms.ipynb b/docs/docs/guides/development/local_llms.ipynb similarity index 98% rename from docs/docs/guides/local_llms.ipynb rename to docs/docs/guides/development/local_llms.ipynb index fef32b9785b..6f701871833 100644 --- a/docs/docs/guides/local_llms.ipynb +++ b/docs/docs/guides/development/local_llms.ipynb @@ -9,7 +9,7 @@ "\n", "## Use case\n", "\n", - "The popularity of projects like [PrivateGPT](https://github.com/imartinez/privateGPT), [llama.cpp](https://github.com/ggerganov/llama.cpp), [GPT4All](https://github.com/nomic-ai/gpt4all), and [llamafile](https://github.com/Mozilla-Ocho/llamafile) underscore the demand to run LLMs locally (on your own device).\n", + "The popularity of projects like [PrivateGPT](https://github.com/imartinez/privateGPT), [llama.cpp](https://github.com/ggerganov/llama.cpp), [Ollama](https://github.com/ollama/ollama), [GPT4All](https://github.com/nomic-ai/gpt4all), [llamafile](https://github.com/Mozilla-Ocho/llamafile), and others underscore the demand to run LLMs locally (on your own device).\n", "\n", "This has at least two important benefits:\n", "\n", @@ -32,7 +32,7 @@ "1. `Base model`: What is the base-model and how was it trained?\n", "2. `Fine-tuning approach`: Was the base-model fine-tuned and, if so, what [set of instructions](https://cameronrwolfe.substack.com/p/beyond-llama-the-power-of-open-llms#%C2%A7alpaca-an-instruction-following-llama-model) was used?\n", "\n", - "![Image description](../../static/img/OSS_LLM_overview.png)\n", + "![Image description](../../../static/img/OSS_LLM_overview.png)\n", "\n", "The relative performance of these models can be assessed using several leaderboards, including:\n", "\n", @@ -56,7 +56,7 @@ "\n", "In particular, see [this excellent post](https://finbarr.ca/how-is-llama-cpp-possible/) on the importance of quantization.\n", "\n", - "![Image description](../../static/img/llama-memory-weights.png)\n", + "![Image description](../../../static/img/llama-memory-weights.png)\n", "\n", "With less precision, we radically decrease the memory needed to store the LLM in memory.\n", "\n", @@ -64,7 +64,7 @@ "\n", "A Mac M2 Max is 5-6x faster than a M1 for inference due to the larger GPU memory bandwidth.\n", "\n", - "![Image description](../../static/img/llama_t_put.png)\n", + "![Image description](../../../static/img/llama_t_put.png)\n", "\n", "## Quickstart\n", "\n", diff --git a/docs/docs/guides/pydantic_compatibility.md b/docs/docs/guides/development/pydantic_compatibility.md similarity index 100% rename from docs/docs/guides/pydantic_compatibility.md rename to docs/docs/guides/development/pydantic_compatibility.md diff --git a/docs/docs/guides/index.mdx b/docs/docs/guides/index.mdx new file mode 100644 index 00000000000..e77238cd487 --- /dev/null +++ b/docs/docs/guides/index.mdx @@ -0,0 +1,3 @@ +# Guides + +This section contains deeper dives into the LangChain framework and how to apply it. diff --git a/docs/docs/guides/model_laboratory.ipynb b/docs/docs/guides/model_laboratory.ipynb deleted file mode 100644 index 5e87c0102fe..00000000000 --- a/docs/docs/guides/model_laboratory.ipynb +++ /dev/null @@ -1,283 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "920a3c1a", - "metadata": {}, - "source": [ - "# Model comparison\n", - "\n", - "Constructing your language model application will likely involved choosing between many different options of prompts, models, and even chains to use. When doing so, you will want to compare these different options on different inputs in an easy, flexible, and intuitive way. \n", - "\n", - "LangChain provides the concept of a ModelLaboratory to test out and try different models." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12ebae56", - "metadata": {}, - "outputs": [], - "source": [ - "%pip install --upgrade --quiet langchain langchain-openai" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ab9e95ad", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.model_laboratory import ModelLaboratory\n", - "from langchain_community.llms import Cohere, HuggingFaceHub\n", - "from langchain_core.prompts import PromptTemplate\n", - "from langchain_openai import OpenAI" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3dd69cb4", - "metadata": {}, - "outputs": [], - "source": [ - "import getpass\n", - "import os\n", - "\n", - "# get a new token: https://dashboard.cohere.ai/\n", - "os.environ[\"COHERE_API_KEY\"] = getpass.getpass(\"Cohere API Key:\")\n", - "os.environ[\"OPENAI_API_KEY\"] = getpass.getpass(\"Open API Key:\")\n", - "os.environ[\"HUGGINGFACEHUB_API_TOKEN\"] = getpass.getpass(\"Hugging Face API Key:\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "32cb94e6", - "metadata": {}, - "outputs": [], - "source": [ - "llms = [\n", - " OpenAI(temperature=0),\n", - " Cohere(temperature=0),\n", - " HuggingFaceHub(repo_id=\"google/flan-t5-xl\", model_kwargs={\"temperature\": 1}),\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "14cde09d", - "metadata": {}, - "outputs": [], - "source": [ - "model_lab = ModelLaboratory.from_llms(llms)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "f186c741", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1mInput:\u001b[0m\n", - "What color is a flamingo?\n", - "\n", - "\u001b[1mOpenAI\u001b[0m\n", - "Params: {'model': 'text-davinci-002', 'temperature': 0.0, 'max_tokens': 256, 'top_p': 1, 'frequency_penalty': 0, 'presence_penalty': 0, 'n': 1, 'best_of': 1}\n", - "\u001b[36;1m\u001b[1;3m\n", - "\n", - "Flamingos are pink.\u001b[0m\n", - "\n", - "\u001b[1mCohere\u001b[0m\n", - "Params: {'model': 'command-xlarge-20221108', 'max_tokens': 20, 'temperature': 0.0, 'k': 0, 'p': 1, 'frequency_penalty': 0, 'presence_penalty': 0}\n", - "\u001b[33;1m\u001b[1;3m\n", - "\n", - "Pink\u001b[0m\n", - "\n", - "\u001b[1mHuggingFaceHub\u001b[0m\n", - "Params: {'repo_id': 'google/flan-t5-xl', 'temperature': 1}\n", - "\u001b[38;5;200m\u001b[1;3mpink\u001b[0m\n", - "\n" - ] - } - ], - "source": [ - "model_lab.compare(\"What color is a flamingo?\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "248b652a", - "metadata": {}, - "outputs": [], - "source": [ - "prompt = PromptTemplate(\n", - " template=\"What is the capital of {state}?\", input_variables=[\"state\"]\n", - ")\n", - "model_lab_with_prompt = ModelLaboratory.from_llms(llms, prompt=prompt)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f64377ac", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1mInput:\u001b[0m\n", - "New York\n", - "\n", - "\u001b[1mOpenAI\u001b[0m\n", - "Params: {'model': 'text-davinci-002', 'temperature': 0.0, 'max_tokens': 256, 'top_p': 1, 'frequency_penalty': 0, 'presence_penalty': 0, 'n': 1, 'best_of': 1}\n", - "\u001b[36;1m\u001b[1;3m\n", - "\n", - "The capital of New York is Albany.\u001b[0m\n", - "\n", - "\u001b[1mCohere\u001b[0m\n", - "Params: {'model': 'command-xlarge-20221108', 'max_tokens': 20, 'temperature': 0.0, 'k': 0, 'p': 1, 'frequency_penalty': 0, 'presence_penalty': 0}\n", - "\u001b[33;1m\u001b[1;3m\n", - "\n", - "The capital of New York is Albany.\u001b[0m\n", - "\n", - "\u001b[1mHuggingFaceHub\u001b[0m\n", - "Params: {'repo_id': 'google/flan-t5-xl', 'temperature': 1}\n", - "\u001b[38;5;200m\u001b[1;3mst john s\u001b[0m\n", - "\n" - ] - } - ], - "source": [ - "model_lab_with_prompt.compare(\"New York\")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "54336dbf", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.agents.self_ask_with_search.base import SelfAskWithSearchChain\n", - "from langchain_community.utilities import SerpAPIWrapper\n", - "\n", - "open_ai_llm = OpenAI(temperature=0)\n", - "search = SerpAPIWrapper()\n", - "self_ask_with_search_openai = SelfAskWithSearchChain(\n", - " llm=open_ai_llm, search_chain=search, verbose=True\n", - ")\n", - "\n", - "cohere_llm = Cohere(temperature=0)\n", - "search = SerpAPIWrapper()\n", - "self_ask_with_search_cohere = SelfAskWithSearchChain(\n", - " llm=cohere_llm, search_chain=search, verbose=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "6a50a9f1", - "metadata": {}, - "outputs": [], - "source": [ - "chains = [self_ask_with_search_openai, self_ask_with_search_cohere]\n", - "names = [str(open_ai_llm), str(cohere_llm)]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "d3549e99", - "metadata": {}, - "outputs": [], - "source": [ - "model_lab = ModelLaboratory(chains, names=names)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "362f7f57", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1mInput:\u001b[0m\n", - "What is the hometown of the reigning men's U.S. Open champion?\n", - "\n", - "\u001b[1mOpenAI\u001b[0m\n", - "Params: {'model': 'text-davinci-002', 'temperature': 0.0, 'max_tokens': 256, 'top_p': 1, 'frequency_penalty': 0, 'presence_penalty': 0, 'n': 1, 'best_of': 1}\n", - "\n", - "\n", - "\u001b[1m> Entering new chain...\u001b[0m\n", - "What is the hometown of the reigning men's U.S. Open champion?\n", - "Are follow up questions needed here:\u001b[32;1m\u001b[1;3m Yes.\n", - "Follow up: Who is the reigning men's U.S. Open champion?\u001b[0m\n", - "Intermediate answer: \u001b[33;1m\u001b[1;3mCarlos Alcaraz.\u001b[0m\u001b[32;1m\u001b[1;3m\n", - "Follow up: Where is Carlos Alcaraz from?\u001b[0m\n", - "Intermediate answer: \u001b[33;1m\u001b[1;3mEl Palmar, Spain.\u001b[0m\u001b[32;1m\u001b[1;3m\n", - "So the final answer is: El Palmar, Spain\u001b[0m\n", - "\u001b[1m> Finished chain.\u001b[0m\n", - "\u001b[36;1m\u001b[1;3m\n", - "So the final answer is: El Palmar, Spain\u001b[0m\n", - "\n", - "\u001b[1mCohere\u001b[0m\n", - "Params: {'model': 'command-xlarge-20221108', 'max_tokens': 256, 'temperature': 0.0, 'k': 0, 'p': 1, 'frequency_penalty': 0, 'presence_penalty': 0}\n", - "\n", - "\n", - "\u001b[1m> Entering new chain...\u001b[0m\n", - "What is the hometown of the reigning men's U.S. Open champion?\n", - "Are follow up questions needed here:\u001b[32;1m\u001b[1;3m Yes.\n", - "Follow up: Who is the reigning men's U.S. Open champion?\u001b[0m\n", - "Intermediate answer: \u001b[33;1m\u001b[1;3mCarlos Alcaraz.\u001b[0m\u001b[32;1m\u001b[1;3m\n", - "So the final answer is:\n", - "\n", - "Carlos Alcaraz\u001b[0m\n", - "\u001b[1m> Finished chain.\u001b[0m\n", - "\u001b[33;1m\u001b[1;3m\n", - "So the final answer is:\n", - "\n", - "Carlos Alcaraz\u001b[0m\n", - "\n" - ] - } - ], - "source": [ - "model_lab.compare(\"What is the hometown of the reigning men's U.S. Open champion?\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/guides/privacy/_category_.yml b/docs/docs/guides/privacy/_category_.yml deleted file mode 100644 index 3459827572e..00000000000 --- a/docs/docs/guides/privacy/_category_.yml +++ /dev/null @@ -1 +0,0 @@ -label: 'Privacy' diff --git a/docs/docs/guides/deployments/index.mdx b/docs/docs/guides/productionization/deployments/index.mdx similarity index 100% rename from docs/docs/guides/deployments/index.mdx rename to docs/docs/guides/productionization/deployments/index.mdx diff --git a/docs/docs/guides/deployments/template_repos.mdx b/docs/docs/guides/productionization/deployments/template_repos.mdx similarity index 100% rename from docs/docs/guides/deployments/template_repos.mdx rename to docs/docs/guides/productionization/deployments/template_repos.mdx diff --git a/docs/docs/guides/evaluation/comparison/custom.ipynb b/docs/docs/guides/productionization/evaluation/comparison/custom.ipynb similarity index 100% rename from docs/docs/guides/evaluation/comparison/custom.ipynb rename to docs/docs/guides/productionization/evaluation/comparison/custom.ipynb diff --git a/docs/docs/guides/evaluation/comparison/index.mdx b/docs/docs/guides/productionization/evaluation/comparison/index.mdx similarity index 100% rename from docs/docs/guides/evaluation/comparison/index.mdx rename to docs/docs/guides/productionization/evaluation/comparison/index.mdx diff --git a/docs/docs/guides/evaluation/comparison/pairwise_embedding_distance.ipynb b/docs/docs/guides/productionization/evaluation/comparison/pairwise_embedding_distance.ipynb similarity index 100% rename from docs/docs/guides/evaluation/comparison/pairwise_embedding_distance.ipynb rename to docs/docs/guides/productionization/evaluation/comparison/pairwise_embedding_distance.ipynb diff --git a/docs/docs/guides/evaluation/comparison/pairwise_string.ipynb b/docs/docs/guides/productionization/evaluation/comparison/pairwise_string.ipynb similarity index 100% rename from docs/docs/guides/evaluation/comparison/pairwise_string.ipynb rename to docs/docs/guides/productionization/evaluation/comparison/pairwise_string.ipynb diff --git a/docs/docs/guides/evaluation/examples/comparisons.ipynb b/docs/docs/guides/productionization/evaluation/examples/comparisons.ipynb similarity index 100% rename from docs/docs/guides/evaluation/examples/comparisons.ipynb rename to docs/docs/guides/productionization/evaluation/examples/comparisons.ipynb diff --git a/docs/docs/guides/evaluation/examples/index.mdx b/docs/docs/guides/productionization/evaluation/examples/index.mdx similarity index 100% rename from docs/docs/guides/evaluation/examples/index.mdx rename to docs/docs/guides/productionization/evaluation/examples/index.mdx diff --git a/docs/docs/guides/evaluation/index.mdx b/docs/docs/guides/productionization/evaluation/index.mdx similarity index 73% rename from docs/docs/guides/evaluation/index.mdx rename to docs/docs/guides/productionization/evaluation/index.mdx index 4603a40e537..6731344743f 100644 --- a/docs/docs/guides/evaluation/index.mdx +++ b/docs/docs/guides/productionization/evaluation/index.mdx @@ -7,18 +7,19 @@ Building applications with language models involves many moving parts. One of th The guides in this section review the APIs and functionality LangChain provides to help you better evaluate your applications. Evaluation and testing are both critical when thinking about deploying LLM applications, since production environments require repeatable and useful outcomes. LangChain offers various types of evaluators to help you measure performance and integrity on diverse data, and we hope to encourage the community to create and share other useful evaluators so everyone can improve. These docs will introduce the evaluator types, how to use them, and provide some examples of their use in real-world scenarios. +These built-in evaluators all integrate smoothly with [LangSmith](/docs/langsmith), and allow you to create feedback loops that improve your application over time and prevent regressions. Each evaluator type in LangChain comes with ready-to-use implementations and an extensible API that allows for customization according to your unique requirements. Here are some of the types of evaluators we offer: -- [String Evaluators](/docs/guides/evaluation/string/): These evaluators assess the predicted string for a given input, usually comparing it against a reference string. -- [Trajectory Evaluators](/docs/guides/evaluation/trajectory/): These are used to evaluate the entire trajectory of agent actions. -- [Comparison Evaluators](/docs/guides/evaluation/comparison/): These evaluators are designed to compare predictions from two runs on a common input. +- [String Evaluators](/docs/guides/productionization/evaluation/string/): These evaluators assess the predicted string for a given input, usually comparing it against a reference string. +- [Trajectory Evaluators](/docs/guides/productionization/evaluation/trajectory/): These are used to evaluate the entire trajectory of agent actions. +- [Comparison Evaluators](/docs/guides/productionization/evaluation/comparison/): These evaluators are designed to compare predictions from two runs on a common input. These evaluators can be used across various scenarios and can be applied to different chain and LLM implementations in the LangChain library. We also are working to share guides and cookbooks that demonstrate how to use these evaluators in real-world scenarios, such as: -- [Chain Comparisons](/docs/guides/evaluation/examples/comparisons): This example uses a comparison evaluator to predict the preferred output. It reviews ways to measure confidence intervals to select statistically significant differences in aggregate preference scores across different models or prompts. +- [Chain Comparisons](/docs/guides/productionization/evaluation/examples/comparisons): This example uses a comparison evaluator to predict the preferred output. It reviews ways to measure confidence intervals to select statistically significant differences in aggregate preference scores across different models or prompts. ## LangSmith Evaluation diff --git a/docs/docs/guides/evaluation/string/criteria_eval_chain.ipynb b/docs/docs/guides/productionization/evaluation/string/criteria_eval_chain.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/criteria_eval_chain.ipynb rename to docs/docs/guides/productionization/evaluation/string/criteria_eval_chain.ipynb diff --git a/docs/docs/guides/evaluation/string/custom.ipynb b/docs/docs/guides/productionization/evaluation/string/custom.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/custom.ipynb rename to docs/docs/guides/productionization/evaluation/string/custom.ipynb diff --git a/docs/docs/guides/evaluation/string/embedding_distance.ipynb b/docs/docs/guides/productionization/evaluation/string/embedding_distance.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/embedding_distance.ipynb rename to docs/docs/guides/productionization/evaluation/string/embedding_distance.ipynb diff --git a/docs/docs/guides/evaluation/string/exact_match.ipynb b/docs/docs/guides/productionization/evaluation/string/exact_match.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/exact_match.ipynb rename to docs/docs/guides/productionization/evaluation/string/exact_match.ipynb diff --git a/docs/docs/guides/evaluation/string/index.mdx b/docs/docs/guides/productionization/evaluation/string/index.mdx similarity index 100% rename from docs/docs/guides/evaluation/string/index.mdx rename to docs/docs/guides/productionization/evaluation/string/index.mdx diff --git a/docs/docs/guides/evaluation/string/json.ipynb b/docs/docs/guides/productionization/evaluation/string/json.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/json.ipynb rename to docs/docs/guides/productionization/evaluation/string/json.ipynb diff --git a/docs/docs/guides/evaluation/string/regex_match.ipynb b/docs/docs/guides/productionization/evaluation/string/regex_match.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/regex_match.ipynb rename to docs/docs/guides/productionization/evaluation/string/regex_match.ipynb diff --git a/docs/docs/guides/evaluation/string/scoring_eval_chain.ipynb b/docs/docs/guides/productionization/evaluation/string/scoring_eval_chain.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/scoring_eval_chain.ipynb rename to docs/docs/guides/productionization/evaluation/string/scoring_eval_chain.ipynb diff --git a/docs/docs/guides/evaluation/string/string_distance.ipynb b/docs/docs/guides/productionization/evaluation/string/string_distance.ipynb similarity index 100% rename from docs/docs/guides/evaluation/string/string_distance.ipynb rename to docs/docs/guides/productionization/evaluation/string/string_distance.ipynb diff --git a/docs/docs/guides/evaluation/trajectory/custom.ipynb b/docs/docs/guides/productionization/evaluation/trajectory/custom.ipynb similarity index 100% rename from docs/docs/guides/evaluation/trajectory/custom.ipynb rename to docs/docs/guides/productionization/evaluation/trajectory/custom.ipynb diff --git a/docs/docs/guides/evaluation/trajectory/index.mdx b/docs/docs/guides/productionization/evaluation/trajectory/index.mdx similarity index 100% rename from docs/docs/guides/evaluation/trajectory/index.mdx rename to docs/docs/guides/productionization/evaluation/trajectory/index.mdx diff --git a/docs/docs/guides/evaluation/trajectory/trajectory_eval.ipynb b/docs/docs/guides/productionization/evaluation/trajectory/trajectory_eval.ipynb similarity index 100% rename from docs/docs/guides/evaluation/trajectory/trajectory_eval.ipynb rename to docs/docs/guides/productionization/evaluation/trajectory/trajectory_eval.ipynb diff --git a/docs/docs/guides/fallbacks.ipynb b/docs/docs/guides/productionization/fallbacks.ipynb similarity index 100% rename from docs/docs/guides/fallbacks.ipynb rename to docs/docs/guides/productionization/fallbacks.ipynb diff --git a/docs/docs/guides/productionization/index.mdx b/docs/docs/guides/productionization/index.mdx new file mode 100644 index 00000000000..ff2fa00c1e5 --- /dev/null +++ b/docs/docs/guides/productionization/index.mdx @@ -0,0 +1,15 @@ +--- +sidebar_position: 1 +sidebar_class_name: hidden +--- + +# Productionization + +After you've developed a prototype of your language model application, the next step is to prepare it for production. +This section contains guides around best practices for getting and keeping your application production-ready, +ensuring it's ready for real-world use. + +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from '@docusaurus/theme-common'; + + item.href !== "/docs/guides/productionization/")} /> diff --git a/docs/docs/guides/productionization/safety/_category_.yml b/docs/docs/guides/productionization/safety/_category_.yml new file mode 100644 index 00000000000..38afda52528 --- /dev/null +++ b/docs/docs/guides/productionization/safety/_category_.yml @@ -0,0 +1 @@ +label: 'Privacy & Safety' diff --git a/docs/docs/guides/safety/amazon_comprehend_chain.ipynb b/docs/docs/guides/productionization/safety/amazon_comprehend_chain.ipynb similarity index 100% rename from docs/docs/guides/safety/amazon_comprehend_chain.ipynb rename to docs/docs/guides/productionization/safety/amazon_comprehend_chain.ipynb diff --git a/docs/docs/guides/safety/constitutional_chain.mdx b/docs/docs/guides/productionization/safety/constitutional_chain.mdx similarity index 100% rename from docs/docs/guides/safety/constitutional_chain.mdx rename to docs/docs/guides/productionization/safety/constitutional_chain.mdx diff --git a/docs/docs/guides/safety/hugging_face_prompt_injection.ipynb b/docs/docs/guides/productionization/safety/hugging_face_prompt_injection.ipynb similarity index 100% rename from docs/docs/guides/safety/hugging_face_prompt_injection.ipynb rename to docs/docs/guides/productionization/safety/hugging_face_prompt_injection.ipynb diff --git a/docs/docs/guides/productionization/safety/index.mdx b/docs/docs/guides/productionization/safety/index.mdx new file mode 100644 index 00000000000..dbdfec93d6c --- /dev/null +++ b/docs/docs/guides/productionization/safety/index.mdx @@ -0,0 +1,11 @@ +# Privacy & Safety + +One of the key concerns with using LLMs is that they may misuse private data or generate harmful or unethical text. This is an area of active research in the field. Here we present some built-in chains inspired by this research, which are intended to make the outputs of LLMs safer. + +- [Amazon Comprehend moderation chain](/docs/guides/productionization/safety/amazon_comprehend_chain): Use [Amazon Comprehend](https://aws.amazon.com/comprehend/) to detect and handle Personally Identifiable Information (PII) and toxicity. +- [Constitutional chain](/docs/guides/productionization/safety/constitutional_chain): Prompt the model with a set of principles which should guide the model behavior. +- [Hugging Face prompt injection identification](/docs/guides/productionization/safety/hugging_face_prompt_injection): Detect and handle prompt injection attacks. +- [Layerup Security](/docs/guides/productionization/safety/layerup_security): Easily mask PII & sensitive data, detect and mitigate 10+ LLM-based threat vectors, including PII & sensitive data, prompt injection, hallucination, abuse, and more. +- [Logical Fallacy chain](/docs/guides/productionization/safety/logical_fallacy_chain): Checks the model output against logical fallacies to correct any deviation. +- [Moderation chain](/docs/guides/productionization/safety/moderation): Check if any output text is harmful and flag it. +- [Presidio data anonymization](/docs/guides/productionization/safety/presidio_data_anonymization): Helps to ensure sensitive data is properly managed and governed. diff --git a/docs/docs/guides/safety/layerup_security.mdx b/docs/docs/guides/productionization/safety/layerup_security.mdx similarity index 100% rename from docs/docs/guides/safety/layerup_security.mdx rename to docs/docs/guides/productionization/safety/layerup_security.mdx diff --git a/docs/docs/guides/safety/logical_fallacy_chain.mdx b/docs/docs/guides/productionization/safety/logical_fallacy_chain.mdx similarity index 100% rename from docs/docs/guides/safety/logical_fallacy_chain.mdx rename to docs/docs/guides/productionization/safety/logical_fallacy_chain.mdx diff --git a/docs/docs/expression_language/cookbook/moderation.ipynb b/docs/docs/guides/productionization/safety/moderation.ipynb similarity index 73% rename from docs/docs/expression_language/cookbook/moderation.ipynb rename to docs/docs/guides/productionization/safety/moderation.ipynb index 3377b9c167e..515f5024f59 100644 --- a/docs/docs/expression_language/cookbook/moderation.ipynb +++ b/docs/docs/guides/productionization/safety/moderation.ipynb @@ -5,9 +5,19 @@ "id": "4927a727-b4c8-453c-8c83-bd87b4fcac14", "metadata": {}, "source": [ - "# Adding moderation\n", + "# Moderation chain\n", "\n", - "This shows how to add in moderation (or other safeguards) around your LLM application." + "This notebook walks through examples of how to use a moderation chain, and several common ways for doing so. \n", + "Moderation chains are useful for detecting text that could be hateful, violent, etc. This can be useful to apply on both user input, but also on the output of a Language Model. \n", + "Some API providers specifically prohibit you, or your end users, from generating some \n", + "types of harmful content. To comply with this (and to just generally prevent your application from being harmful) \n", + "you may want to add a moderation chain to your sequences in order to make sure any output \n", + "the LLM generates is not harmful.\n", + "\n", + "If the content passed into the moderation chain is harmful, there is not one best way to handle it.\n", + "It probably depends on your application. Sometimes you may want to throw an error \n", + "(and have your application handle that). Other times, you may want to return something to \n", + "the user explaining that the text was harmful." ] }, { diff --git a/docs/docs/guides/privacy/presidio_data_anonymization/index.ipynb b/docs/docs/guides/productionization/safety/presidio_data_anonymization/index.ipynb similarity index 100% rename from docs/docs/guides/privacy/presidio_data_anonymization/index.ipynb rename to docs/docs/guides/productionization/safety/presidio_data_anonymization/index.ipynb diff --git a/docs/docs/guides/privacy/presidio_data_anonymization/multi_language.ipynb b/docs/docs/guides/productionization/safety/presidio_data_anonymization/multi_language.ipynb similarity index 100% rename from docs/docs/guides/privacy/presidio_data_anonymization/multi_language.ipynb rename to docs/docs/guides/productionization/safety/presidio_data_anonymization/multi_language.ipynb diff --git a/docs/docs/guides/privacy/presidio_data_anonymization/qa_privacy_protection.ipynb b/docs/docs/guides/productionization/safety/presidio_data_anonymization/qa_privacy_protection.ipynb similarity index 99% rename from docs/docs/guides/privacy/presidio_data_anonymization/qa_privacy_protection.ipynb rename to docs/docs/guides/productionization/safety/presidio_data_anonymization/qa_privacy_protection.ipynb index 431e06d7785..0791996598b 100644 --- a/docs/docs/guides/privacy/presidio_data_anonymization/qa_privacy_protection.ipynb +++ b/docs/docs/guides/productionization/safety/presidio_data_anonymization/qa_privacy_protection.ipynb @@ -24,7 +24,7 @@ "\n", "\n", "\n", - "In the following notebook, we will not go into the details of how the anonymizer works. If you are interested, please visit [this part of the documentation](/docs/guides/privacy/presidio_data_anonymization/).\n", + "In the following notebook, we will not go into the details of how the anonymizer works. If you are interested, please visit [this part of the documentation](/docs/guides/productionization/safety/presidio_data_anonymization/).\n", "\n", "## Quickstart\n", "\n", diff --git a/docs/docs/guides/privacy/presidio_data_anonymization/reversible.ipynb b/docs/docs/guides/productionization/safety/presidio_data_anonymization/reversible.ipynb similarity index 100% rename from docs/docs/guides/privacy/presidio_data_anonymization/reversible.ipynb rename to docs/docs/guides/productionization/safety/presidio_data_anonymization/reversible.ipynb diff --git a/docs/docs/guides/safety/_category_.yml b/docs/docs/guides/safety/_category_.yml deleted file mode 100644 index 8631f769dcf..00000000000 --- a/docs/docs/guides/safety/_category_.yml +++ /dev/null @@ -1 +0,0 @@ -label: 'Safety' diff --git a/docs/docs/guides/safety/index.mdx b/docs/docs/guides/safety/index.mdx deleted file mode 100644 index 644c2cc4ca9..00000000000 --- a/docs/docs/guides/safety/index.mdx +++ /dev/null @@ -1,10 +0,0 @@ -# Safety - -One of the key concerns with using LLMs is that they may generate harmful or unethical text. This is an area of active research in the field. Here we present some built-in chains inspired by this research, which are intended to make the outputs of LLMs safer. - -- [Amazon Comprehend moderation chain](/docs/guides/safety/amazon_comprehend_chain): Use [Amazon Comprehend](https://aws.amazon.com/comprehend/) to detect and handle Personally Identifiable Information (PII) and toxicity. -- [Constitutional chain](/docs/guides/safety/constitutional_chain): Prompt the model with a set of principles which should guide the model behavior. -- [Hugging Face prompt injection identification](/docs/guides/safety/hugging_face_prompt_injection): Detect and handle prompt injection attacks. -- [Layerup Security](/docs/guides/safety/layerup_security): Easily mask PII & sensitive data, detect and mitigate 10+ LLM-based threat vectors, including PII & sensitive data, prompt injection, hallucination, abuse, and more. -- [Logical Fallacy chain](/docs/guides/safety/logical_fallacy_chain): Checks the model output against logical fallacies to correct any deviation. -- [Moderation chain](/docs/guides/safety/moderation): Check if any output text is harmful and flag it. diff --git a/docs/docs/guides/safety/moderation.mdx b/docs/docs/guides/safety/moderation.mdx deleted file mode 100644 index 4afda1556f5..00000000000 --- a/docs/docs/guides/safety/moderation.mdx +++ /dev/null @@ -1,267 +0,0 @@ -# Moderation chain - -This notebook walks through examples of how to use a moderation chain, and several common ways for doing so. -Moderation chains are useful for detecting text that could be hateful, violent, etc. This can be useful to apply on both user input, but also on the output of a Language Model. -Some API providers, like OpenAI, [specifically prohibit](https://beta.openai.com/docs/usage-policies/use-case-policy) you, or your end users, from generating some -types of harmful content. To comply with this (and to just generally prevent your application from being harmful) -you may often want to append a moderation chain to any LLMChains, in order to make sure any output -the LLM generates is not harmful. - -If the content passed into the moderation chain is harmful, there is not one best way to handle it, -it probably depends on your application. Sometimes you may want to throw an error in the Chain -(and have your application handle that). Other times, you may want to return something to -the user explaining that the text was harmful. There could be other ways to handle it. -We will cover all these ways in this walkthrough. - -We'll show: - -1. How to run any piece of text through a moderation chain. -2. How to append a Moderation chain to an LLMChain. - - - - -```python -from langchain_openai import OpenAI -from langchain.chains import OpenAIModerationChain, SequentialChain, LLMChain, SimpleSequentialChain -from langchain_core.prompts import PromptTemplate -``` - -## How to use the moderation chain - -Here's an example of using the moderation chain with default settings (will return a string -explaining stuff was flagged). - - -```python -moderation_chain = OpenAIModerationChain() - -moderation_chain.run("This is okay") -``` - - - -``` - 'This is okay' -``` - - - - -```python -moderation_chain.run("I will kill you") -``` - - - -``` - "Text was found that violates OpenAI's content policy." -``` - - - -Here's an example of using the moderation chain to throw an error. - - -```python -moderation_chain_error = OpenAIModerationChain(error=True) - -moderation_chain_error.run("This is okay") -``` - - - -``` - 'This is okay' -``` - - - - -```python -moderation_chain_error.run("I will kill you") -``` - - - -``` - --------------------------------------------------------------------------- - - ValueError Traceback (most recent call last) - - Cell In[7], line 1 - ----> 1 moderation_chain_error.run("I will kill you") - - - File ~/workplace/langchain/langchain/chains/base.py:138, in Chain.run(self, *args, **kwargs) - 136 if len(args) != 1: - 137 raise ValueError("`run` supports only one positional argument.") - --> 138 return self(args[0])[self.output_keys[0]] - 140 if kwargs and not args: - 141 return self(kwargs)[self.output_keys[0]] - - - File ~/workplace/langchain/langchain/chains/base.py:112, in Chain.__call__(self, inputs, return_only_outputs) - 108 if self.verbose: - 109 print( - 110 f"\n\n\033[1m> Entering new {self.__class__.__name__} chain...\033[0m" - 111 ) - --> 112 outputs = self._call(inputs) - 113 if self.verbose: - 114 print(f"\n\033[1m> Finished {self.__class__.__name__} chain.\033[0m") - - - File ~/workplace/langchain/langchain/chains/moderation.py:81, in OpenAIModerationChain._call(self, inputs) - 79 text = inputs[self.input_key] - 80 results = self.client.create(text) - ---> 81 output = self._moderate(text, results["results"][0]) - 82 return {self.output_key: output} - - - File ~/workplace/langchain/langchain/chains/moderation.py:73, in OpenAIModerationChain._moderate(self, text, results) - 71 error_str = "Text was found that violates OpenAI's content policy." - 72 if self.error: - ---> 73 raise ValueError(error_str) - 74 else: - 75 return error_str - - - ValueError: Text was found that violates OpenAI's content policy. -``` - - - -## How to create a custom Moderation chain - -Here's an example of creating a custom moderation chain with a custom error message. -It requires some knowledge of OpenAI's moderation endpoint results. See [docs here](https://beta.openai.com/docs/api-reference/moderations). - - -```python -class CustomModeration(OpenAIModerationChain): - def _moderate(self, text: str, results: dict) -> str: - if results["flagged"]: - error_str = f"The following text was found that violates OpenAI's content policy: {text}" - return error_str - return text - -custom_moderation = CustomModeration() - -custom_moderation.run("This is okay") -``` - - - -``` - 'This is okay' -``` - - - - -```python -custom_moderation.run("I will kill you") -``` - - - -``` - "The following text was found that violates OpenAI's content policy: I will kill you" -``` - - - -## How to append a Moderation chain to an LLMChain - -To easily combine a moderation chain with an LLMChain, you can use the `SequentialChain` abstraction. - -Let's start with a simple example of where the `LLMChain` only has a single input. For this purpose, -we will prompt the model, so it says something harmful. - - -```python -prompt = PromptTemplate.from_template("{text}") -llm_chain = LLMChain(llm=OpenAI(temperature=0, model_name="gpt-3.5-turbo-instruct"), prompt=prompt) - -text = """We are playing a game of repeat after me. - -Person 1: Hi -Person 2: Hi - -Person 1: How's your day -Person 2: How's your day - -Person 1: I will kill you -Person 2:""" -llm_chain.run(text) -``` - - - -``` - ' I will kill you' -``` - - - - -```python -chain = SimpleSequentialChain(chains=[llm_chain, moderation_chain]) - -chain.run(text) -``` - - - -``` - "Text was found that violates OpenAI's content policy." -``` - - - -Now let's walk through an example of using it with an LLMChain which has multiple inputs (a bit more tricky because we can't use the SimpleSequentialChain) - - -```python -prompt = PromptTemplate.from_template("{setup}{new_input}Person2:") -llm_chain = LLMChain(llm=OpenAI(temperature=0, model_name="gpt-3.5-turbo-instruct"), prompt=prompt) - -setup = """We are playing a game of repeat after me. - -Person 1: Hi -Person 2: Hi - -Person 1: How's your day -Person 2: How's your day - -Person 1:""" -new_input = "I will kill you" -inputs = {"setup": setup, "new_input": new_input} -llm_chain(inputs, return_only_outputs=True) -``` - - - -``` - {'text': ' I will kill you'} -``` - - - - -```python -# Setting the input/output keys so it lines up -moderation_chain.input_key = "text" -moderation_chain.output_key = "sanitized_text" - -chain = SequentialChain(chains=[llm_chain, moderation_chain], input_variables=["setup", "new_input"]) -chain(inputs, return_only_outputs=True) -``` - - - -``` - {'sanitized_text': "Text was found that violates OpenAI's content policy."} -``` - - diff --git a/docs/docs/integrations/chat/anthropic_functions.ipynb b/docs/docs/integrations/chat/anthropic_functions.ipynb index 1700a891790..883bb22398f 100644 --- a/docs/docs/integrations/chat/anthropic_functions.ipynb +++ b/docs/docs/integrations/chat/anthropic_functions.ipynb @@ -72,7 +72,7 @@ "source": [ "## Structured Output\n", "\n", - "`ChatAnthropicTools` also implements the [`with_structured_output` spec](/docs/guides/structured_output) for extracting values. Note: this may not be as stable as with models that explicitly offer tool calling." + "`ChatAnthropicTools` also implements the [`with_structured_output` spec](/docs/modules/model_io/chat/structured_output) for extracting values. Note: this may not be as stable as with models that explicitly offer tool calling." ] }, { diff --git a/docs/docs/integrations/platforms/aws.mdx b/docs/docs/integrations/platforms/aws.mdx index b6b7aa9ab6d..ffd8f08084d 100644 --- a/docs/docs/integrations/platforms/aws.mdx +++ b/docs/docs/integrations/platforms/aws.mdx @@ -283,7 +283,7 @@ We need to install the `boto3` and `nltk` libraries. pip install boto3 nltk ``` -See a [usage example](/docs/guides/safety/amazon_comprehend_chain). +See a [usage example](/docs/guides/productionization/safety/amazon_comprehend_chain). ```python from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain diff --git a/docs/docs/integrations/platforms/microsoft.mdx b/docs/docs/integrations/platforms/microsoft.mdx index a18bdcd8164..57a55b0bbd2 100644 --- a/docs/docs/integrations/platforms/microsoft.mdx +++ b/docs/docs/integrations/platforms/microsoft.mdx @@ -346,7 +346,7 @@ pip install langchain-experimental openai presidio-analyzer presidio-anonymizer python -m spacy download en_core_web_lg ``` -See [usage examples](/docs/guides/privacy/presidio_data_anonymization/). +See [usage examples](/docs/guides/productionization/safety/presidio_data_anonymization/). ```python from langchain_experimental.data_anonymizer import PresidioAnonymizer, PresidioReversibleAnonymizer diff --git a/docs/docs/integrations/platforms/openai.mdx b/docs/docs/integrations/platforms/openai.mdx index 0e8f25d266c..f0b33faabb2 100644 --- a/docs/docs/integrations/platforms/openai.mdx +++ b/docs/docs/integrations/platforms/openai.mdx @@ -111,7 +111,7 @@ For a more detailed walkthrough of this, see [this notebook](/docs/modules/data_ ## Chain -See a [usage example](/docs/guides/safety/moderation). +See a [usage example](/docs/guides/productionization/safety/moderation). ```python from langchain.chains import OpenAIModerationChain diff --git a/docs/docs/integrations/providers/golden.mdx b/docs/docs/integrations/providers/golden.mdx index 3be3e017ce5..793958de348 100644 --- a/docs/docs/integrations/providers/golden.mdx +++ b/docs/docs/integrations/providers/golden.mdx @@ -31,4 +31,4 @@ from langchain.agents import load_tools tools = load_tools(["golden-query"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/google_serper.mdx b/docs/docs/integrations/providers/google_serper.mdx index ef07f017fe3..c960e1df6ab 100644 --- a/docs/docs/integrations/providers/google_serper.mdx +++ b/docs/docs/integrations/providers/google_serper.mdx @@ -70,4 +70,4 @@ from langchain.agents import load_tools tools = load_tools(["google-serper"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/ollama.mdx b/docs/docs/integrations/providers/ollama.mdx index 86f981cf95b..c7d5464f294 100644 --- a/docs/docs/integrations/providers/ollama.mdx +++ b/docs/docs/integrations/providers/ollama.mdx @@ -7,7 +7,7 @@ >It optimizes setup and configuration details, including GPU usage. >For a complete list of supported models and model variants, see the [Ollama model library](https://ollama.ai/library). -See [this guide](/docs/guides/local_llms#quickstart) for more details +See [this guide](/docs/guides/development/local_llms#quickstart) for more details on how to use `Ollama` with LangChain. ## Installation and Setup diff --git a/docs/docs/integrations/providers/openweathermap.mdx b/docs/docs/integrations/providers/openweathermap.mdx index 35344e2a118..434d3358f37 100644 --- a/docs/docs/integrations/providers/openweathermap.mdx +++ b/docs/docs/integrations/providers/openweathermap.mdx @@ -41,4 +41,4 @@ from langchain.agents import load_tools tools = load_tools(["openweathermap-api"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/searchapi.mdx b/docs/docs/integrations/providers/searchapi.mdx index f5e55ca3905..9912d9ed3bc 100644 --- a/docs/docs/integrations/providers/searchapi.mdx +++ b/docs/docs/integrations/providers/searchapi.mdx @@ -77,4 +77,4 @@ from langchain.agents import load_tools tools = load_tools(["searchapi"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/searx.mdx b/docs/docs/integrations/providers/searx.mdx index 6bc01913d42..b8fec71e340 100644 --- a/docs/docs/integrations/providers/searx.mdx +++ b/docs/docs/integrations/providers/searx.mdx @@ -87,4 +87,4 @@ arxiv_tool = SearxSearchResults(name="Arxiv", wrapper=wrapper, }) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/serpapi.mdx b/docs/docs/integrations/providers/serpapi.mdx index 5bf5ec7fa68..e102b740a7c 100644 --- a/docs/docs/integrations/providers/serpapi.mdx +++ b/docs/docs/integrations/providers/serpapi.mdx @@ -28,4 +28,4 @@ from langchain.agents import load_tools tools = load_tools(["serpapi"]) ``` -For more information on this, see [this page](/docs/modules/agents/tools) +For more information on this, see [this page](/docs/modules/tools) diff --git a/docs/docs/integrations/providers/stackexchange.mdx b/docs/docs/integrations/providers/stackexchange.mdx index 666b4337e49..5d3407c024e 100644 --- a/docs/docs/integrations/providers/stackexchange.mdx +++ b/docs/docs/integrations/providers/stackexchange.mdx @@ -33,4 +33,4 @@ from langchain.agents import load_tools tools = load_tools(["stackexchange"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/integrations/providers/wolfram_alpha.mdx b/docs/docs/integrations/providers/wolfram_alpha.mdx index 24ae6d68f4a..f5b24fa0ac1 100644 --- a/docs/docs/integrations/providers/wolfram_alpha.mdx +++ b/docs/docs/integrations/providers/wolfram_alpha.mdx @@ -36,4 +36,4 @@ from langchain.agents import load_tools tools = load_tools(["wolfram-alpha"]) ``` -For more information on tools, see [this page](/docs/modules/agents/tools/). +For more information on tools, see [this page](/docs/modules/tools/). diff --git a/docs/docs/langsmith/index.md b/docs/docs/langsmith/index.md index fa0a6a451af..0dd63cf10aa 100644 --- a/docs/docs/langsmith/index.md +++ b/docs/docs/langsmith/index.md @@ -2,7 +2,7 @@ sidebar_class_name: hidden --- -# LangSmith +# πŸ¦œπŸ› οΈ LangSmith [LangSmith](https://smith.langchain.com) helps you trace and evaluate your language model applications and intelligent agents to help you move from prototype to production. diff --git a/docs/docs/modules/agents/agent_types/index.mdx b/docs/docs/modules/agents/agent_types/index.mdx index 67cac7f3243..ed61cf82092 100644 --- a/docs/docs/modules/agents/agent_types/index.mdx +++ b/docs/docs/modules/agents/agent_types/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 2 +title: Types --- # Agent Types diff --git a/docs/docs/modules/agents/agent_types/openai_assistants.ipynb b/docs/docs/modules/agents/agent_types/openai_assistants.ipynb index 01b1a5314ee..d169f0c0cbf 100644 --- a/docs/docs/modules/agents/agent_types/openai_assistants.ipynb +++ b/docs/docs/modules/agents/agent_types/openai_assistants.ipynb @@ -100,7 +100,7 @@ "source": [ "import getpass\n", "\n", - "from langchain.tools import DuckDuckGoSearchRun, E2BDataAnalysisTool\n", + "from langchain_community.tools import DuckDuckGoSearchRun, E2BDataAnalysisTool\n", "\n", "tools = [E2BDataAnalysisTool(api_key=getpass.getpass()), DuckDuckGoSearchRun()]" ] diff --git a/docs/docs/modules/agents/agent_types/openai_functions_agent.ipynb b/docs/docs/modules/agents/agent_types/openai_functions_agent.ipynb index c3a8b93ed22..59b48600447 100644 --- a/docs/docs/modules/agents/agent_types/openai_functions_agent.ipynb +++ b/docs/docs/modules/agents/agent_types/openai_functions_agent.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0\n", + "sidebar_position: 1\n", "---" ] }, diff --git a/docs/docs/modules/agents/agent_types/xml_agent.ipynb b/docs/docs/modules/agents/agent_types/xml_agent.ipynb index 8558d96757a..a8f29dd424e 100644 --- a/docs/docs/modules/agents/agent_types/xml_agent.ipynb +++ b/docs/docs/modules/agents/agent_types/xml_agent.ipynb @@ -36,7 +36,7 @@ "source": [ "from langchain import hub\n", "from langchain.agents import AgentExecutor, create_xml_agent\n", - "from langchain_community.chat_models import ChatAnthropic\n", + "from langchain_anthropic.chat_models import ChatAnthropic\n", "from langchain_community.tools.tavily_search import TavilySearchResults" ] }, @@ -65,7 +65,9 @@ "id": "6b300d66", "metadata": {}, "source": [ - "## Create Agent" + "## Create Agent\n", + "\n", + "Below we will use LangChain's built-in [create_xml_agent](https://api.python.langchain.com/en/latest/agents/langchain.agents.xml.base.create_xml_agent.html) constructor." ] }, { @@ -87,7 +89,7 @@ "outputs": [], "source": [ "# Choose the LLM that will drive the agent\n", - "llm = ChatAnthropic(model=\"claude-2\")\n", + "llm = ChatAnthropic(model=\"claude-2.1\")\n", "\n", "# Construct the XML agent\n", "agent = create_xml_agent(llm, tools, prompt)" @@ -199,10 +201,149 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "eb5dd54e-4081-4869-aad1-c4253f58486a", + "metadata": {}, + "source": [ + "# Custom XML Agents\n", + "\n", + "**Note:** For greater customizability, we recommend checking out [LangGraph](/docs/langgraph).\n", + "\n", + "Here we provide an example of a custom XML Agent implementation, to give a sense for what `create_xml_agent` is doing under the hood." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "d5965644-660b-4c2c-82c6-370e409fdad1", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.agents.output_parsers import XMLAgentOutputParser" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "59cbc911-42a3-4763-ac75-7d26f913d869", + "metadata": {}, + "outputs": [], + "source": [ + "# Logic for going from intermediate steps to a string to pass into model\n", + "# This is pretty tied to the prompt\n", + "def convert_intermediate_steps(intermediate_steps):\n", + " log = \"\"\n", + " for action, observation in intermediate_steps:\n", + " log += (\n", + " f\"{action.tool}{action.tool_input}\"\n", + " f\"{observation}\"\n", + " )\n", + " return log\n", + "\n", + "\n", + "# Logic for converting tools to string to go in prompt\n", + "def convert_tools(tools):\n", + " return \"\\n\".join([f\"{tool.name}: {tool.description}\" for tool in tools])" + ] + }, + { + "cell_type": "markdown", + "id": "a7702330-af4c-49e8-8af6-0bd98bd85ff4", + "metadata": {}, + "source": [ + "Building an agent from a runnable usually involves a few things:\n", + "\n", + "1. Data processing for the intermediate steps. These need to be represented in a way that the language model can recognize them. This should be pretty tightly coupled to the instructions in the prompt\n", + "\n", + "2. The prompt itself\n", + "\n", + "3. The model, complete with stop tokens if needed\n", + "\n", + "4. The output parser - should be in sync with how the prompt specifies things to be formatted." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7908fd6b-f153-48a3-9337-a4babfc2b8bb", + "metadata": {}, + "outputs": [], + "source": [ + "agent = (\n", + " {\n", + " \"input\": lambda x: x[\"input\"],\n", + " \"agent_scratchpad\": lambda x: convert_intermediate_steps(\n", + " x[\"intermediate_steps\"]\n", + " ),\n", + " }\n", + " | prompt.partial(tools=convert_tools(tools))\n", + " | llm.bind(stop=[\"\", \"\"])\n", + " | XMLAgentOutputParser()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c44f0d72-629c-44bc-bd46-1a4ba9180b26", + "metadata": {}, + "outputs": [], + "source": [ + "agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "343b8709-8b7a-49f4-99c2-1cd5e4d3cae0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n", + "\u001b[32;1m\u001b[1;3mtavily_search_results_json\n", + "what is LangChain\u001b[0m\u001b[36;1m\u001b[1;3m[{'url': 'https://www.techtarget.com/searchEnterpriseAI/definition/LangChain', 'content': \"Everything you need to know\\nWhat are the features of LangChain?\\nLangChain is made up of the following modules that ensure the multiple components needed to make an effective NLP app can run smoothly:\\nWhat are the integrations of LangChain?\\nLangChain typically builds applications using integrations with LLM providers and external sources where data can be found and stored. What is synthetic data?\\nExamples and use cases for LangChain\\nThe LLM-based applications LangChain is capable of building can be applied to multiple advanced use cases within various industries and vertical markets, such as the following:\\nReaping the benefits of NLP is a key of why LangChain is important. As the airline giant moves more of its data workloads to the cloud, tools from Intel's Granulate are making platforms such as ...\\nThe vendor's new platform, now in beta testing, combines its existing lakehouse with AI to better enable users to manage and ...\\n The following steps are required to use this:\\nIn this scenario, the language model would be expected to take the two input variables -- the adjective and the content -- and produce a fascinating fact about zebras as its output.\\n The goal of LangChain is to link powerful LLMs, such as OpenAI's GPT-3.5 and GPT-4, to an array of external data sources to create and reap the benefits of natural language processing (NLP) applications.\\n\"}]\u001b[0m\u001b[32;1m\u001b[1;3m\n", + "LangChain is a platform developed by Anthropic that enables users to build NLP applications by linking large language models like GPT-3.5 and GPT-4 to external data sources. It provides modules for managing and integrating different components needed for NLP apps.\n", + "\n", + "Some key capabilities and features of LangChain:\n", + "\n", + "- Allows linking LLMs to external data sources to create customized NLP apps\n", + "- Provides modules to manage integration of LLMs, data sources, storage etc. \n", + "- Enables building conversational AI apps, summarization, search, and other NLP capabilities\n", + "- Helps users reap benefits of NLP and LLMs for use cases across industries\n", + "\n", + "So in summary, it is a platform to build and deploy advanced NLP models by leveraging capabilities of large language models in a more customizable and scalable way.\n", + "\n", + "\u001b[0m\n", + "\n", + "\u001b[1m> Finished chain.\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "{'input': 'what is LangChain?',\n", + " 'output': '\\nLangChain is a platform developed by Anthropic that enables users to build NLP applications by linking large language models like GPT-3.5 and GPT-4 to external data sources. It provides modules for managing and integrating different components needed for NLP apps.\\n\\nSome key capabilities and features of LangChain:\\n\\n- Allows linking LLMs to external data sources to create customized NLP apps\\n- Provides modules to manage integration of LLMs, data sources, storage etc. \\n- Enables building conversational AI apps, summarization, search, and other NLP capabilities\\n- Helps users reap benefits of NLP and LLMs for use cases across industries\\n\\nSo in summary, it is a platform to build and deploy advanced NLP models by leveraging capabilities of large language models in a more customizable and scalable way.\\n\\n'}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agent_executor.invoke({\"input\": \"what is LangChain?\"})" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "53ad1a2c", + "id": "ae96c1b2-a3ce-48ec-a488-0c095e8e4971", "metadata": {}, "outputs": [], "source": [] @@ -224,7 +365,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.10.4" } }, "nbformat": 4, diff --git a/docs/docs/modules/agents/how_to/custom_agent.ipynb b/docs/docs/modules/agents/how_to/custom_agent.ipynb index feb6b96a561..e49200da22b 100644 --- a/docs/docs/modules/agents/how_to/custom_agent.ipynb +++ b/docs/docs/modules/agents/how_to/custom_agent.ipynb @@ -56,7 +56,7 @@ "Next, let's define some tools to use.\n", "Let's write a really simple Python function to calculate the length of a word that is passed in.\n", "\n", - "Note that here the function docstring that we use is pretty important. Read more about why this is the case [here](/docs/modules/agents/tools/custom_tools)" + "Note that here the function docstring that we use is pretty important. Read more about why this is the case [here](/docs/modules/tools/custom_tools)" ] }, { diff --git a/docs/docs/modules/agents/how_to/structured_tools.ipynb b/docs/docs/modules/agents/how_to/structured_tools.ipynb deleted file mode 100644 index ee9293e826a..00000000000 --- a/docs/docs/modules/agents/how_to/structured_tools.ipynb +++ /dev/null @@ -1,142 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "id": "473081cc", - "metadata": {}, - "source": [ - "---\n", - "sidebar_position: 1\n", - "---" - ] - }, - { - "cell_type": "markdown", - "id": "16ee4216", - "metadata": {}, - "source": [ - "# Structured Tools" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "670078c4", - "metadata": {}, - "outputs": [], - "source": [ - "from typing import List\n", - "\n", - "from langchain_core.tools import tool\n", - "\n", - "\n", - "@tool\n", - "def get_data(n: int) -> List[dict]:\n", - " \"\"\"Get n datapoints.\"\"\"\n", - " return [{\"name\": \"foo\", \"value\": \"bar\"}] * n\n", - "\n", - "\n", - "tools = [get_data]" - ] - }, - { - "cell_type": "markdown", - "id": "5e04164b", - "metadata": {}, - "source": [ - "We will use a prompt from the hub - you can inspect the prompt more at [https://smith.langchain.com/hub/hwchase17/openai-functions-agent](https://smith.langchain.com/hub/hwchase17/openai-functions-agent)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "d8c5d907", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain import hub\n", - "from langchain.agents import AgentExecutor, create_openai_functions_agent\n", - "from langchain_openai import ChatOpenAI\n", - "\n", - "# Get the prompt to use - you can modify this!\n", - "# If you want to see the prompt in full, you can at: https://smith.langchain.com/hub/hwchase17/openai-functions-agent\n", - "prompt = hub.pull(\"hwchase17/openai-functions-agent\")\n", - "\n", - "llm = ChatOpenAI(model=\"gpt-3.5-turbo\", temperature=0)\n", - "\n", - "agent = create_openai_functions_agent(llm, tools, prompt)\n", - "agent_executor = AgentExecutor(agent=agent, tools=tools)" - ] - }, - { - "cell_type": "markdown", - "id": "cba9a9eb", - "metadata": {}, - "source": [ - "## Stream intermediate steps\n", - "\n", - "Let's look at how to stream intermediate steps. We can do this easily by just using the `.stream` method on the AgentExecutor\n", - "\n", - "We can then parse the results to get actions (tool inputs) and observtions (tool outputs)." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "b6bd9bf2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calling Tool ```get_data``` with input ```{'n': 3}```\n", - "Got result: ```[{'name': 'foo', 'value': 'bar'}, {'name': 'foo', 'value': 'bar'}, {'name': 'foo', 'value': 'bar'}]```\n" - ] - } - ], - "source": [ - "for chunk in agent_executor.stream({\"input\": \"get me three datapoints\"}):\n", - " # Agent Action\n", - " if \"actions\" in chunk:\n", - " for action in chunk[\"actions\"]:\n", - " print(\n", - " f\"Calling Tool ```{action.tool}``` with input ```{action.tool_input}```\"\n", - " )\n", - " # Observation\n", - " elif \"steps\" in chunk:\n", - " for step in chunk[\"steps\"]:\n", - " print(f\"Got result: ```{step.observation}```\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "af9e32fe", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/modules/agents/index.ipynb b/docs/docs/modules/agents/index.ipynb index 7f009d17bdf..11f121772a6 100644 --- a/docs/docs/modules/agents/index.ipynb +++ b/docs/docs/modules/agents/index.ipynb @@ -35,9 +35,9 @@ "\n", "There are many different types of agents to use. For a overview of the different types and when to use them, please check out [this section](/docs/modules/agents/agent_types/).\n", "\n", - "## [Tools](/docs/modules/agents/tools/)\n", + "## [Tools](/docs/modules/tools/)\n", "\n", - "Agents are only as good as the tools they have. For a comprehensive guide on tools, please see [this section](/docs/modules/agents/tools/).\n", + "Agents are only as good as the tools they have. For a comprehensive guide on tools, please see [this section](/docs/modules/tools/).\n", "\n", "## How To Guides\n", "\n", diff --git a/docs/docs/modules/callbacks/token_counting.ipynb b/docs/docs/modules/callbacks/token_counting.ipynb index 8bc7a4f091b..fc748f099a9 100644 --- a/docs/docs/modules/callbacks/token_counting.ipynb +++ b/docs/docs/modules/callbacks/token_counting.ipynb @@ -11,26 +11,26 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "id": "195fd686", "metadata": {}, "outputs": [], "source": [ "import asyncio\n", "\n", - "from langchain.callbacks import get_openai_callback\n", + "from langchain_community.callbacks import get_openai_callback\n", "from langchain_openai import OpenAI\n", "\n", "llm = OpenAI(temperature=0)\n", "with get_openai_callback() as cb:\n", - " llm(\"What is the square root of 4?\")\n", + " llm.invoke(\"What is the square root of 4?\")\n", "\n", "total_tokens = cb.total_tokens\n", "assert total_tokens > 0\n", "\n", "with get_openai_callback() as cb:\n", - " llm(\"What is the square root of 4?\")\n", - " llm(\"What is the square root of 4?\")\n", + " llm.invoke(\"What is the square root of 4?\")\n", + " llm.invoke(\"What is the square root of 4?\")\n", "\n", "assert cb.total_tokens == total_tokens * 2\n", "\n", @@ -50,21 +50,13 @@ "await task\n", "assert cb.total_tokens == total_tokens" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5e94e0d3", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "venv", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "venv" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -76,7 +68,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.10.4" } }, "nbformat": 4, diff --git a/docs/docs/modules/composition.mdx b/docs/docs/modules/composition.mdx new file mode 100644 index 00000000000..05de6bbc464 --- /dev/null +++ b/docs/docs/modules/composition.mdx @@ -0,0 +1,26 @@ +--- +sidebar_class_name: hidden +--- + +# Composition + +This section contains higher-level components that combine other arbitrary systems (e.g. external APIs and services) and/or LangChain primitives together. + +A good primer for this section would be reading the sections on [LangChain Expression Language](/docs/expression_language/get_started) and becoming +familiar with constructing sequences via piping and the various primitives offered. + +The components covered in this section are: + +## [Tools](/docs/modules/tools/) + +Tools provide an interface for LLMs and other components to interact with other systems. Examples include Wikipedia, a calculator, and a Python REPL. + +## [Agents](/docs/modules/agents) + +Agents use a language model to decide actions to take, often defined by a tool. They require an `executor`, which is the runtime for the agent. +The executor is what actually calls the agent, executes the tools it chooses, passes the action outputs back to the agent, and repeats. +The agent is responsible for parsing output from the previous results and choosing the next steps. + +## [Chains](/docs/modules/chains) + +Building block-style compositions of other primitives and components. diff --git a/docs/docs/modules/data_connection/document_loaders/index.mdx b/docs/docs/modules/data_connection/document_loaders/index.mdx index 0c9d7489c89..bb12e97e6b2 100644 --- a/docs/docs/modules/data_connection/document_loaders/index.mdx +++ b/docs/docs/modules/data_connection/document_loaders/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 0 +sidebar_class_name: hidden --- # Document loaders diff --git a/docs/docs/modules/data_connection/document_transformers/index.mdx b/docs/docs/modules/data_connection/document_transformers/index.mdx index c6d891a9606..1efc1b021e5 100644 --- a/docs/docs/modules/data_connection/document_transformers/index.mdx +++ b/docs/docs/modules/data_connection/document_transformers/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 1 +sidebar_class_name: hidden --- # Text Splitters diff --git a/docs/docs/modules/data_connection/index.mdx b/docs/docs/modules/data_connection/index.mdx index 385b46a5f00..78806d1749d 100644 --- a/docs/docs/modules/data_connection/index.mdx +++ b/docs/docs/modules/data_connection/index.mdx @@ -16,21 +16,21 @@ This encompasses several key modules. ![Illustrative diagram showing the data connection process with steps: Source, Load, Transform, Embed, Store, and Retrieve.](/img/data_connection.jpg "Data Connection Process Diagram") -**[Document loaders](/docs/modules/data_connection/document_loaders/)** +## [Document loaders](/docs/modules/data_connection/document_loaders/) **Document loaders** load documents from many different sources. LangChain provides over 100 different document loaders as well as integrations with other major providers in the space, like AirByte and Unstructured. LangChain provides integrations to load all types of documents (HTML, PDF, code) from all types of locations (private S3 buckets, public websites). -**[Text Splitting](/docs/modules/data_connection/document_transformers/)** +## [Text Splitting](/docs/modules/data_connection/document_transformers/) A key part of retrieval is fetching only the relevant parts of documents. This involves several transformation steps to prepare the documents for retrieval. One of the primary ones here is splitting (or chunking) a large document into smaller chunks. LangChain provides several transformation algorithms for doing this, as well as logic optimized for specific document types (code, markdown, etc). -**[Text embedding models](/docs/modules/data_connection/text_embedding/)** +## [Text embedding models](/docs/modules/data_connection/text_embedding/) Another key part of retrieval is creating embeddings for documents. Embeddings capture the semantic meaning of the text, allowing you to quickly and @@ -40,14 +40,14 @@ from open-source to proprietary API, allowing you to choose the one best suited for your needs. LangChain provides a standard interface, allowing you to easily swap between models. -**[Vector stores](/docs/modules/data_connection/vectorstores/)** +## [Vector stores](/docs/modules/data_connection/vectorstores/) With the rise of embeddings, there has emerged a need for databases to support efficient storage and searching of these embeddings. LangChain provides integrations with over 50 different vectorstores, from open-source local ones to cloud-hosted proprietary ones, allowing you to choose the one best suited for your needs. LangChain exposes a standard interface, allowing you to easily swap between vector stores. -**[Retrievers](/docs/modules/data_connection/retrievers/)** +## [Retrievers](/docs/modules/data_connection/retrievers/) Once the data is in the database, you still need to retrieve it. LangChain supports many different retrieval algorithms and is one of the places where we add the most value. @@ -60,7 +60,7 @@ These include: - [Ensemble Retriever](/docs/modules/data_connection/retrievers/ensemble): Sometimes you may want to retrieve documents from multiple different sources, or using multiple different algorithms. The ensemble retriever allows you to easily do this. - And more! -**[Indexing](/docs/modules/data_connection/indexing)** +## [Indexing](/docs/modules/data_connection/indexing) The LangChain **Indexing API** syncs your data from any source into a vector store, helping you: @@ -69,4 +69,4 @@ helping you: - Avoid re-writing unchanged content - Avoid re-computing embeddings over unchanged content -All of which should save you time and money, as well as improve your vector search results. \ No newline at end of file +All of which should save you time and money, as well as improve your vector search results. diff --git a/docs/docs/modules/data_connection/retrievers/ensemble.ipynb b/docs/docs/modules/data_connection/retrievers/ensemble.ipynb index 961819b9561..12f81ffa572 100644 --- a/docs/docs/modules/data_connection/retrievers/ensemble.ipynb +++ b/docs/docs/modules/data_connection/retrievers/ensemble.ipynb @@ -28,7 +28,8 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain.retrievers import BM25Retriever, EnsembleRetriever\n", + "from langchain.retrievers import EnsembleRetriever\n", + "from langchain_community.retrievers import BM25Retriever\n", "from langchain_community.vectorstores import FAISS\n", "from langchain_openai import OpenAIEmbeddings" ] diff --git a/docs/docs/modules/data_connection/retrievers/index.mdx b/docs/docs/modules/data_connection/retrievers/index.mdx index 40e3efa229e..5ec7fbe0e42 100644 --- a/docs/docs/modules/data_connection/retrievers/index.mdx +++ b/docs/docs/modules/data_connection/retrievers/index.mdx @@ -1,6 +1,7 @@ --- sidebar_position: 4 title: Retrievers +sidebar_class_name: hidden --- # Retrievers diff --git a/docs/docs/modules/data_connection/retrievers/time_weighted_vectorstore.ipynb b/docs/docs/modules/data_connection/retrievers/time_weighted_vectorstore.ipynb index bc334cb6401..5006792f209 100644 --- a/docs/docs/modules/data_connection/retrievers/time_weighted_vectorstore.ipynb +++ b/docs/docs/modules/data_connection/retrievers/time_weighted_vectorstore.ipynb @@ -28,8 +28,8 @@ "from datetime import datetime, timedelta\n", "\n", "import faiss\n", - "from langchain.docstore import InMemoryDocstore\n", "from langchain.retrievers import TimeWeightedVectorStoreRetriever\n", + "from langchain_community.docstore import InMemoryDocstore\n", "from langchain_community.vectorstores import FAISS\n", "from langchain_core.documents import Document\n", "from langchain_openai import OpenAIEmbeddings" diff --git a/docs/docs/modules/data_connection/text_embedding/caching_embeddings.ipynb b/docs/docs/modules/data_connection/text_embedding/caching_embeddings.ipynb index 079fa3ce1dd..639bf0489a3 100644 --- a/docs/docs/modules/data_connection/text_embedding/caching_embeddings.ipynb +++ b/docs/docs/modules/data_connection/text_embedding/caching_embeddings.ipynb @@ -1,21 +1,11 @@ { "cells": [ - { - "cell_type": "raw", - "id": "8baf0f21", - "metadata": {}, - "source": [ - "--\n", - "sidebar_label: Caching\n", - "--" - ] - }, { "cell_type": "markdown", "id": "bf4061ce", "metadata": {}, "source": [ - "# CacheBackedEmbeddings\n", + "# Caching\n", "\n", "Embeddings can be stored or temporarily cached to avoid needing to recompute them.\n", "\n", diff --git a/docs/docs/modules/data_connection/text_embedding/index.mdx b/docs/docs/modules/data_connection/text_embedding/index.mdx index 7e473ff6743..dd0ff961779 100644 --- a/docs/docs/modules/data_connection/text_embedding/index.mdx +++ b/docs/docs/modules/data_connection/text_embedding/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 2 +sidebar_class_name: hidden --- # Text embedding models diff --git a/docs/docs/modules/data_connection/vectorstores/index.mdx b/docs/docs/modules/data_connection/vectorstores/index.mdx index 4f750338c73..532a26fd4e3 100644 --- a/docs/docs/modules/data_connection/vectorstores/index.mdx +++ b/docs/docs/modules/data_connection/vectorstores/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 3 +sidebar_class_name: hidden --- # Vector stores diff --git a/docs/docs/modules/index.mdx b/docs/docs/modules/index.mdx index 4b77c175d2c..c8992959c9c 100644 --- a/docs/docs/modules/index.mdx +++ b/docs/docs/modules/index.mdx @@ -2,21 +2,56 @@ sidebar_class_name: hidden --- -# Modules +# Components -LangChain provides standard, extendable interfaces and external integrations for the following main modules: +LangChain provides standard, extendable interfaces and external integrations for the following main components: -#### [Model I/O](/docs/modules/model_io/) -Interface with language models -#### [Retrieval](/docs/modules/data_connection/) -Interface with application-specific data -#### [Agents](/docs/modules/agents/) -Let chains choose which tools to use given high-level directives +## [Model I/O](/docs/modules/model_io/) +Formatting and managing language model input and output + +### [Prompts](/docs/modules/model_io/prompts) +Formatting for LLM inputs that guide generation + +### [Chat models](/docs/modules/model_io/chat) +Interfaces for language models that use chat messages as inputs and returns chat messages as outputs (as opposed to using plain text). + +### [LLMs](/docs/modules/model_io/llms) +Interfaces for language models that use plain text as input and output + +## [Retrieval](/docs/modules/data_connection/) +Interface with application-specific data for e.g. RAG + +### [Document loaders](/docs/modules/data_connection/document_loaders/) +Load data from a source as `Documents` for later processing + +### [Text splitters](/docs/modules/data_connection/document_transformers/) +Transform source documents to better suit your application + +### [Embedding models](/docs/modules/data_connection/text_embedding/) +Create vector representations of a piece of text, allowing for natural language search + +### [Vectorstores](/docs/modules/data_connection/vectorstores/) +Interfaces for specialized databases that can search over unstructured data with natural language + +### [Retrievers](/docs/modules/data_connection/retrievers/) +More generic interfaces that return documents given an unstructured query + +## [Composition](/docs/modules/composition/) +Higher-level components that combine other arbitrary systems and/or or LangChain primitives together + +### [Tools](/docs/modules/tools/) +Interfaces that allow an LLM to interact with external systems + +### [Agents](/docs/modules/agents/) +Constructs that choose which tools to use given high-level directives + +### [Chains](/docs/modules/chains/) +Building block-style compositions of other runnables ## Additional -#### [Chains](/docs/modules/chains/) -Common, building block compositions -#### [Memory](/docs/modules/memory/) + +### [Memory](/docs/modules/memory/) Persist application state between runs of a chain -#### [Callbacks](/docs/modules/callbacks/) + +### [Callbacks](/docs/modules/callbacks/) Log and stream intermediate steps of any chain diff --git a/docs/docs/modules/memory/types/index.mdx b/docs/docs/modules/memory/types/index.mdx index 16e9a34cdee..9e9ceeb1351 100644 --- a/docs/docs/modules/memory/types/index.mdx +++ b/docs/docs/modules/memory/types/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 2 +sidebar_class_name: hidden --- # Memory types diff --git a/docs/docs/modules/model_io/chat/function_calling.mdx b/docs/docs/modules/model_io/chat/function_calling.mdx index 2307c2b8b1c..d06c52bf118 100644 --- a/docs/docs/modules/model_io/chat/function_calling.mdx +++ b/docs/docs/modules/model_io/chat/function_calling.mdx @@ -1,5 +1,5 @@ --- -sidebar_position: 1 +sidebar_position: 2 title: Function calling --- @@ -30,7 +30,7 @@ We’ll focus here on the first two points. For a detailed guide on output parsing check out the [OpenAI Tools output parsers](../../../../docs/modules/model_io/output_parsers/types/openai_tools) and to see the structured output chains check out the [Structured output -guide](../../../../docs/guides/structured_output). +guide](/docs/modules/model_io/chat/structured_output). Before getting started make sure you have `langchain-core` installed. @@ -298,13 +298,13 @@ print(json.dumps(convert_to_openai_tool(Multiply()), indent=2)) ## Next steps - **Output parsing**: See [OpenAI Tools output - parsers](../../../../docs/modules/model_io/output_parsers/types/openai_tools) - and [OpenAI Functions output - parsers](../../../../docs/modules/model_io/output_parsers/types/openai_functions) - to learn about extracting the function calling API responses into - various formats. -- **Structured output chains**: [Some models have constructors](../../../../docs/guides/structured_output) that - handle creating a structured output chain for you. + parsers](../../../../docs/modules/model_io/output_parsers/types/openai_tools) + and [OpenAI Functions output + parsers](../../../../docs/modules/model_io/output_parsers/types/openai_functions) + to learn about extracting the function calling API responses into + various formats. +- **Structured output chains**: [Some models have constructors](/docs/modules/model_io/chat/structured_output) that + handle creating a structured output chain for you. - **Tool use**: See how to construct chains and agents that actually - call the invoked tools in [these - guides](../../../../docs/use_cases/tool_use/). + call the invoked tools in [these + guides](../../../../docs/use_cases/tool_use/). diff --git a/docs/docs/modules/model_io/chat/index.mdx b/docs/docs/modules/model_io/chat/index.mdx index 058192951d8..9fc2752b431 100644 --- a/docs/docs/modules/model_io/chat/index.mdx +++ b/docs/docs/modules/model_io/chat/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 3 +sidebar_class_name: hidden --- # Chat Models diff --git a/docs/docs/modules/model_io/chat/message_types.mdx b/docs/docs/modules/model_io/chat/message_types.mdx new file mode 100644 index 00000000000..f796f27871e --- /dev/null +++ b/docs/docs/modules/model_io/chat/message_types.mdx @@ -0,0 +1,33 @@ +--- +sidebar_position: 1 +title: Message types +--- + +# Message types + +ChatModels take a list of messages as input and return a message. There are a few different types of messages. All messages have a `role` and a `content` property. The `role` describes WHO is saying the message. LangChain has different message classes for different roles. The `content` property describes the content of the message. This can be a few different things: + +- A string (most models deal this type of content) +- A List of dictionaries (this is used for multi-modal input, where the dictionary contains information about that input type and that input location) + +In addition, messages have an `additional_kwargs` property. This is where additional information about messages can be passed. This is largely used for input parameters that are *provider specific* and not general. The best known example of this is `function_call` from OpenAI. + +### HumanMessage + +This represents a message from the user. Generally consists only of content. + +### AIMessage + +This represents a message from the model. This may have `additional_kwargs` in it - for example `tool_calls` if using OpenAI tool calling. + +### SystemMessage + +This represents a system message, which tells the model how to behave. This generally only consists of content. Not every model supports this. + +### FunctionMessage + +This represents the result of a function call. In addition to `role` and `content`, this message has a `name` parameter which conveys the name of the function that was called to produce this result. + +### ToolMessage + +This represents the result of a tool call. This is distinct from a FunctionMessage in order to match OpenAI's `function` and `tool` message types. In addition to `role` and `content`, this message has a `tool_call_id` parameter which conveys the id of the call to the tool that was called to produce this result. diff --git a/docs/docs/guides/structured_output.ipynb b/docs/docs/modules/model_io/chat/structured_output.ipynb similarity index 98% rename from docs/docs/guides/structured_output.ipynb rename to docs/docs/modules/model_io/chat/structured_output.ipynb index 54baeeccd7a..76ac1dd13b0 100644 --- a/docs/docs/guides/structured_output.ipynb +++ b/docs/docs/modules/model_io/chat/structured_output.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "27598444", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 3\n", + "---" + ] + }, { "cell_type": "markdown", "id": "6e3f0f72", diff --git a/docs/docs/modules/model_io/chat/token_usage_tracking.ipynb b/docs/docs/modules/model_io/chat/token_usage_tracking.ipynb index d334fb87056..8f30037cf5b 100644 --- a/docs/docs/modules/model_io/chat/token_usage_tracking.ipynb +++ b/docs/docs/modules/model_io/chat/token_usage_tracking.ipynb @@ -19,7 +19,7 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain.callbacks import get_openai_callback\n", + "from langchain_community.callbacks import get_openai_callback\n", "from langchain_openai import ChatOpenAI" ] }, diff --git a/docs/docs/modules/model_io/concepts.mdx b/docs/docs/modules/model_io/concepts.mdx index 4189b994293..0074ce24b49 100644 --- a/docs/docs/modules/model_io/concepts.mdx +++ b/docs/docs/modules/model_io/concepts.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 1 +sidebar_class_name: hidden --- # Concepts @@ -72,7 +73,7 @@ ChatModels and LLMs take different input types. PromptValue is a class designed ### MessagePromptTemplate -[This](/docs/modules/model_io/prompts/message_prompts) is an example of a prompt template. This consists of a template **message** - meaning a specific role and a PromptTemplate. This PromptTemplate is then formatted with user inputs to produce a final string that becomes the `content` of this message. +This type of template consists of a template **message** - meaning a specific role and a PromptTemplate. This PromptTemplate is then formatted with user inputs to produce a final string that becomes the `content` of this message. #### HumanMessagePromptTemplate diff --git a/docs/docs/modules/model_io/index.mdx b/docs/docs/modules/model_io/index.mdx index a5cf4e81fd4..6ffacb4aff7 100644 --- a/docs/docs/modules/model_io/index.mdx +++ b/docs/docs/modules/model_io/index.mdx @@ -11,27 +11,274 @@ The core element of any language model application is...the model. LangChain giv ![Flowchart illustrating the Model I/O process with steps Format, Predict, and Parse, showing the transformation from input variables to structured output.](/img/model_io.jpg "Model Input/Output Process Diagram") -## [Conceptual Guide](/docs/modules/model_io/concepts) +# Quickstart -A conceptual explanation of messages, prompts, LLMs vs ChatModels, and output parsers. You should read this before getting started. +The below quickstart will cover the basics of using LangChain's Model I/O components. It will introduce the two different types of models - LLMs and Chat Models. It will then cover how to use Prompt Templates to format the inputs to these models, and how to use Output Parsers to work with the outputs. -## [Quickstart](/docs/modules/model_io/quick_start) +Language models in LangChain come in two flavors: -Covers the basics of getting started working with different types of models. You should walk through [this section](/docs/modules/model_io/quick_start) if you want to get an overview of the functionality. +### [ChatModels](/docs/modules/model_io/chat/) -## [Prompts](/docs/modules/model_io/prompts/) +[Chat models](/docs/modules/model_io/chat/) are often backed by LLMs but tuned specifically for having conversations. +Crucially, their provider APIs use a different interface than pure text completion models. Instead of a single string, +they take a list of chat messages as input and they return an AI message as output. See the section below for more details on what exactly a message consists of. GPT-4 and Anthropic's Claude-2 are both implemented as chat models. -[This section](/docs/modules/model_io/prompts/) deep dives into the different types of prompt templates and how to use them. +### [LLMs](/docs/modules/model_io/llms/) -## [LLMs](/docs/modules/model_io/llms/) +[LLMs](/docs/modules/model_io/llms/) in LangChain refer to pure text completion models. +The APIs they wrap take a string prompt as input and output a string completion. OpenAI's GPT-3 is implemented as an LLM. -[This section](/docs/modules/model_io/llms/) covers functionality related to the LLM class. This is a type of model that takes a text string as input and returns a text string. +These two API types have different input and output schemas. -## [ChatModels](/docs/modules/model_io/chat/) +Additionally, not all models are the same. Different models have different prompting strategies that work best for them. For example, Anthropic's models work best with XML while OpenAI's work best with JSON. You should keep this in mind when designing your apps. -[This section](/docs/modules/model_io/chat/) covers functionality related to the ChatModel class. This is a type of model that takes a list of messages as input and returns a message. +For this getting started guide, we will use chat models and will provide a few options: using an API like Anthropic or OpenAI, or using a local open source model via Ollama. -## [Output Parsers](/docs/modules/model_io/output_parsers/) +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from "@theme/CodeBlock"; -Output parsers are responsible for transforming the output of LLMs and ChatModels into more structured data. [This section](/docs/modules/model_io/output_parsers/) covers the different types of output parsers. + + +First we'll need to install their partner package: + +```shell +pip install langchain-openai +``` + +Accessing the API requires an API key, which you can get by creating an account and heading [here](https://platform.openai.com/account/api-keys). Once we have a key we'll want to set it as an environment variable by running: + +```shell +export OPENAI_API_KEY="..." +``` + +We can then initialize the model: + +```python +from langchain_openai import ChatOpenAI +from langchain_openai import OpenAI + +llm = OpenAI() +chat_model = ChatOpenAI(model="gpt-3.5-turbo-0125") +``` + +If you'd prefer not to set an environment variable you can pass the key in directly via the `openai_api_key` named parameter when initiating the OpenAI LLM class: + +```python +from langchain_openai import ChatOpenAI +llm = ChatOpenAI(openai_api_key="...") +``` + + + + +[Ollama](https://ollama.ai/) allows you to run open-source large language models, such as Llama 2, locally. + +First, follow [these instructions](https://github.com/jmorganca/ollama) to set up and run a local Ollama instance: + +* [Download](https://ollama.ai/download) +* Fetch a model via `ollama pull llama2` + +Then, make sure the Ollama server is running. After that, you can do: +```python +from langchain_community.llms import Ollama +from langchain_community.chat_models import ChatOllama + +llm = Ollama(model="llama2") +chat_model = ChatOllama() +``` + + + + +First we'll need to import the LangChain x Anthropic package. + +```shell +pip install langchain-anthropic +``` + +Accessing the API requires an API key, which you can get by creating an account [here](https://claude.ai/login). Once we have a key we'll want to set it as an environment variable by running: + +```shell +export ANTHROPIC_API_KEY="..." +``` + +We can then initialize the model: + +```python +from langchain_anthropic import ChatAnthropic + +chat_model = ChatAnthropic(model="claude-3-sonnet-20240229", temperature=0.2, max_tokens=1024) +``` + +If you'd prefer not to set an environment variable you can pass the key in directly via the `anthropic_api_key` named parameter when initiating the Anthropic Chat Model class: + +```python +chat_model = ChatAnthropic(anthropic_api_key="...") +``` + + + + +First we'll need to install their partner package: + +```shell +pip install langchain-cohere +``` + +Accessing the API requires an API key, which you can get by creating an account and heading [here](https://dashboard.cohere.com/api-keys). Once we have a key we'll want to set it as an environment variable by running: + +```shell +export COHERE_API_KEY="..." +``` + +We can then initialize the model: + +```python +from langchain_cohere import ChatCohere + +chat_model = ChatCohere() +``` + +If you'd prefer not to set an environment variable you can pass the key in directly via the `cohere_api_key` named parameter when initiating the Cohere LLM class: + +```python +from langchain_cohere import ChatCohere + +chat_model = ChatCohere(cohere_api_key="...") +``` + + + + +Both `llm` and `chat_model` are objects that represent configuration for a particular model. +You can initialize them with parameters like `temperature` and others, and pass them around. +The main difference between them is their input and output schemas. +The LLM objects take string as input and output string. +The ChatModel objects take a list of messages as input and output a message. +For a deeper conceptual explanation of this difference please see [this documentation](./concepts) + +We can see the difference between an LLM and a ChatModel when we invoke it. + +```python +from langchain_core.messages import HumanMessage + +text = "What would be a good company name for a company that makes colorful socks?" +messages = [HumanMessage(content=text)] + +llm.invoke(text) +# >> Feetful of Fun + +chat_model.invoke(messages) +# >> AIMessage(content="Socks O'Color") +``` + +The LLM returns a string, while the ChatModel returns a message. + +## Prompt Templates + +Most LLM applications do not pass user input directly into an LLM. Usually they will add the user input to a larger piece of text, called a prompt template, that provides additional context on the specific task at hand. + +In the previous example, the text we passed to the model contained instructions to generate a company name. For our application, it would be great if the user only had to provide the description of a company/product without worrying about giving the model instructions. + +PromptTemplates help with exactly this! +They bundle up all the logic for going from user input into a fully formatted prompt. +This can start off very simple - for example, a prompt to produce the above string would just be: + +```python +from langchain.prompts import PromptTemplate + +prompt = PromptTemplate.from_template("What is a good name for a company that makes {product}?") +prompt.format(product="colorful socks") +``` + +```python +What is a good name for a company that makes colorful socks? +``` + +There are several advantages of using these over raw string formatting. +You can "partial" out variables - e.g. you can format only some of the variables at a time. +You can compose them together, easily combining different templates into a single prompt. +For explanations of these functionalities, see the [section on prompts](/docs/modules/model_io/prompts) for more detail. + +`PromptTemplate`s can also be used to produce a list of messages. +In this case, the prompt not only contains information about the content, but also each message (its role, its position in the list, etc.). +Here, what happens most often is a `ChatPromptTemplate` is a list of `ChatMessageTemplates`. +Each `ChatMessageTemplate` contains instructions for how to format that `ChatMessage` - its role, and then also its content. +Let's take a look at this below: + +```python +from langchain.prompts.chat import ChatPromptTemplate + +template = "You are a helpful assistant that translates {input_language} to {output_language}." +human_template = "{text}" + +chat_prompt = ChatPromptTemplate.from_messages([ + ("system", template), + ("human", human_template), +]) + +chat_prompt.format_messages(input_language="English", output_language="French", text="I love programming.") +``` + +```pycon +[ + SystemMessage(content="You are a helpful assistant that translates English to French.", additional_kwargs={}), + HumanMessage(content="I love programming.") +] +``` + + +ChatPromptTemplates can also be constructed in other ways - see the [section on prompts](/docs/modules/model_io/prompts) for more detail. + +## Output parsers + +`OutputParser`s convert the raw output of a language model into a format that can be used downstream. +There are a few main types of `OutputParser`s, including: + +- Convert text from `LLM` into structured information (e.g. JSON) +- Convert a `ChatMessage` into just a string +- Convert the extra information returned from a call besides the message (like OpenAI function invocation) into a string. + +For full information on this, see the [section on output parsers](/docs/modules/model_io/output_parsers). + +In this getting started guide, we use a simple one that parses a list of comma separated values. + +```python +from langchain.output_parsers import CommaSeparatedListOutputParser + +output_parser = CommaSeparatedListOutputParser() +output_parser.parse("hi, bye") +# >> ['hi', 'bye'] +``` + +## Composing with LCEL + +We can now combine all these into one chain. +This chain will take input variables, pass those to a prompt template to create a prompt, pass the prompt to a language model, and then pass the output through an (optional) output parser. +This is a convenient way to bundle up a modular piece of logic. +Let's see it in action! + +```python +template = "Generate a list of 5 {text}.\n\n{format_instructions}" + +chat_prompt = ChatPromptTemplate.from_template(template) +chat_prompt = chat_prompt.partial(format_instructions=output_parser.get_format_instructions()) +chain = chat_prompt | chat_model | output_parser +chain.invoke({"text": "colors"}) +# >> ['red', 'blue', 'green', 'yellow', 'orange'] +``` + +Note that we are using the `|` syntax to join these components together. +This `|` syntax is powered by the LangChain Expression Language (LCEL) and relies on the universal `Runnable` interface that all of these objects implement. +To learn more about LCEL, read the documentation [here](/docs/expression_language). + +## Conclusion + +That's it for getting started with prompts, models, and output parsers! This just covered the surface of what there is to learn. For more information, check out: + +- The [prompts section](./prompts) for information on how to work with prompt templates +- The [ChatModel section](./chat) for more information on the ChatModel interface +- The [LLM section](./llms) for more information on the LLM interface +- The [output parser section](./output_parsers) for information about the different types of output parsers. diff --git a/docs/docs/modules/model_io/llms/index.mdx b/docs/docs/modules/model_io/llms/index.mdx index ead4a3e1b9f..7965c48d0ee 100644 --- a/docs/docs/modules/model_io/llms/index.mdx +++ b/docs/docs/modules/model_io/llms/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 4 +sidebar_class_name: hidden --- # LLMs diff --git a/docs/docs/modules/model_io/llms/token_usage_tracking.ipynb b/docs/docs/modules/model_io/llms/token_usage_tracking.ipynb index 5bf73d3cea7..2ce62ddc281 100644 --- a/docs/docs/modules/model_io/llms/token_usage_tracking.ipynb +++ b/docs/docs/modules/model_io/llms/token_usage_tracking.ipynb @@ -19,7 +19,7 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain.callbacks import get_openai_callback\n", + "from langchain_community.callbacks import get_openai_callback\n", "from langchain_openai import OpenAI" ] }, diff --git a/docs/docs/modules/model_io/output_parsers/index.mdx b/docs/docs/modules/model_io/output_parsers/index.mdx index 936efd6e140..3841b51c8eb 100644 --- a/docs/docs/modules/model_io/output_parsers/index.mdx +++ b/docs/docs/modules/model_io/output_parsers/index.mdx @@ -1,6 +1,7 @@ --- sidebar_position: 5 hide_table_of_contents: true +sidebar_class_name: hidden --- # Output Parsers diff --git a/docs/docs/modules/model_io/output_parsers/types/_category_.yml b/docs/docs/modules/model_io/output_parsers/types/_category_.yml index 8638cc3b001..51eeb1c6a0f 100644 --- a/docs/docs/modules/model_io/output_parsers/types/_category_.yml +++ b/docs/docs/modules/model_io/output_parsers/types/_category_.yml @@ -1 +1 @@ -label: 'Types' \ No newline at end of file +label: 'Built-in parsers' diff --git a/docs/docs/modules/model_io/prompts/composition.ipynb b/docs/docs/modules/model_io/prompts/composition.ipynb index cdd01c29e84..fe81807cb3f 100644 --- a/docs/docs/modules/model_io/prompts/composition.ipynb +++ b/docs/docs/modules/model_io/prompts/composition.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "02a1c8fb", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 5\n", + "---" + ] + }, { "cell_type": "markdown", "id": "4de4e022", @@ -22,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "69b17f05", "metadata": {}, "outputs": [], @@ -53,7 +63,7 @@ { "data": { "text/plain": [ - "PromptTemplate(input_variables=['language', 'topic'], output_parser=None, partial_variables={}, template='Tell me a joke about {topic}, make it funny\\n\\nand in {language}', template_format='f-string', validate_template=True)" + "PromptTemplate(input_variables=['language', 'topic'], template='Tell me a joke about {topic}, make it funny\\n\\nand in {language}')" ] }, "execution_count": 3, @@ -303,13 +313,162 @@ "chain.run(\"i said hi\")" ] }, + { + "cell_type": "markdown", + "id": "0e1d47e3-b05a-4aef-a58c-3057fa628c1c", + "metadata": {}, + "source": [ + "## Using PipelinePrompt" + ] + }, + { + "cell_type": "markdown", + "id": "0a5892f9-e4d8-4b7c-b6a5-4651539b9734", + "metadata": {}, + "source": [ + "LangChain includes an abstraction [PipelinePromptTemplate](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.pipeline.PipelinePromptTemplate.html), which can be useful when you want to reuse parts of prompts. A PipelinePrompt consists of two main parts:\n", + "\n", + "- Final prompt: The final prompt that is returned\n", + "- Pipeline prompts: A list of tuples, consisting of a string name and a prompt template. Each prompt template will be formatted and then passed to future prompt templates as a variable with the same name." + ] + }, { "cell_type": "code", - "execution_count": null, - "id": "58196f6b", + "execution_count": 1, + "id": "f5bae2d5-268b-4d75-a935-826f48b607a0", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "from langchain.prompts.pipeline import PipelinePromptTemplate\n", + "from langchain.prompts.prompt import PromptTemplate" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4face631-74d7-49ca-93b1-1e6e66fa58e2", + "metadata": {}, + "outputs": [], + "source": [ + "full_template = \"\"\"{introduction}\n", + "\n", + "{example}\n", + "\n", + "{start}\"\"\"\n", + "full_prompt = PromptTemplate.from_template(full_template)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f4b88551-f0a6-4ed2-8893-ed4c4d146d1f", + "metadata": {}, + "outputs": [], + "source": [ + "introduction_template = \"\"\"You are impersonating {person}.\"\"\"\n", + "introduction_prompt = PromptTemplate.from_template(introduction_template)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f41d3712-dc5e-4554-a59c-d5e048a88ef2", + "metadata": {}, + "outputs": [], + "source": [ + "example_template = \"\"\"Here's an example of an interaction:\n", + "\n", + "Q: {example_q}\n", + "A: {example_a}\"\"\"\n", + "example_prompt = PromptTemplate.from_template(example_template)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bd9a4dbf-a735-4758-a255-aee58ce8a6be", + "metadata": {}, + "outputs": [], + "source": [ + "start_template = \"\"\"Now, do this for real!\n", + "\n", + "Q: {input}\n", + "A:\"\"\"\n", + "start_prompt = PromptTemplate.from_template(start_template)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b2ce3fa9-2df5-4186-a83b-a674c8925bba", + "metadata": {}, + "outputs": [], + "source": [ + "input_prompts = [\n", + " (\"introduction\", introduction_prompt),\n", + " (\"example\", example_prompt),\n", + " (\"start\", start_prompt),\n", + "]\n", + "pipeline_prompt = PipelinePromptTemplate(\n", + " final_prompt=full_prompt, pipeline_prompts=input_prompts\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "6fd182b1-9048-4544-808f-55780c43682c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['example_q', 'person', 'input', 'example_a']" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline_prompt.input_variables" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c6cabb16-ea30-4de0-8548-dcce84df8421", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are impersonating Elon Musk.\n", + "\n", + "Here's an example of an interaction:\n", + "\n", + "Q: What's your favorite car?\n", + "A: Tesla\n", + "\n", + "Now, do this for real!\n", + "\n", + "Q: What's your favorite social media site?\n", + "A:\n" + ] + } + ], + "source": [ + "print(\n", + " pipeline_prompt.format(\n", + " person=\"Elon Musk\",\n", + " example_q=\"What's your favorite car?\",\n", + " example_a=\"Tesla\",\n", + " input=\"What's your favorite social media site?\",\n", + " )\n", + ")" + ] } ], "metadata": { @@ -328,7 +487,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.1" + "version": "3.10.4" } }, "nbformat": 4, diff --git a/docs/docs/modules/model_io/prompts/example_selector_types/index.mdx b/docs/docs/modules/model_io/prompts/example_selector_types/index.mdx deleted file mode 100644 index c33662988b9..00000000000 --- a/docs/docs/modules/model_io/prompts/example_selector_types/index.mdx +++ /dev/null @@ -1,8 +0,0 @@ -# Example Selector Types - -| Name | Description | -|------------|---------------------------------------------------------------------------------------------| -| Similarity | Uses semantic similarity between inputs and examples to decide which examples to choose. | -| MMR | Uses Max Marginal Relevance between inputs and examples to decide which examples to choose. | -| Length | Selects examples based on how many can fit within a certain length | -| Ngram | Uses ngram overlap between inputs and examples to decide which examples to choose. | \ No newline at end of file diff --git a/docs/docs/modules/model_io/prompts/example_selectors.ipynb b/docs/docs/modules/model_io/prompts/example_selectors/index.ipynb similarity index 86% rename from docs/docs/modules/model_io/prompts/example_selectors.ipynb rename to docs/docs/modules/model_io/prompts/example_selectors/index.ipynb index b86e2cfb793..bed87e2f1ca 100644 --- a/docs/docs/modules/model_io/prompts/example_selectors.ipynb +++ b/docs/docs/modules/model_io/prompts/example_selectors/index.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "af408f61", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 1\n", + "---" + ] + }, { "cell_type": "markdown", "id": "1a65e4c9", @@ -26,7 +36,7 @@ "\n", "The only method it needs to define is a ``select_examples`` method. This takes in the input variables and then returns a list of examples. It is up to each specific implementation as to how those examples are selected.\n", "\n", - "LangChain has a few different types of example selectors. For an overview of all these types, see [this documentation](./example_selector_types).\n", + "LangChain has a few different types of example selectors. For an overview of all these types, see the below table.\n", "\n", "In this guide, we will walk through creating a custom example selector." ] @@ -219,6 +229,21 @@ "print(prompt.format(input=\"word\"))" ] }, + { + "cell_type": "markdown", + "id": "e767f69d", + "metadata": {}, + "source": [ + "## Example Selector Types\n", + "\n", + "| Name | Description |\n", + "|------------|---------------------------------------------------------------------------------------------|\n", + "| Similarity | Uses semantic similarity between inputs and examples to decide which examples to choose. |\n", + "| MMR | Uses Max Marginal Relevance between inputs and examples to decide which examples to choose. |\n", + "| Length | Selects examples based on how many can fit within a certain length |\n", + "| Ngram | Uses ngram overlap between inputs and examples to decide which examples to choose. |" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/docs/docs/modules/model_io/prompts/example_selector_types/length_based.ipynb b/docs/docs/modules/model_io/prompts/example_selectors/length_based.ipynb similarity index 100% rename from docs/docs/modules/model_io/prompts/example_selector_types/length_based.ipynb rename to docs/docs/modules/model_io/prompts/example_selectors/length_based.ipynb diff --git a/docs/docs/modules/model_io/prompts/example_selector_types/mmr.ipynb b/docs/docs/modules/model_io/prompts/example_selectors/mmr.ipynb similarity index 100% rename from docs/docs/modules/model_io/prompts/example_selector_types/mmr.ipynb rename to docs/docs/modules/model_io/prompts/example_selectors/mmr.ipynb diff --git a/docs/docs/modules/model_io/prompts/example_selector_types/ngram_overlap.ipynb b/docs/docs/modules/model_io/prompts/example_selectors/ngram_overlap.ipynb similarity index 100% rename from docs/docs/modules/model_io/prompts/example_selector_types/ngram_overlap.ipynb rename to docs/docs/modules/model_io/prompts/example_selectors/ngram_overlap.ipynb diff --git a/docs/docs/modules/model_io/prompts/example_selector_types/similarity.ipynb b/docs/docs/modules/model_io/prompts/example_selectors/similarity.ipynb similarity index 100% rename from docs/docs/modules/model_io/prompts/example_selector_types/similarity.ipynb rename to docs/docs/modules/model_io/prompts/example_selectors/similarity.ipynb diff --git a/docs/docs/modules/model_io/prompts/few_shot_examples.ipynb b/docs/docs/modules/model_io/prompts/few_shot_examples.ipynb index 1fd69e1a297..8b603315b3a 100644 --- a/docs/docs/modules/model_io/prompts/few_shot_examples.ipynb +++ b/docs/docs/modules/model_io/prompts/few_shot_examples.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "94c3ad61", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 3\n", + "---" + ] + }, { "cell_type": "markdown", "id": "b91e03f1", diff --git a/docs/docs/modules/model_io/prompts/few_shot_examples_chat.ipynb b/docs/docs/modules/model_io/prompts/few_shot_examples_chat.ipynb index 909e43c3d91..526bff05f0b 100644 --- a/docs/docs/modules/model_io/prompts/few_shot_examples_chat.ipynb +++ b/docs/docs/modules/model_io/prompts/few_shot_examples_chat.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "beba2e0e", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 2\n", + "---" + ] + }, { "cell_type": "markdown", "id": "bb0735c0", diff --git a/docs/docs/modules/model_io/prompts/index.mdx b/docs/docs/modules/model_io/prompts/index.mdx index 52a5a34bd94..459f766e2e0 100644 --- a/docs/docs/modules/model_io/prompts/index.mdx +++ b/docs/docs/modules/model_io/prompts/index.mdx @@ -1,5 +1,6 @@ --- sidebar_position: 2 +sidebar_class_name: hidden --- # Prompts @@ -20,10 +21,8 @@ We have many how-to guides for working with prompts. These include: - [How to use few-shot examples with chat models](./few_shot_examples_chat) - [How to use example selectors](./example_selectors) - [How to partial prompts](./partial) -- [How to work with message prompts](./message_prompts) - [How to compose prompts together](./composition) -- [How to create a pipeline prompt](./pipeline) -## [Example Selector Types](./example_selector_types) +## [Example Selector Types](./example_selectors) -LangChain has a few different types of example selectors you can use off the shelf. You can explore those types [here](./example_selector_types) +LangChain has a few different types of example selectors you can use off the shelf. You can explore those types [here](./example_selectors) diff --git a/docs/docs/modules/model_io/prompts/message_prompts.ipynb b/docs/docs/modules/model_io/prompts/message_prompts.ipynb deleted file mode 100644 index 206433b97a8..00000000000 --- a/docs/docs/modules/model_io/prompts/message_prompts.ipynb +++ /dev/null @@ -1,140 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "592be667", - "metadata": {}, - "source": [ - "# Types of `MessagePromptTemplate`\n", - "\n", - "LangChain provides different types of `MessagePromptTemplate`. The most commonly used are `AIMessagePromptTemplate`, `SystemMessagePromptTemplate` and `HumanMessagePromptTemplate`, which create an AI message, system message and human message respectively.\n", - "\n", - "However, in cases where the chat model supports taking chat message with arbitrary role, you can use `ChatMessagePromptTemplate`, which allows user to specify the role name." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "3993c10e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "ChatMessage(content='May the force be with you', role='Jedi')" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from langchain.prompts import ChatMessagePromptTemplate\n", - "\n", - "prompt = \"May the {subject} be with you\"\n", - "\n", - "chat_message_prompt = ChatMessagePromptTemplate.from_template(\n", - " role=\"Jedi\", template=prompt\n", - ")\n", - "chat_message_prompt.format(subject=\"force\")" - ] - }, - { - "cell_type": "markdown", - "id": "4fc61017", - "metadata": {}, - "source": [ - "LangChain also provides `MessagesPlaceholder`, which gives you full control of what messages to be rendered during formatting. This can be useful when you are uncertain of what role you should be using for your message prompt templates or when you wish to insert a list of messages during formatting.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "0469ee30", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.prompts import (\n", - " ChatPromptTemplate,\n", - " HumanMessagePromptTemplate,\n", - " MessagesPlaceholder,\n", - ")\n", - "\n", - "human_prompt = \"Summarize our conversation so far in {word_count} words.\"\n", - "human_message_template = HumanMessagePromptTemplate.from_template(human_prompt)\n", - "\n", - "chat_prompt = ChatPromptTemplate.from_messages(\n", - " [MessagesPlaceholder(variable_name=\"conversation\"), human_message_template]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b57a5e29", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[HumanMessage(content='What is the best way to learn programming?'),\n", - " AIMessage(content='1. Choose a programming language: Decide on a programming language that you want to learn.\\n\\n2. Start with the basics: Familiarize yourself with the basic programming concepts such as variables, data types and control structures.\\n\\n3. Practice, practice, practice: The best way to learn programming is through hands-on experience'),\n", - " HumanMessage(content='Summarize our conversation so far in 10 words.')]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from langchain_core.messages import AIMessage, HumanMessage\n", - "\n", - "human_message = HumanMessage(content=\"What is the best way to learn programming?\")\n", - "ai_message = AIMessage(\n", - " content=\"\"\"\\\n", - "1. Choose a programming language: Decide on a programming language that you want to learn.\n", - "\n", - "2. Start with the basics: Familiarize yourself with the basic programming concepts such as variables, data types and control structures.\n", - "\n", - "3. Practice, practice, practice: The best way to learn programming is through hands-on experience\\\n", - "\"\"\"\n", - ")\n", - "\n", - "chat_prompt.format_prompt(\n", - " conversation=[human_message, ai_message], word_count=\"10\"\n", - ").to_messages()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7158dce4", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/modules/model_io/prompts/partial.ipynb b/docs/docs/modules/model_io/prompts/partial.ipynb index 274cc6fb720..e34fb7d43f2 100644 --- a/docs/docs/modules/model_io/prompts/partial.ipynb +++ b/docs/docs/modules/model_io/prompts/partial.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "raw", + "id": "45e0127d", + "metadata": {}, + "source": [ + "---\n", + "sidebar_position: 4\n", + "---" + ] + }, { "cell_type": "markdown", "id": "d8ca736e", diff --git a/docs/docs/modules/model_io/prompts/pipeline.ipynb b/docs/docs/modules/model_io/prompts/pipeline.ipynb deleted file mode 100644 index ec9fb6469d0..00000000000 --- a/docs/docs/modules/model_io/prompts/pipeline.ipynb +++ /dev/null @@ -1,184 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "aeb01f8f", - "metadata": {}, - "source": [ - "# Pipeline\n", - "\n", - "This notebook goes over how to compose multiple prompts together. This can be useful when you want to reuse parts of prompts. This can be done with a PipelinePrompt. A PipelinePrompt consists of two main parts:\n", - "\n", - "- Final prompt: The final prompt that is returned\n", - "- Pipeline prompts: A list of tuples, consisting of a string name and a prompt template. Each prompt template will be formatted and then passed to future prompt templates as a variable with the same name." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "4044608f", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.prompts.pipeline import PipelinePromptTemplate\n", - "from langchain.prompts.prompt import PromptTemplate" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "e315c5bf", - "metadata": {}, - "outputs": [], - "source": [ - "full_template = \"\"\"{introduction}\n", - "\n", - "{example}\n", - "\n", - "{start}\"\"\"\n", - "full_prompt = PromptTemplate.from_template(full_template)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "33a2ce2b", - "metadata": {}, - "outputs": [], - "source": [ - "introduction_template = \"\"\"You are impersonating {person}.\"\"\"\n", - "introduction_prompt = PromptTemplate.from_template(introduction_template)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "180b7432", - "metadata": {}, - "outputs": [], - "source": [ - "example_template = \"\"\"Here's an example of an interaction:\n", - "\n", - "Q: {example_q}\n", - "A: {example_a}\"\"\"\n", - "example_prompt = PromptTemplate.from_template(example_template)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "583f7188", - "metadata": {}, - "outputs": [], - "source": [ - "start_template = \"\"\"Now, do this for real!\n", - "\n", - "Q: {input}\n", - "A:\"\"\"\n", - "start_prompt = PromptTemplate.from_template(start_template)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e40edd5c", - "metadata": {}, - "outputs": [], - "source": [ - "input_prompts = [\n", - " (\"introduction\", introduction_prompt),\n", - " (\"example\", example_prompt),\n", - " (\"start\", start_prompt),\n", - "]\n", - "pipeline_prompt = PipelinePromptTemplate(\n", - " final_prompt=full_prompt, pipeline_prompts=input_prompts\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "7957de13", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['example_q', 'example_a', 'input', 'person']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline_prompt.input_variables" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "a0d87803", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are impersonating Elon Musk.\n", - "\n", - "Here's an example of an interaction:\n", - "\n", - "Q: What's your favorite car?\n", - "A: Tesla\n", - "\n", - "Now, do this for real!\n", - "\n", - "Q: What's your favorite social media site?\n", - "A:\n" - ] - } - ], - "source": [ - "print(\n", - " pipeline_prompt.format(\n", - " person=\"Elon Musk\",\n", - " example_q=\"What's your favorite car?\",\n", - " example_a=\"Tesla\",\n", - " input=\"What's your favorite social media site?\",\n", - " )\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "399a1687", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/docs/modules/model_io/prompts/quick_start.ipynb b/docs/docs/modules/model_io/prompts/quick_start.ipynb index 7b393c3687f..9eabff4d368 100644 --- a/docs/docs/modules/model_io/prompts/quick_start.ipynb +++ b/docs/docs/modules/model_io/prompts/quick_start.ipynb @@ -7,7 +7,7 @@ "source": [ "---\n", "sidebar_position: 0\n", - "title: Quick Start\n", + "title: Quick reference\n", "---" ] }, @@ -16,7 +16,8 @@ "id": "2d98412d-fc53-42c1-aed8-f1f8eb9ada58", "metadata": {}, "source": [ - "# Quick Start\n", + "# Quick reference\n", + "\n", "Prompt templates are predefined recipes for generating prompts for language models.\n", "\n", "A template may include instructions, few-shot examples, and specific context and\n", @@ -105,7 +106,7 @@ "\n", "## `ChatPromptTemplate`\n", "\n", - "The prompt to [chat models](../chat) is a list of chat messages.\n", + "The prompt to [chat models](../chat) is a list of [chat messages](/docs/modules/model_io/chat/message_types).\n", "\n", "Each chat message is associated with content, and an additional parameter called `role`.\n", "For example, in the OpenAI [Chat Completions API](https://platform.openai.com/docs/guides/chat/introduction), a chat message can be associated with an AI assistant, a human or a system role.\n", @@ -115,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "d088d53c-0e20-4fb9-9d54-b0e989b998b0", "metadata": {}, "outputs": [], @@ -134,12 +135,52 @@ "messages = chat_template.format_messages(name=\"Bob\", user_input=\"What is your name?\")" ] }, + { + "cell_type": "markdown", + "id": "0eee13f0", + "metadata": {}, + "source": [ + "Piping these formatted messages into LangChain's `ChatOpenAI` chat model class is roughly equivalent to the following with using the OpenAI client directly:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6bb2a72", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install openai" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "49aebba3", + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "\n", + "client = OpenAI()\n", + "\n", + "response = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"You are a helpful AI bot. Your name is Bob.\"},\n", + " {\"role\": \"user\", \"content\": \"Hello, how are you doing?\"},\n", + " {\"role\": \"assistant\", \"content\": \"I'm doing well, thanks!\"},\n", + " {\"role\": \"user\", \"content\": \"What is your name?\"},\n", + " ],\n", + ")" + ] + }, { "cell_type": "markdown", "id": "d1e7e3ef-ba7d-4ca5-a95c-a0488c9679e5", "metadata": {}, "source": [ - "`ChatPromptTemplate.from_messages` accepts a variety of message representations.\n", + "The `ChatPromptTemplate.from_messages` static method accepts a variety of message representations and is a convenient way to format input to chat models with exactly the messages you want.\n", "\n", "For example, in addition to using the 2-tuple representation of (type, content) used\n", "above, you could pass in an instance of `MessagePromptTemplate` or `BaseMessage`." @@ -162,7 +203,6 @@ "source": [ "from langchain.prompts import HumanMessagePromptTemplate\n", "from langchain_core.messages import SystemMessage\n", - "from langchain_openai import ChatOpenAI\n", "\n", "chat_template = ChatPromptTemplate.from_messages(\n", " [\n", @@ -189,7 +229,136 @@ }, { "cell_type": "markdown", - "id": "3a5fe78c-572c-4e87-b02f-7d33126fb605", + "id": "9305b5ae", + "metadata": {}, + "source": [ + "## Message Prompts" + ] + }, + { + "cell_type": "markdown", + "id": "8513963e", + "metadata": {}, + "source": [ + "LangChain provides different types of `MessagePromptTemplate`. The most commonly used are `AIMessagePromptTemplate`, `SystemMessagePromptTemplate` and `HumanMessagePromptTemplate`, which create an AI message, system message and human message respectively. You can read more about the [different types of messages here](/docs/modules/model_io/chat/message_types).\n", + "\n", + "In cases where the chat model supports taking chat message with arbitrary role, you can use `ChatMessagePromptTemplate`, which allows user to specify the role name." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "71aab8e7-3236-43b6-b516-a76a6cfdc39f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ChatMessage(content='May the force be with you', role='Jedi')" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langchain.prompts import ChatMessagePromptTemplate\n", + "\n", + "prompt = \"May the {subject} be with you\"\n", + "\n", + "chat_message_prompt = ChatMessagePromptTemplate.from_template(\n", + " role=\"Jedi\", template=prompt\n", + ")\n", + "chat_message_prompt.format(subject=\"force\")" + ] + }, + { + "cell_type": "markdown", + "id": "ebbe2a21-c893-46cf-9fc7-a7f90c09695a", + "metadata": {}, + "source": [ + "## `MessagesPlaceholder`\n", + "\n", + "LangChain also provides `MessagesPlaceholder`, which gives you full control of what messages to be rendered during formatting. This can be useful when you are uncertain of what role you should be using for your message prompt templates or when you wish to insert a list of messages during formatting." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "98a3e39d-7c7e-4a89-80a7-74ea4e6cf177", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.prompts import (\n", + " ChatPromptTemplate,\n", + " HumanMessagePromptTemplate,\n", + " MessagesPlaceholder,\n", + ")\n", + "\n", + "human_prompt = \"Summarize our conversation so far in {word_count} words.\"\n", + "human_message_template = HumanMessagePromptTemplate.from_template(human_prompt)\n", + "\n", + "chat_prompt = ChatPromptTemplate.from_messages(\n", + " [MessagesPlaceholder(variable_name=\"conversation\"), human_message_template]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a92fd952-d96f-4606-8a50-6077ea8ddef4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[HumanMessage(content='What is the best way to learn programming?'),\n", + " AIMessage(content='1. Choose a programming language: Decide on a programming language that you want to learn.\\n\\n2. Start with the basics: Familiarize yourself with the basic programming concepts such as variables, data types and control structures.\\n\\n3. Practice, practice, practice: The best way to learn programming is through hands-on experience'),\n", + " HumanMessage(content='Summarize our conversation so far in 10 words.')]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langchain_core.messages import AIMessage, HumanMessage\n", + "\n", + "human_message = HumanMessage(content=\"What is the best way to learn programming?\")\n", + "ai_message = AIMessage(\n", + " content=\"\"\"\\\n", + "1. Choose a programming language: Decide on a programming language that you want to learn.\n", + "\n", + "2. Start with the basics: Familiarize yourself with the basic programming concepts such as variables, data types and control structures.\n", + "\n", + "3. Practice, practice, practice: The best way to learn programming is through hands-on experience\\\n", + "\"\"\"\n", + ")\n", + "\n", + "chat_prompt.format_prompt(\n", + " conversation=[human_message, ai_message], word_count=\"10\"\n", + ").to_messages()" + ] + }, + { + "cell_type": "markdown", + "id": "86202814-3539-4a94-8698-73426240516e", + "metadata": {}, + "source": [ + "The full list of message prompt template types includes:\n", + "\n", + "* [AIMessagePromptTemplate](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.chat.AIMessagePromptTemplate.html), for AI assistant messages;\n", + "* [SystemMessagePromptTemplate](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.chat.SystemMessagePromptTemplate.html), for system messages;\n", + "* [HumanMessagePromptTemplate](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.chat.HumanMessagePromptTemplate.html), for user messages;\n", + "* [ChatMessagePromptTemplate](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.chat.ChatMessagePromptTemplate.html), for messages with arbitrary roles;\n", + "* [MessagesPlaceholder](https://api.python.langchain.com/en/latest/prompts/langchain_core.prompts.chat.MessagesPlaceholder.html), which accommodates a list of messages." + ] + }, + { + "cell_type": "markdown", + "id": "1a68e9ae", "metadata": {}, "source": [ "## LCEL\n", @@ -201,39 +370,43 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "0f0e860b-95e0-4653-8bab-c5d58b0f7d67", + "execution_count": 10, + "id": "a2e02bf4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "StringPromptValue(text='Tell me a joke')" + "StringPromptValue(text='Tell me a funny joke about chickens.')" ] }, - "execution_count": 24, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "prompt_template = PromptTemplate.from_template(\n", + " \"Tell me a {adjective} joke about {content}.\"\n", + ")\n", + "\n", "prompt_val = prompt_template.invoke({\"adjective\": \"funny\", \"content\": \"chickens\"})\n", "prompt_val" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "c0dac782-5144-4489-8d77-eba47f1cd1c4", + "execution_count": 11, + "id": "b60a44b7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'Tell me a joke'" + "'Tell me a funny joke about chickens.'" ] }, - "execution_count": 25, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -244,17 +417,17 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "a8e3ac32-f690-4d3d-bcb2-27b7931beab2", + "execution_count": 12, + "id": "1366e47b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[HumanMessage(content='Tell me a joke')]" + "[HumanMessage(content='Tell me a funny joke about chickens.')]" ] }, - "execution_count": 26, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -265,18 +438,30 @@ }, { "cell_type": "code", - "execution_count": 30, - "id": "4516257f-0c3b-4851-9e82-8c9e09111444", + "execution_count": 13, + "id": "e335131e", "metadata": {}, "outputs": [], "source": [ + "chat_template = ChatPromptTemplate.from_messages(\n", + " [\n", + " SystemMessage(\n", + " content=(\n", + " \"You are a helpful assistant that re-writes the user's text to \"\n", + " \"sound more upbeat.\"\n", + " )\n", + " ),\n", + " HumanMessagePromptTemplate.from_template(\"{text}\"),\n", + " ]\n", + ")\n", + "\n", "chat_val = chat_template.invoke({\"text\": \"i dont like eating tasty things.\"})" ] }, { "cell_type": "code", - "execution_count": 31, - "id": "7adfe927-ba1d-425f-904c-0328e1a10c18", + "execution_count": 14, + "id": "44924df6", "metadata": {}, "outputs": [ { @@ -286,7 +471,7 @@ " HumanMessage(content='i dont like eating tasty things.')]" ] }, - "execution_count": 31, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -297,8 +482,8 @@ }, { "cell_type": "code", - "execution_count": 32, - "id": "37c9e2e4-a2e8-48a9-a732-01c025a21362", + "execution_count": 15, + "id": "a313f987", "metadata": {}, "outputs": [ { @@ -307,7 +492,7 @@ "\"System: You are a helpful assistant that re-writes the user's text to sound more upbeat.\\nHuman: i dont like eating tasty things.\"" ] }, - "execution_count": 32, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -315,6 +500,14 @@ "source": [ "chat_val.to_string()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c25e59ac", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -333,7 +526,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.1" + "version": "3.10.5" } }, "nbformat": 4, diff --git a/docs/docs/modules/agents/tools/custom_tools.ipynb b/docs/docs/modules/tools/custom_tools.ipynb similarity index 100% rename from docs/docs/modules/agents/tools/custom_tools.ipynb rename to docs/docs/modules/tools/custom_tools.ipynb diff --git a/docs/docs/modules/agents/tools/index.ipynb b/docs/docs/modules/tools/index.ipynb similarity index 98% rename from docs/docs/modules/agents/tools/index.ipynb rename to docs/docs/modules/tools/index.ipynb index 282217d4251..c6bf74cbac9 100644 --- a/docs/docs/modules/agents/tools/index.ipynb +++ b/docs/docs/modules/tools/index.ipynb @@ -7,6 +7,7 @@ "source": [ "---\n", "sidebar_position: 4\n", + "sidebar_class_name: hidden\n", "---" ] }, @@ -17,7 +18,7 @@ "source": [ "# Tools\n", "\n", - "Tools are interfaces that an agent can use to interact with the world.\n", + "Tools are interfaces that an agent, chain, or LLM can use to interact with the world.\n", "They combine a few things:\n", "\n", "1. The name of the tool\n", @@ -30,7 +31,7 @@ "\n", "The simpler the input to a tool is, the easier it is for an LLM to be able to use it.\n", "Many agents will only work with tools that have a single string input.\n", - "For a list of agent types and which ones work with more complicated inputs, please see [this documentation](../agent_types)\n", + "For a list of agent types and which ones work with more complicated inputs, please see [this documentation](../agents/agent_types)\n", "\n", "Importantly, the name, description, and JSON schema (if used) are all used in the prompt. Therefore, it is really important that they are clear and describe exactly how the tool should be used. You may need to change the default name, description, or JSON schema if the LLM is not understanding how to use the tool.\n", "\n", diff --git a/docs/docs/modules/agents/tools/toolkits.mdx b/docs/docs/modules/tools/toolkits.mdx similarity index 68% rename from docs/docs/modules/agents/tools/toolkits.mdx rename to docs/docs/modules/tools/toolkits.mdx index aabe9172cc3..fed302b811c 100644 --- a/docs/docs/modules/agents/tools/toolkits.mdx +++ b/docs/docs/modules/tools/toolkits.mdx @@ -4,8 +4,8 @@ sidebar_position: 3 # Toolkits -Toolkits are collections of tools that are designed to be used together for specific tasks and have convenient loading methods. -For a complete list of these, visit [Integrations](/docs/integrations/toolkits/). +Toolkits are collections of tools that are designed to be used together for specific tasks. They have convenient loading methods. +For a complete list of available ready-made toolkits, visit [Integrations](/docs/integrations/toolkits/). All Toolkits expose a `get_tools` method which returns a list of tools. You can therefore do: diff --git a/docs/docs/modules/agents/tools/tools_as_openai_functions.ipynb b/docs/docs/modules/tools/tools_as_openai_functions.ipynb similarity index 100% rename from docs/docs/modules/agents/tools/tools_as_openai_functions.ipynb rename to docs/docs/modules/tools/tools_as_openai_functions.ipynb diff --git a/docs/docs/use_cases/apis.ipynb b/docs/docs/use_cases/apis.ipynb index 02415c48bcf..6e038c6dbda 100644 --- a/docs/docs/use_cases/apis.ipynb +++ b/docs/docs/use_cases/apis.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 1\n", + "sidebar_class_name: hidden\n", "title: Interacting with APIs\n", "---" ] diff --git a/docs/docs/use_cases/chatbots/index.ipynb b/docs/docs/use_cases/chatbots/index.ipynb index 99523b8ef49..c4b52cbc85e 100644 --- a/docs/docs/use_cases/chatbots/index.ipynb +++ b/docs/docs/use_cases/chatbots/index.ipynb @@ -1,5 +1,14 @@ { "cells": [ + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "---\n", + "sidebar_class_name: hidden\n", + "---" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/docs/use_cases/chatbots/quickstart.ipynb b/docs/docs/use_cases/chatbots/quickstart.ipynb index 72600a195f5..2875a094e24 100644 --- a/docs/docs/use_cases/chatbots/quickstart.ipynb +++ b/docs/docs/use_cases/chatbots/quickstart.ipynb @@ -13,9 +13,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/langchain-ai/langchain/blob/master/docs/docs/use_cases/chatbots.ipynb)\n", + "# Quickstart\n", "\n", - "# Quickstart" + "[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/langchain-ai/langchain/blob/master/docs/docs/use_cases/chatbots.ipynb)" ] }, { @@ -494,7 +494,7 @@ "\n", "### Handling documents\n", "\n", - "Let's modify our previous prompt to accept documents as context. We'll use a `create_stuff_documents_chain` helper function to \"stuff\" all of the input documents into the prompt, which also conveniently handles formatting. Other arguments (like `messages`) will be passed directly through into the prompt:" + "Let's modify our previous prompt to accept documents as context. We'll use a [`create_stuff_documents_chain`](https://api.python.langchain.com/en/latest/chains/langchain.chains.combine_documents.stuff.create_stuff_documents_chain.html#langchain.chains.combine_documents.stuff.create_stuff_documents_chain) helper function to \"stuff\" all of the input documents into the prompt, which also conveniently handles formatting. We use the [`ChatPromptTemplate.from_messages`](/docs/modules/model_io/prompts/quick_start#chatprompttemplate) method to format the message input we want to pass to the model, including a [`MessagesPlaceholder`](/docs/modules/model_io/prompts/quick_start#messagesplaceholder) where chat history messages will be directly injected:" ] }, { @@ -568,7 +568,7 @@ "\n", "Next, let's integrate our retriever into the chain. Our retriever should retrieve information relevant to the last message we pass in from the user, so we extract it and use that as input to fetch relevant docs, which we add to the current chain as `context`. We pass `context` plus the previous `messages` into our document chain to generate a final answer.\n", "\n", - "We also use the `RunnablePassthrough.assign()` method to pass intermediate steps through at each invocation. Here's what it looks like:" + "We also use the [`RunnablePassthrough.assign()`](/docs/expression_language/primitives/assign) method to pass intermediate steps through at each invocation. Here's what it looks like:" ] }, { diff --git a/docs/docs/use_cases/code_understanding.ipynb b/docs/docs/use_cases/code_understanding.ipynb index 019318cee4f..3ab6957a462 100644 --- a/docs/docs/use_cases/code_understanding.ipynb +++ b/docs/docs/use_cases/code_understanding.ipynb @@ -6,6 +6,7 @@ "source": [ "---\n", "title: Code understanding\n", + "sidebar_class_name: hidden\n", "---" ] }, @@ -40,11 +41,11 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "%pip install --upgrade --quiet langchain-openai tiktoken chromadb langchain\n", + "%pip install --upgrade --quiet langchain-openai tiktoken chromadb langchain git\n", "\n", "# Set env var OPENAI_API_KEY or load from a .env file\n", "# import dotenv\n", @@ -73,11 +74,11 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ - "# from git import Repo\n", + "from git import Repo\n", "from langchain_community.document_loaders.generic import GenericLoader\n", "from langchain_community.document_loaders.parsers import LanguageParser\n", "from langchain_text_splitters import Language" @@ -90,8 +91,8 @@ "outputs": [], "source": [ "# Clone\n", - "repo_path = \"/Users/rlm/Desktop/test_repo\"\n", - "# repo = Repo.clone_from(\"https://github.com/langchain-ai/langchain\", to_path=repo_path)" + "repo_path = \"/Users/jacoblee/Desktop/test_repo\"\n", + "repo = Repo.clone_from(\"https://github.com/langchain-ai/langchain\", to_path=repo_path)" ] }, { @@ -113,7 +114,7 @@ { "data": { "text/plain": [ - "1293" + "295" ] }, "execution_count": 4, @@ -124,7 +125,7 @@ "source": [ "# Load\n", "loader = GenericLoader.from_filesystem(\n", - " repo_path + \"/libs/langchain/langchain\",\n", + " repo_path + \"/libs/core/langchain_core\",\n", " glob=\"**/*\",\n", " suffixes=[\".py\"],\n", " exclude=[\"**/non-utf8-encoding.py\"],\n", @@ -153,7 +154,7 @@ { "data": { "text/plain": [ - "3748" + "898" ] }, "execution_count": 5, @@ -227,105 +228,97 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "from langchain.chains import ConversationalRetrievalChain\n", - "from langchain.memory import ConversationSummaryMemory\n", + "from langchain.chains import create_history_aware_retriever, create_retrieval_chain\n", + "from langchain.chains.combine_documents import create_stuff_documents_chain\n", + "from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_openai import ChatOpenAI\n", "\n", "llm = ChatOpenAI(model_name=\"gpt-4\")\n", - "memory = ConversationSummaryMemory(\n", - " llm=llm, memory_key=\"chat_history\", return_messages=True\n", + "\n", + "# First we need a prompt that we can pass into an LLM to generate this search query\n", + "\n", + "prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\"placeholder\", \"{chat_history}\"),\n", + " (\"user\", \"{input}\"),\n", + " (\n", + " \"user\",\n", + " \"Given the above conversation, generate a search query to look up to get information relevant to the conversation\",\n", + " ),\n", + " ]\n", ")\n", - "qa = ConversationalRetrievalChain.from_llm(llm, retriever=retriever, memory=memory)" + "\n", + "retriever_chain = create_history_aware_retriever(llm, retriever, prompt)\n", + "\n", + "prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\n", + " \"system\",\n", + " \"Answer the user's questions based on the below context:\\n\\n{context}\",\n", + " ),\n", + " (\"placeholder\", \"{chat_history}\"),\n", + " (\"user\", \"{input}\"),\n", + " ]\n", + ")\n", + "document_chain = create_stuff_documents_chain(llm, prompt)\n", + "\n", + "qa = create_retrieval_chain(retriever_chain, document_chain)" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'To initialize a ReAct agent, you need to follow these steps:\\n\\n1. Initialize a language model `llm` of type `BaseLanguageModel`.\\n\\n2. Initialize a document store `docstore` of type `Docstore`.\\n\\n3. Create a `DocstoreExplorer` with the initialized `docstore`. The `DocstoreExplorer` is used to search for and look up terms in the document store.\\n\\n4. Create an array of `Tool` objects. The `Tool` objects represent the actions that the agent can perform. In the case of `ReActDocstoreAgent`, the tools must be \"Search\" and \"Lookup\" with their corresponding functions from the `DocstoreExplorer`.\\n\\n5. Initialize the `ReActDocstoreAgent` using the `from_llm_and_tools` method with the `llm` (language model) and `tools` as parameters.\\n\\n6. Initialize the `ReActChain` (which is the `AgentExecutor`) using the `ReActDocstoreAgent` and `tools` as parameters.\\n\\nHere is an example of how to do this:\\n\\n```python\\nfrom langchain.chains import ReActChain, OpenAI\\nfrom langchain.docstore.base import Docstore\\nfrom langchain.docstore.document import Document\\nfrom langchain_core.tools import BaseTool\\n\\n# Initialize the LLM and a docstore\\nllm = OpenAI()\\ndocstore = Docstore()\\n\\ndocstore_explorer = DocstoreExplorer(docstore)\\ntools = [\\n Tool(\\n name=\"Search\",\\n func=docstore_explorer.search,\\n description=\"Search for a term in the docstore.\",\\n ),\\n Tool(\\n name=\"Lookup\",\\n func=docstore_explorer.lookup,\\n description=\"Lookup a term in the docstore.\",\\n ),\\n]\\nagent = ReActDocstoreAgent.from_llm_and_tools(llm, tools)\\nreact = ReActChain(agent=agent, tools=tools)\\n```\\n\\nKeep in mind that this is a simplified example and you might need to adapt it to your specific needs.'" + "'A RunnableBinding is a class in the LangChain library that is used to bind arguments to a Runnable. This is useful when a runnable in a chain requires an argument that is not in the output of the previous runnable or included in the user input. It returns a new Runnable with the bound arguments and configuration. The bind method in the RunnableBinding class is used to perform this operation.'" ] }, - "execution_count": 43, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "question = \"How can I initialize a ReAct agent?\"\n", - "result = qa(question)\n", + "question = \"What is a RunnableBinding?\"\n", + "result = qa.invoke({\"input\": question})\n", "result[\"answer\"]" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-> **Question**: What is the class hierarchy? \n", + "-> **Question**: What classes are derived from the Runnable class? \n", "\n", - "**Answer**: The class hierarchy in object-oriented programming is the structure that forms when classes are derived from other classes. The derived class is a subclass of the base class also known as the superclass. This hierarchy is formed based on the concept of inheritance in object-oriented programming where a subclass inherits the properties and functionalities of the superclass. \n", + "**Answer**: The classes derived from the `Runnable` class as mentioned in the context are: `RunnableLambda`, `RunnableLearnable`, `RunnableSerializable`, `RunnableWithFallbacks`. \n", "\n", - "In the given context, we have the following examples of class hierarchies:\n", + "-> **Question**: What one improvement do you propose in code in relation to the class hierarchy for the Runnable class? \n", "\n", - "1. `BaseCallbackHandler --> CallbackHandler` means `BaseCallbackHandler` is a base class and `CallbackHandler` (like `AimCallbackHandler`, `ArgillaCallbackHandler` etc.) are derived classes that inherit from `BaseCallbackHandler`.\n", - "\n", - "2. `BaseLoader --> Loader` means `BaseLoader` is a base class and `Loader` (like `TextLoader`, `UnstructuredFileLoader` etc.) are derived classes that inherit from `BaseLoader`.\n", - "\n", - "3. `ToolMetaclass --> BaseTool --> Tool` means `ToolMetaclass` is a base class, `BaseTool` is a derived class that inherits from `ToolMetaclass`, and `Tool` (like `AIPluginTool`, `BaseGraphQLTool` etc.) are further derived classes that inherit from `BaseTool`. \n", - "\n", - "-> **Question**: What classes are derived from the Chain class? \n", - "\n", - "**Answer**: The classes that are derived from the Chain class are:\n", - "\n", - "1. LLMSummarizationCheckerChain\n", - "2. MapReduceChain\n", - "3. OpenAIModerationChain\n", - "4. NatBotChain\n", - "5. QAGenerationChain\n", - "6. QAWithSourcesChain\n", - "7. RetrievalQAWithSourcesChain\n", - "8. VectorDBQAWithSourcesChain\n", - "9. RetrievalQA\n", - "10. VectorDBQA\n", - "11. LLMRouterChain\n", - "12. MultiPromptChain\n", - "13. MultiRetrievalQAChain\n", - "14. MultiRouteChain\n", - "15. RouterChain\n", - "16. SequentialChain\n", - "17. SimpleSequentialChain\n", - "18. TransformChain\n", - "19. BaseConversationalRetrievalChain\n", - "20. ConstitutionalChain \n", - "\n", - "-> **Question**: What one improvement do you propose in code in relation to the class hierarchy for the Chain class? \n", - "\n", - "**Answer**: As an AI model, I don't have personal opinions. However, one suggestion could be to improve the documentation of the Chain class hierarchy. The current comments and docstrings provide some details but it could be helpful to include more explicit explanations about the hierarchy, roles of each subclass, and their relationships with one another. Also, incorporating UML diagrams or other visuals could help developers better understand the structure and interactions of the classes. \n", + "**Answer**: One potential improvement could be the introduction of abstract base classes (ABCs) or interfaces for different types of Runnable classes. Currently, it seems like there are lots of different Runnable types, like RunnableLambda, RunnableParallel, etc., each with their own methods and attributes. By defining a common interface or ABC for all these classes, we can ensure consistency and better organize the codebase. It would also make it easier to add new types of Runnable classes in the future, as they would just need to implement the methods defined in the interface or ABC. \n", "\n" ] } ], "source": [ "questions = [\n", - " \"What is the class hierarchy?\",\n", - " \"What classes are derived from the Chain class?\",\n", - " \"What one improvement do you propose in code in relation to the class hierarchy for the Chain class?\",\n", + " \"What classes are derived from the Runnable class?\",\n", + " \"What one improvement do you propose in code in relation to the class hierarchy for the Runnable class?\",\n", "]\n", "\n", "for question in questions:\n", - " result = qa(question)\n", + " result = qa.invoke({\"input\": question})\n", " print(f\"-> **Question**: {question} \\n\")\n", " print(f\"**Answer**: {result['answer']} \\n\")" ] @@ -334,7 +327,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The can look at the [LangSmith trace](https://smith.langchain.com/public/2b23045f-4e49-4d2d-8980-dec85259af36/r) to see what is happening under the hood:\n", + "Then we can look at the [LangSmith trace](https://smith.langchain.com/public/616f6620-f49f-46c7-8f4b-dae847705c5d/r) to see what is happening under the hood:\n", "\n", "* In particular, the code well structured and kept together in the retrieval output\n", "* The retrieved code and chat history are passed to the LLM for answer distillation\n", @@ -348,15 +341,18 @@ "source": [ "### Open source LLMs\n", "\n", - "We can use [Code LLaMA](https://about.fb.com/news/2023/08/code-llama-ai-for-coding/) via LLamaCPP or [Ollama integration](https://ollama.ai/blog/run-code-llama-locally).\n", + "We'll use LangChain's [Ollama integration](https://ollama.com/) to query a local OSS model.\n", "\n", - "Note: be sure to upgrade `llama-cpp-python` in order to use the new `gguf` [file format](https://github.com/abetlen/llama-cpp-python/pull/633).\n", - "\n", - "```\n", - "CMAKE_ARGS=\"-DLLAMA_METAL=on\" FORCE_CMAKE=1 /Users/rlm/miniforge3/envs/llama2/bin/pip install -U llama-cpp-python --no-cache-dir\n", - "```\n", - " \n", - "Check out the latest code-llama models [here](https://huggingface.co/TheBloke/CodeLlama-13B-Instruct-GGUF/tree/main)." + "Check out the latest available models [here](https://ollama.com/library)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --upgrade --quiet langchain-community" ] }, { @@ -365,204 +361,137 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain.callbacks.manager import CallbackManager\n", - "from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n", - "from langchain.chains import ConversationalRetrievalChain, LLMChain\n", - "from langchain.memory import ConversationSummaryMemory\n", - "from langchain.prompts import PromptTemplate\n", - "from langchain_community.llms import LlamaCpp" + "from langchain_community.chat_models.ollama import ChatOllama\n", + "\n", + "llm = ChatOllama(model=\"codellama\")" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])\n", - "llm = LlamaCpp(\n", - " model_path=\"/Users/rlm/Desktop/Code/llama/code-llama/codellama-13b-instruct.Q4_K_M.gguf\",\n", - " n_ctx=5000,\n", - " n_gpu_layers=1,\n", - " n_batch=512,\n", - " f16_kv=True, # MUST set to True, otherwise you will run into problem after a couple of calls\n", - " callback_manager=callback_manager,\n", - " verbose=True,\n", - ")" + "Let's run it with a generic coding question to test its knowledge:" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 12, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Llama.generate: prefix-match hit\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - " You can use the find command with a few options to this task. Here is an example of how you might go about it:\n", "\n", - "find . -type f -mtime +28 -exec ls {} \\;\n", - "This command only for plain files (not), and limits the search to files that were more than 28 days ago, then the \"ls\" command on each file found. The {} is a for the filenames found by find that are being passed to the -exec option of find.\n", + "You can use the `find` command with the `-mtime` option to find all the text files in the current directory that have been modified in the last month. Here's an example command:\n", + "```bash\n", + "find . -type f -name \"*.txt\" -mtime -30\n", + "```\n", + "This will list all the text files in the current directory (`.`) that have been modified in the last 30 days. The `-type f` option ensures that only regular files are matched, and not directories or other types of files. The `-name \"*.txt\"` option restricts the search to files with a `.txt` extension. Finally, the `-mtime -30` option specifies that we want to find files that have been modified in the last 30 days.\n", "\n", - "You can also use find in with other unix utilities like sort and grep to the list of files before they are:\n", + "You can also use `find` command with `-mmin` option to find all the text files in the current directory that have been modified within the last month. Here's an example command:\n", + "```bash\n", + "find . -type f -name \"*.txt\" -mmin -4320\n", + "```\n", + "This will list all the text files in the current directory (`.`) that have been modified within the last 30 days. The `-type f` option ensures that only regular files are matched, and not directories or other types of files. The `-name \"*.txt\"` option restricts the search to files with a `.txt` extension. Finally, the `-mmin -4320` option specifies that we want to find files that have been modified within the last 4320 minutes (which is equivalent to one month).\n", "\n", - "find . -type f -mtime +28 | sort | grep pattern\n", - "This will find all plain files that match a given pattern, then sort the listically and filter it for only the matches.\n", + "You can also use `ls` command with `-l` option and pipe it to `grep` command to filter out the text files. Here's an example command:\n", + "```bash\n", + "ls -l | grep \"*.txt\"\n", + "```\n", + "This will list all the text files in the current directory (`.`) that have been modified within the last 30 days. The `-l` option of `ls` command lists the files in a long format, including the modification time, and the `grep` command filters out the files that do not match the specified pattern.\n", "\n", - "Answer: `find` is pretty with its search. The should work as well:\n", - "\n", - "\\begin{code}\n", - "ls -l $(find . -mtime +28)\n", - "\\end{code}\n", - "\n", - "(It's a bad idea to parse output from `ls`, though, as you may" + "Please note that these commands are case-sensitive, so if you have any files with different extensions (e.g., `.TXT`), they will not be matched by these commands.\n", + "{'model': 'codellama', 'created_at': '2024-04-03T00:41:44.014203Z', 'message': {'role': 'assistant', 'content': ''}, 'done': True, 'total_duration': 27078466916, 'load_duration': 12947208, 'prompt_eval_count': 44, 'prompt_eval_duration': 11497468000, 'eval_count': 510, 'eval_duration': 15548191000}\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "llama_print_timings: load time = 1074.43 ms\n", - "llama_print_timings: sample time = 180.71 ms / 256 runs ( 0.71 ms per token, 1416.67 tokens per second)\n", - "llama_print_timings: prompt eval time = 0.00 ms / 1 tokens ( 0.00 ms per token, inf tokens per second)\n", - "llama_print_timings: eval time = 9593.04 ms / 256 runs ( 37.47 ms per token, 26.69 tokens per second)\n", - "llama_print_timings: total time = 10139.91 ms\n" - ] - }, - { - "data": { - "text/plain": [ - "' You can use the find command with a few options to this task. Here is an example of how you might go about it:\\n\\nfind . -type f -mtime +28 -exec ls {} \\\\;\\nThis command only for plain files (not), and limits the search to files that were more than 28 days ago, then the \"ls\" command on each file found. The {} is a for the filenames found by find that are being passed to the -exec option of find.\\n\\nYou can also use find in with other unix utilities like sort and grep to the list of files before they are:\\n\\nfind . -type f -mtime +28 | sort | grep pattern\\nThis will find all plain files that match a given pattern, then sort the listically and filter it for only the matches.\\n\\nAnswer: `find` is pretty with its search. The should work as well:\\n\\n\\\\begin{code}\\nls -l $(find . -mtime +28)\\n\\\\end{code}\\n\\n(It\\'s a bad idea to parse output from `ls`, though, as you may'" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ - "llm(\n", - " \"Question: In bash, how do I list all the text files in the current directory that have been modified in the last month? Answer:\"\n", - ")" + "response_message = llm.invoke(\n", + " \"In bash, how do I list all the text files in the current directory that have been modified in the last month?\"\n", + ")\n", + "\n", + "print(response_message.content)\n", + "print(response_message.response_metadata)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks reasonable! Now let's set it up with our previously loaded vectorstore.\n", + "\n", + "We omit the conversational aspect to keep things more manageable for the lower-powered local model:" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ - "from langchain.chains.question_answering import load_qa_chain\n", + "# from langchain.chains.question_answering import load_qa_chain\n", "\n", - "# Prompt\n", - "template = \"\"\"Use the following pieces of context to answer the question at the end. \n", + "# # Prompt\n", + "# template = \"\"\"Use the following pieces of context to answer the question at the end.\n", + "# If you don't know the answer, just say that you don't know, don't try to make up an answer.\n", + "# Use three sentences maximum and keep the answer as concise as possible.\n", + "# {context}\n", + "# Question: {question}\n", + "# Helpful Answer:\"\"\"\n", + "# QA_CHAIN_PROMPT = PromptTemplate(\n", + "# input_variables=[\"context\", \"question\"],\n", + "# template=template,\n", + "# )\n", + "\n", + "system_template = \"\"\"\n", + "Answer the user's questions based on the below context.\n", "If you don't know the answer, just say that you don't know, don't try to make up an answer. \n", - "Use three sentences maximum and keep the answer as concise as possible. \n", + "Use three sentences maximum and keep the answer as concise as possible:\n", + "\n", "{context}\n", - "Question: {question}\n", - "Helpful Answer:\"\"\"\n", - "QA_CHAIN_PROMPT = PromptTemplate(\n", - " input_variables=[\"context\", \"question\"],\n", - " template=template,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also use the LangChain Prompt Hub to store and fetch prompts.\n", + "\"\"\"\n", "\n", - "This will work with your [LangSmith API key](https://docs.smith.langchain.com/).\n", + "# First we need a prompt that we can pass into an LLM to generate this search query\n", + "prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\"system\", system_template),\n", + " (\"user\", \"{input}\"),\n", + " ]\n", + ")\n", + "document_chain = create_stuff_documents_chain(llm, prompt)\n", "\n", - "Let's try with a default RAG prompt, [here](https://smith.langchain.com/hub/rlm/rag-prompt)." + "qa_chain = create_retrieval_chain(retriever, document_chain)" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from langchain import hub\n", - "\n", - "QA_CHAIN_PROMPT = hub.pull(\"rlm/rag-prompt-default\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, + "execution_count": 14, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Llama.generate: prefix-match hit\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " You can use the `ReActAgent` class and pass it the desired tools as, for example, you would do like this to create an agent with the `Lookup` and `Search` tool:\n", - "```python\n", - "from langchain.agents.react import ReActAgent\n", - "from langchain_community.tools.lookup import Lookup\n", - "from langchain_community.tools.search import Search\n", - "ReActAgent(Lookup(), Search())\n", - "```" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "llama_print_timings: load time = 1074.43 ms\n", - "llama_print_timings: sample time = 65.46 ms / 94 runs ( 0.70 ms per token, 1435.95 tokens per second)\n", - "llama_print_timings: prompt eval time = 15975.57 ms / 1408 tokens ( 11.35 ms per token, 88.13 tokens per second)\n", - "llama_print_timings: eval time = 4772.57 ms / 93 runs ( 51.32 ms per token, 19.49 tokens per second)\n", - "llama_print_timings: total time = 20959.57 ms\n" - ] - }, { "data": { "text/plain": [ - "{'output_text': ' You can use the `ReActAgent` class and pass it the desired tools as, for example, you would do like this to create an agent with the `Lookup` and `Search` tool:\\n```python\\nfrom langchain.agents.react import ReActAgent\\nfrom langchain_community.tools.lookup import Lookup\\nfrom langchain_community.tools.search import Search\\nReActAgent(Lookup(), Search())\\n```'}" + "\"A RunnableBinding is a high-level class in the LangChain framework. It's an abstraction layer that sits between a program and an LLM or other data source.\\n\\nThe main goal of a RunnableBinding is to enable a program, which may be a chat bot or a backend service, to fetch responses from an LLM or other data sources in a way that is easy for both the program and the data sources to use. This is achieved through a set of predefined protocols that are implemented by the RunnableBinding.\\n\\nThe protocols defined by a RunnableBinding include:\\n\\n1. Fetching inputs from the program. The RunnableBinding should be able to receive inputs from the program and translate them into a format that can be processed by the LLM or other data sources.\\n2. Translating outputs from the LLM or other data sources into something that can be returned to the program. This includes converting the raw output of an LLM into something that is easier for the program to process, such as text or a structured object.\\n3. Handling errors that may arise during the fetching, processing, and returning of responses from the LLM or other data sources. The RunnableBinding should be able to catch exceptions and errors that occur during these operations and return a suitable error message or response to the program.\\n4. Managing concurrency and parallelism in the communication with the LLM or other data sources. This may include things like allowing multiple requests to be sent to the LLM or other data sources simultaneously, handling the responses asynchronously, and retrying failed requests.\\n5. Providing a way for the program to set configuration options that affect how the RunnableBinding interacts with the LLM or other data sources. This could include things like setting up credentials, providing additional contextual information to the LLM or other data sources, and controlling logging or error handling behavior.\\n\\nIn summary, a RunnableBinding provides a way for a program to easily communicate with an LLM or other data sources without having to know about the details of how they work. By providing a consistent interface between the program and the data sources, the RunnableBinding enables more robust and scalable communication protocols that are easier for both parties to use.\\n\\nIn the context of the chatbot tutorial, a RunnableBinding may be used to fetch responses from an LLM and return them as output for the bot to process. The RunnableBinding could also be used to handle errors that occur during this process, such as providing error messages or retrying failed requests to the LLM.\\n\\nTo summarize:\\n\\n* A RunnableBinding provides a way for a program to communicate with an LLM or other data sources without having to know about the details of how they work.\\n* It enables more robust and scalable communication protocols that are easier for both parties to use.\\n* It manages concurrency and parallelism in the communication with the LLM or other data sources.\\n* It provides a way for the program to set configuration options that affect how the RunnableBinding interacts with the LLM or other data sources.\"" ] }, - "execution_count": 29, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Docs\n", - "question = \"How can I initialize a ReAct agent?\"\n", - "docs = retriever.get_relevant_documents(question)\n", - "\n", - "# Chain\n", - "chain = load_qa_chain(llm, chain_type=\"stuff\", prompt=QA_CHAIN_PROMPT)\n", - "\n", - "# Run\n", - "chain({\"input_documents\": docs, \"question\": question}, return_only_outputs=True)" + "# Run, only returning the value under the answer key for readability\n", + "qa_chain.pick(\"answer\").invoke({\"input\": \"What is a RunnableBinding?\"})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Here's the trace [RAG](https://smith.langchain.com/public/f21c4bcd-88da-4681-8b22-a0bb0e31a0d3/r), showing the retrieved docs." + "Not perfect, but it did pick up on the fact that it lets the developer set configuration option!\n", + "\n", + "Here's the [LangSmith trace](https://smith.langchain.com/public/d8bb2af8-99cd-406b-a870-f255f4a2423c/r) showing the retrieved docs used as context." ] } ], @@ -582,7 +511,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.10.5" } }, "nbformat": 4, diff --git a/docs/docs/use_cases/data_generation.ipynb b/docs/docs/use_cases/data_generation.ipynb index 5ac66c60818..8329f7251fe 100644 --- a/docs/docs/use_cases/data_generation.ipynb +++ b/docs/docs/use_cases/data_generation.ipynb @@ -7,6 +7,7 @@ "source": [ "---\n", "title: Synthetic data generation\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/extraction/how_to/handle_files.ipynb b/docs/docs/use_cases/extraction/how_to/handle_files.ipynb index b94c7e6030e..d0dc85e5a81 100644 --- a/docs/docs/use_cases/extraction/how_to/handle_files.ipynb +++ b/docs/docs/use_cases/extraction/how_to/handle_files.ipynb @@ -25,9 +25,9 @@ "\n", "## MIME type based parsing\n", "\n", - "For basic parsing exmaples take a look [at document loaders](/docs/modules/data_connection/document_loaders/).\n", + "For basic parsing examples take a look [at document loaders](/docs/modules/data_connection/document_loaders/).\n", "\n", - "Here, we'll be looking at mime-type based parsing which is often useful for extraction based applications if you're writing server code that accepts user uploaded files.\n", + "Here, we'll be looking at MIME-type based parsing which is often useful for extraction based applications if you're writing server code that accepts user uploaded files.\n", "\n", "In this case, it's best to assume that the file extension of the file provided by the user is wrong and instead infer the mimetype from the binary content of the file.\n", "\n", diff --git a/docs/docs/use_cases/extraction/index.ipynb b/docs/docs/use_cases/extraction/index.ipynb index 3122130a8a0..d20d2e3a238 100644 --- a/docs/docs/use_cases/extraction/index.ipynb +++ b/docs/docs/use_cases/extraction/index.ipynb @@ -6,8 +6,8 @@ "metadata": {}, "source": [ "---\n", - "title: Extraction\n", - "sidebar_position: 0.05\n", + "title: Extracting structured output\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/extraction/quickstart.ipynb b/docs/docs/use_cases/extraction/quickstart.ipynb index b69974d7b5a..fa8587ab39d 100644 --- a/docs/docs/use_cases/extraction/quickstart.ipynb +++ b/docs/docs/use_cases/extraction/quickstart.ipynb @@ -16,7 +16,7 @@ "id": "d28530a6-ddfd-49c0-85dc-b723551f6614", "metadata": {}, "source": [ - "In this quick start, we will use LLMs that are capable of **function/tool calling** to extract information from text.\n", + "In this quick start, we will use [chat models](/docs/modules/model_io/chat/) that are capable of **function/tool calling** to extract information from text.\n", "\n", ":::{.callout-important}\n", "Extraction using **function/tool calling** only works with [models that support **function/tool calling**](/docs/modules/model_io/chat/function_calling).\n", @@ -30,7 +30,7 @@ "source": [ "## Set up\n", "\n", - "We will use the new [structured output](/docs/guides/structured_output) method available on LLMs that are capable of **function/tool calling**. \n", + "We will use the [structured output](/docs/modules/model_io/chat/structured_output) method available on LLMs that are capable of **function/tool calling**. \n", "\n", "Select a model, install the dependencies for it and set up API keys!" ] @@ -158,7 +158,7 @@ "source": [ "We need to use a model that supports function/tool calling.\n", "\n", - "Please review [structured output](/docs/guides/structured_output) for list of some models that can be used with this API." + "Please review [structured output](/docs/modules/model_io/chat/structured_output) for list of some models that can be used with this API." ] }, { diff --git a/docs/docs/use_cases/graph/index.ipynb b/docs/docs/use_cases/graph/index.ipynb index 2a8de5e0f46..d01058c400c 100644 --- a/docs/docs/use_cases/graph/index.ipynb +++ b/docs/docs/use_cases/graph/index.ipynb @@ -5,7 +5,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0.4\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/graph/integrations/neptune_sparql_qa.ipynb b/docs/docs/use_cases/graph/integrations/neptune_sparql_qa.ipynb index adad232ad6c..8d37a91c320 100644 --- a/docs/docs/use_cases/graph/integrations/neptune_sparql_qa.ipynb +++ b/docs/docs/use_cases/graph/integrations/neptune_sparql_qa.ipynb @@ -248,8 +248,7 @@ "source": [ "import boto3\n", "from langchain.chains.graph_qa.neptune_sparql import NeptuneSparqlQAChain\n", - "from langchain.chat_models import BedrockChat\n", - "from langchain.llms import Bedrock\n", + "from langchain_community.chat_models import BedrockChat\n", "from langchain_community.graphs import NeptuneRdfGraph\n", "\n", "host = \"\"\n", diff --git a/docs/docs/use_cases/index.mdx b/docs/docs/use_cases/index.mdx new file mode 100644 index 00000000000..389a10c98a9 --- /dev/null +++ b/docs/docs/use_cases/index.mdx @@ -0,0 +1,19 @@ +--- +sidebar_class_name: hidden +--- + +# Use cases + +This section contains walkthroughs and techniques for common end-to-end use tasks. + +If you're looking to build something specific or are more of a hands-on learner, try one out! +While they reference building blocks that are explained in greater detail in other sections, we absolutely +encourage folks to get started by going through them and picking apart the code in a real-world context. + +Or, if you prefer to look at the fundamentals first, you can check out the sections on [Expression Language](/docs/expression_language/get_started) +and the various [components](/docs/modules) LangChain provides for more background knowledge. + +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from '@docusaurus/theme-common'; + + diff --git a/docs/docs/use_cases/query_analysis/index.ipynb b/docs/docs/use_cases/query_analysis/index.ipynb index aa95fdff49d..d4433c9862e 100644 --- a/docs/docs/use_cases/query_analysis/index.ipynb +++ b/docs/docs/use_cases/query_analysis/index.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0.3\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/query_analysis/quickstart.ipynb b/docs/docs/use_cases/query_analysis/quickstart.ipynb index f74b923a480..f5d383e1c14 100644 --- a/docs/docs/use_cases/query_analysis/quickstart.ipynb +++ b/docs/docs/use_cases/query_analysis/quickstart.ipynb @@ -384,7 +384,7 @@ "source": [ "### Query generation\n", "\n", - "To convert user questions to structured queries we'll make use of OpenAI's tool-calling API. Specifically we'll use the new [ChatModel.with_structured_output()](/docs/guides/structured_output) constructor to handle passing the schema to the model and parsing the output." + "To convert user questions to structured queries we'll make use of OpenAI's tool-calling API. Specifically we'll use the new [ChatModel.with_structured_output()](/docs/modules/model_io/chat/structured_output) constructor to handle passing the schema to the model and parsing the output." ] }, { diff --git a/docs/docs/use_cases/question_answering/chat_history.ipynb b/docs/docs/use_cases/question_answering/chat_history.ipynb index 265bc5912d6..45b2e3869df 100644 --- a/docs/docs/use_cases/question_answering/chat_history.ipynb +++ b/docs/docs/use_cases/question_answering/chat_history.ipynb @@ -322,6 +322,49 @@ ":::" ] }, + { + "cell_type": "markdown", + "id": "68ff9dd9-8492-418e-a889-c4d670c47d0b", + "metadata": {}, + "source": [ + "### Returning sources" + ] + }, + { + "cell_type": "markdown", + "id": "eff75637-ac5c-41c7-955a-8f58f9d2a89e", + "metadata": {}, + "source": [ + "Often in Q&A applications it's important to show users the sources that were used to generate the answer. LangChain's built-in `create_retrieval_chain` will propagate retrieved source documents through to the output in the `\"context\"` key:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "dc0eeca7-883a-4d67-a9fc-b0fa746e3bb2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "page_content='Tree of Thoughts (Yao et al. 2023) extends CoT by exploring multiple reasoning possibilities at each step. It first decomposes the problem into multiple thought steps and generates multiple thoughts per step, creating a tree structure. The search process can be BFS (breadth-first search) or DFS (depth-first search) with each state evaluated by a classifier (via a prompt) or majority vote.\\nTask decomposition can be done (1) by LLM with simple prompting like \"Steps for XYZ.\\\\n1.\", \"What are the subgoals for achieving XYZ?\", (2) by using task-specific instructions; e.g. \"Write a story outline.\" for writing a novel, or (3) with human inputs.' metadata={'source': 'https://lilianweng.github.io/posts/2023-06-23-agent/'}\n", + "\n", + "page_content='Fig. 1. Overview of a LLM-powered autonomous agent system.\\nComponent One: Planning#\\nA complicated task usually involves many steps. An agent needs to know what they are and plan ahead.\\nTask Decomposition#\\nChain of thought (CoT; Wei et al. 2022) has become a standard prompting technique for enhancing model performance on complex tasks. The model is instructed to β€œthink step by step” to utilize more test-time computation to decompose hard tasks into smaller and simpler steps. CoT transforms big tasks into multiple manageable tasks and shed lights into an interpretation of the model’s thinking process.' metadata={'source': 'https://lilianweng.github.io/posts/2023-06-23-agent/'}\n", + "\n", + "page_content='Resources:\\n1. Internet access for searches and information gathering.\\n2. Long Term memory management.\\n3. GPT-3.5 powered Agents for delegation of simple tasks.\\n4. File output.\\n\\nPerformance Evaluation:\\n1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.\\n2. Constructively self-criticize your big-picture behavior constantly.\\n3. Reflect on past decisions and strategies to refine your approach.\\n4. Every command has a cost, so be smart and efficient. Aim to complete tasks in the least number of steps.' metadata={'source': 'https://lilianweng.github.io/posts/2023-06-23-agent/'}\n", + "\n", + "page_content='Fig. 11. Illustration of how HuggingGPT works. (Image source: Shen et al. 2023)\\nThe system comprises of 4 stages:\\n(1) Task planning: LLM works as the brain and parses the user requests into multiple tasks. There are four attributes associated with each task: task type, ID, dependencies, and arguments. They use few-shot examples to guide LLM to do task parsing and planning.\\nInstruction:' metadata={'source': 'https://lilianweng.github.io/posts/2023-06-23-agent/'}\n", + "\n" + ] + } + ], + "source": [ + "for document in ai_msg_2[\"context\"]:\n", + " print(document)\n", + " print()" + ] + }, { "cell_type": "markdown", "id": "0ab1ded4-76d9-453f-9b9b-db9a4560c737", diff --git a/docs/docs/use_cases/question_answering/index.ipynb b/docs/docs/use_cases/question_answering/index.ipynb index af23b8e3aa0..e1ac8f8d65e 100644 --- a/docs/docs/use_cases/question_answering/index.ipynb +++ b/docs/docs/use_cases/question_answering/index.ipynb @@ -6,8 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0\n", - "collapsed: true\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/question_answering/local_retrieval_qa.ipynb b/docs/docs/use_cases/question_answering/local_retrieval_qa.ipynb index 1a3ca0a8b22..aff5c342c1f 100644 --- a/docs/docs/use_cases/question_answering/local_retrieval_qa.ipynb +++ b/docs/docs/use_cases/question_answering/local_retrieval_qa.ipynb @@ -11,7 +11,7 @@ "\n", "LangChain has [integrations](https://integrations.langchain.com/) with many open-source LLMs that can be run locally.\n", "\n", - "See [here](/docs/guides/local_llms) for setup instructions for these LLMs. \n", + "See [here](/docs/guides/development/local_llms) for setup instructions for these LLMs. \n", "\n", "For example, here we show how to run `GPT4All` or `LLaMA2` locally (e.g., on your laptop) using local embeddings and a local LLM.\n", "\n", @@ -145,7 +145,7 @@ " \n", "And / or, you can download a GGUF converted model (e.g., [here](https://huggingface.co/TheBloke)).\n", "\n", - "Finally, as noted in detail [here](/docs/guides/local_llms) install `llama-cpp-python`" + "Finally, as noted in detail [here](/docs/guides/development/local_llms) install `llama-cpp-python`" ] }, { diff --git a/docs/docs/use_cases/question_answering/per_user.ipynb b/docs/docs/use_cases/question_answering/per_user.ipynb index dbc50e223bf..cc30729b86b 100644 --- a/docs/docs/use_cases/question_answering/per_user.ipynb +++ b/docs/docs/use_cases/question_answering/per_user.ipynb @@ -27,7 +27,7 @@ "\n", "**Step 2: Add that parameter as a configurable field for the chain**\n", "\n", - "This will let you easily call the chain and configure any relevant flags at runtime. See [this documentation](/docs/expression_language/how_to/configure) for more information on configuration.\n", + "This will let you easily call the chain and configure any relevant flags at runtime. See [this documentation](/docs/expression_language/primitives/configure) for more information on configuration.\n", "\n", "**Step 3: Call the chain with that configurable field**\n", "\n", diff --git a/docs/docs/use_cases/question_answering/quickstart.mdx b/docs/docs/use_cases/question_answering/quickstart.mdx index d0c1d70f751..9ccce7eaaef 100644 --- a/docs/docs/use_cases/question_answering/quickstart.mdx +++ b/docs/docs/use_cases/question_answering/quickstart.mdx @@ -5,8 +5,6 @@ title: Quickstart # Quickstart -[![](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/langchain-ai/langchain/blob/master/docs/docs/use_cases/question_answering/quickstart.ipynb) - LangChain has a number of components designed to help build question-answering applications, and RAG applications more generally. To familiarize ourselves with these, we’ll build a simple Q&A application @@ -32,7 +30,7 @@ passes that to the model. The full sequence from raw data to answer will look like: -#### Indexing +### Indexing 1. **Load**: First we need to load our data. We’ll use [DocumentLoaders](../../../docs/modules/data_connection/document_loaders/) @@ -50,7 +48,7 @@ The full sequence from raw data to answer will look like: [Embeddings](../../../docs/modules/data_connection/text_embedding/) model. -#### Retrieval and generation +### Retrieval and generation 1. **Retrieve**: Given a user input, relevant splits are retrieved from storage using a diff --git a/docs/docs/use_cases/csv.ipynb b/docs/docs/use_cases/sql/csv.ipynb similarity index 99% rename from docs/docs/use_cases/csv.ipynb rename to docs/docs/use_cases/sql/csv.ipynb index fa8cbdbcb41..a3d1c7e4966 100644 --- a/docs/docs/use_cases/csv.ipynb +++ b/docs/docs/use_cases/sql/csv.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0.3\n", + "sidebar_position: 5\n", "---" ] }, diff --git a/docs/docs/use_cases/sql/index.ipynb b/docs/docs/use_cases/sql/index.ipynb index 9b415ce954c..1d80832fb8e 100644 --- a/docs/docs/use_cases/sql/index.ipynb +++ b/docs/docs/use_cases/sql/index.ipynb @@ -5,7 +5,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0.1\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/sql/quickstart.ipynb b/docs/docs/use_cases/sql/quickstart.ipynb index ba94f8866d0..084fb66fc44 100644 --- a/docs/docs/use_cases/sql/quickstart.ipynb +++ b/docs/docs/use_cases/sql/quickstart.ipynb @@ -51,7 +51,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We default to OpenAI models in this guide." + "We will use an OpenAI model in this guide." ] }, { @@ -129,7 +129,7 @@ "\n", "### Convert question to SQL query\n", "\n", - "The first step in a SQL chain or agent is to take the user input and convert it to a SQL query. LangChain comes with a built-in chain for this: [create_sql_query_chain](https://api.python.langchain.com/en/latest/chains/langchain.chains.sql_database.query.create_sql_query_chain.html)" + "The first step in a SQL chain or agent is to take the user input and convert it to a SQL query. LangChain comes with a built-in chain for this: [create_sql_query_chain](https://api.python.langchain.com/en/latest/chains/langchain.chains.sql_database.query.create_sql_query_chain.html)." ] }, { diff --git a/docs/docs/use_cases/summarization.ipynb b/docs/docs/use_cases/summarization.ipynb index c637e0fa87e..75684b006b5 100644 --- a/docs/docs/use_cases/summarization.ipynb +++ b/docs/docs/use_cases/summarization.ipynb @@ -7,6 +7,7 @@ "source": [ "---\n", "title: Summarization\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docs/use_cases/tagging.ipynb b/docs/docs/use_cases/tagging.ipynb index 5d0c86de1a9..2685e3d8b05 100644 --- a/docs/docs/use_cases/tagging.ipynb +++ b/docs/docs/use_cases/tagging.ipynb @@ -7,6 +7,7 @@ "source": [ "---\n", "title: Tagging\n", + "sidebar_class_name: hidden\n", "---" ] }, @@ -38,7 +39,7 @@ "\n", "## Quickstart\n", "\n", - "Let's see a very straightforward example of how we can use OpenAI functions for tagging in LangChain." + "Let's see a very straightforward example of how we can use OpenAI tool calling for tagging in LangChain. We'll use the [`with_structured_output`](/docs/modules/model_io/chat/structured_output) method supported by OpenAI models:" ] }, { @@ -48,95 +49,111 @@ "metadata": {}, "outputs": [], "source": [ - "%pip install --upgrade --quiet langchain langchain-openai\n", + "%pip install --upgrade --quiet langchain langchain-openai\n", "\n", "# Set env var OPENAI_API_KEY or load from a .env file:\n", "# import dotenv\n", "# dotenv.load_dotenv()" ] }, - { - "cell_type": "code", - "execution_count": 1, - "id": "bafb496a", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.chains import create_tagging_chain, create_tagging_chain_pydantic\n", - "from langchain_openai import ChatOpenAI" - ] - }, { "cell_type": "markdown", "id": "b8ca3f93", "metadata": {}, "source": [ - "We specify a few properties with their expected type in our schema." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "39f3ce3e", - "metadata": {}, - "outputs": [], - "source": [ - "# Schema\n", - "schema = {\n", - " \"properties\": {\n", - " \"sentiment\": {\"type\": \"string\"},\n", - " \"aggressiveness\": {\"type\": \"integer\"},\n", - " \"language\": {\"type\": \"string\"},\n", - " }\n", - "}\n", - "\n", - "# LLM\n", - "llm = ChatOpenAI(temperature=0, model=\"gpt-3.5-turbo-0613\")\n", - "chain = create_tagging_chain(schema, llm)" + "Let's specify a Pydantic model with a few properties and their expected type in our schema." ] }, { "cell_type": "code", "execution_count": 4, + "id": "39f3ce3e", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_core.pydantic_v1 import BaseModel, Field\n", + "from langchain_openai import ChatOpenAI\n", + "\n", + "tagging_prompt = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", + "Extract the desired information from the following passage.\n", + "\n", + "Only extract the properties mentioned in the 'Classification' function.\n", + "\n", + "Passage:\n", + "{input}\n", + "\"\"\"\n", + ")\n", + "\n", + "\n", + "class Classification(BaseModel):\n", + " sentiment: str = Field(description=\"The sentiment of the text\")\n", + " aggressiveness: int = Field(\n", + " description=\"How aggressive the text is on a scale from 1 to 10\"\n", + " )\n", + " language: str = Field(description=\"The language the text is written in\")\n", + "\n", + "\n", + "# LLM\n", + "llm = ChatOpenAI(temperature=0, model=\"gpt-3.5-turbo-0125\").with_structured_output(\n", + " Classification\n", + ")\n", + "\n", + "tagging_chain = tagging_prompt | llm" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "id": "5509b6a6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'sentiment': 'positive', 'language': 'Spanish'}" + "Classification(sentiment='positive', aggressiveness=1, language='Spanish')" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inp = \"Estoy increiblemente contento de haberte conocido! Creo que seremos muy buenos amigos!\"\n", - "chain.run(inp)" + "tagging_chain.invoke({\"input\": inp})" + ] + }, + { + "cell_type": "markdown", + "id": "ff3cf30d", + "metadata": {}, + "source": [ + "If we want JSON output, we can just call `.dict()`" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 13, "id": "9154474c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'sentiment': 'enojado', 'aggressiveness': 1, 'language': 'es'}" + "{'sentiment': 'negative', 'aggressiveness': 8, 'language': 'Spanish'}" ] }, - "execution_count": 5, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inp = \"Estoy muy enojado con vos! Te voy a dar tu merecido!\"\n", - "chain.run(inp)" + "res = tagging_chain.invoke({\"input\": inp})\n", + "res.dict()" ] }, { @@ -146,7 +163,7 @@ "source": [ "As we can see in the examples, it correctly interprets what we want.\n", "\n", - "The results vary so that we get, for example, sentiments in different languages ('positive', 'enojado' etc.).\n", + "The results vary so that we may get, for example, sentiments in different languages ('positive', 'enojado' etc.).\n", "\n", "We will see how to control these results in the next section." ] @@ -172,167 +189,17 @@ "id": "69ef0b9a", "metadata": {}, "source": [ - "Here is an example of how we can use `_enum_`, `_description_`, and `_required_` to control for each of the previously mentioned aspects:" + "Let's redeclare our Pydantic model to control for each of the previously mentioned aspects using enums:" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 14, "id": "6a5f7961", "metadata": {}, "outputs": [], "source": [ - "schema = {\n", - " \"properties\": {\n", - " \"aggressiveness\": {\n", - " \"type\": \"integer\",\n", - " \"enum\": [1, 2, 3, 4, 5],\n", - " \"description\": \"describes how aggressive the statement is, the higher the number the more aggressive\",\n", - " },\n", - " \"language\": {\n", - " \"type\": \"string\",\n", - " \"enum\": [\"spanish\", \"english\", \"french\", \"german\", \"italian\"],\n", - " },\n", - " },\n", - " \"required\": [\"language\", \"sentiment\", \"aggressiveness\"],\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e5a5881f", - "metadata": {}, - "outputs": [], - "source": [ - "chain = create_tagging_chain(schema, llm)" - ] - }, - { - "cell_type": "markdown", - "id": "5ded2332", - "metadata": {}, - "source": [ - "Now the answers are much better!" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "d9b9d53d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'aggressiveness': 0, 'language': 'spanish'}" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inp = \"Estoy increiblemente contento de haberte conocido! Creo que seremos muy buenos amigos!\"\n", - "chain.run(inp)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "1c12fa00", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'aggressiveness': 5, 'language': 'spanish'}" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inp = \"Estoy muy enojado con vos! Te voy a dar tu merecido!\"\n", - "chain.run(inp)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "0bdfcb05", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'aggressiveness': 0, 'language': 'english'}" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "inp = \"Weather is ok here, I can go outside without much more than a coat\"\n", - "chain.run(inp)" - ] - }, - { - "cell_type": "markdown", - "id": "cf6b7389", - "metadata": {}, - "source": [ - "The [LangSmith trace](https://smith.langchain.com/public/311e663a-bbe8-4053-843e-5735055c032d/r) lets us peek under the hood:\n", - "\n", - "* As with [extraction](/docs/use_cases/extraction), we call the `information_extraction` function [here](https://github.com/langchain-ai/langchain/blob/269f85b7b7ffd74b38cd422d4164fc033388c3d0/libs/langchain/langchain/chains/openai_functions/extraction.py#L20) on the input string.\n", - "* This OpenAI function extraction information based upon the provided schema.\n", - "\n", - "![Image description](../../static/img/tagging_trace.png)" - ] - }, - { - "cell_type": "markdown", - "id": "e68ad17e", - "metadata": {}, - "source": [ - "## Pydantic" - ] - }, - { - "cell_type": "markdown", - "id": "2f5970ec", - "metadata": {}, - "source": [ - "We can also use a Pydantic schema to specify the required properties and types. \n", - "\n", - "We can also send other arguments, such as `enum` or `description`, to each field.\n", - "\n", - "This lets us specify our schema in the same manner that we would a new class or function in Python with purely Pythonic types." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "bf1f367e", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.pydantic_v1 import BaseModel, Field" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "83a2e826", - "metadata": {}, - "outputs": [], - "source": [ - "class Tags(BaseModel):\n", + "class Classification(BaseModel):\n", " sentiment: str = Field(..., enum=[\"happy\", \"neutral\", \"sad\"])\n", " aggressiveness: int = Field(\n", " ...,\n", @@ -346,44 +213,111 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "6e404892", + "execution_count": 15, + "id": "e5a5881f", "metadata": {}, "outputs": [], "source": [ - "chain = create_tagging_chain_pydantic(Tags, llm)" + "tagging_prompt = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", + "Extract the desired information from the following passage.\n", + "\n", + "Only extract the properties mentioned in the 'Classification' function.\n", + "\n", + "Passage:\n", + "{input}\n", + "\"\"\"\n", + ")\n", + "\n", + "llm = ChatOpenAI(temperature=0, model=\"gpt-3.5-turbo-0125\").with_structured_output(\n", + " Classification\n", + ")\n", + "\n", + "chain = tagging_prompt | llm" + ] + }, + { + "cell_type": "markdown", + "id": "5ded2332", + "metadata": {}, + "source": [ + "Now the answers will be restricted in a way we expect!" ] }, { "cell_type": "code", - "execution_count": 9, - "id": "b5fc43c4", - "metadata": {}, - "outputs": [], - "source": [ - "inp = \"Estoy muy enojado con vos! Te voy a dar tu merecido!\"\n", - "res = chain.run(inp)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "5074bcc3", + "execution_count": 17, + "id": "d9b9d53d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Tags(sentiment='sad', aggressiveness=5, language='spanish')" + "Classification(sentiment='happy', aggressiveness=1, language='spanish')" ] }, - "execution_count": 10, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "res" + "inp = \"Estoy increiblemente contento de haberte conocido! Creo que seremos muy buenos amigos!\"\n", + "chain.invoke({\"input\": inp})" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "1c12fa00", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Classification(sentiment='sad', aggressiveness=5, language='spanish')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "inp = \"Estoy muy enojado con vos! Te voy a dar tu merecido!\"\n", + "chain.invoke({\"input\": inp})" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "0bdfcb05", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Classification(sentiment='neutral', aggressiveness=2, language='english')" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "inp = \"Weather is ok here, I can go outside without much more than a coat\"\n", + "chain.invoke({\"input\": inp})" + ] + }, + { + "cell_type": "markdown", + "id": "cf6b7389", + "metadata": {}, + "source": [ + "The [LangSmith trace](https://smith.langchain.com/public/38294e04-33d8-4c5a-ae92-c2fe68be8332/r) lets us peek under the hood:\n", + "\n", + "![Image description](../../static/img/tagging_trace.png)" ] }, { @@ -414,7 +348,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.1" + "version": "3.10.5" } }, "nbformat": 4, diff --git a/docs/docs/use_cases/tool_use/agents.ipynb b/docs/docs/use_cases/tool_use/agents.ipynb index 77cbef71d66..eede7740d6e 100644 --- a/docs/docs/use_cases/tool_use/agents.ipynb +++ b/docs/docs/use_cases/tool_use/agents.ipynb @@ -80,7 +80,7 @@ "source": [ "## Create tools\n", "\n", - "First, we need to create some tool to call. For this example, we will create custom tools from functions. For more information on creating custom tools, please see [this guide](/docs/modules/agents/tools/)." + "First, we need to create some tool to call. For this example, we will create custom tools from functions. For more information on creating custom tools, please see [this guide](/docs/modules/tools/)." ] }, { diff --git a/docs/docs/use_cases/tool_use/index.ipynb b/docs/docs/use_cases/tool_use/index.ipynb index 0f18e5f9d37..c5e71acf4ef 100644 --- a/docs/docs/use_cases/tool_use/index.ipynb +++ b/docs/docs/use_cases/tool_use/index.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "---\n", - "sidebar_position: 0.2\n", + "sidebar_class_name: hidden\n", "---" ] }, @@ -15,7 +15,7 @@ "id": "14b94240", "metadata": {}, "source": [ - "# Tool use\n", + "# Tool use and agents\n", "\n", "An exciting use case for LLMs is building natural language interfaces for other \"tools\", whether those are APIs, functions, databases, etc. LangChain is great for building such interfaces because it has:\n", "\n", diff --git a/docs/docs/use_cases/tool_use/prompting.ipynb b/docs/docs/use_cases/tool_use/prompting.ipynb index 6cd877fe2e4..09dcf0b4607 100644 --- a/docs/docs/use_cases/tool_use/prompting.ipynb +++ b/docs/docs/use_cases/tool_use/prompting.ipynb @@ -72,7 +72,7 @@ "source": [ "## Create a tool\n", "\n", - "First, we need to create a tool to call. For this example, we will create a custom tool from a function. For more information on all details related to creating custom tools, please see [this guide](/docs/modules/agents/tools/)." + "First, we need to create a tool to call. For this example, we will create a custom tool from a function. For more information on all details related to creating custom tools, please see [this guide](/docs/modules/tools/)." ] }, { diff --git a/docs/docs/use_cases/tool_use/quickstart.ipynb b/docs/docs/use_cases/tool_use/quickstart.ipynb index d8b335920f4..d363ab853ae 100644 --- a/docs/docs/use_cases/tool_use/quickstart.ipynb +++ b/docs/docs/use_cases/tool_use/quickstart.ipynb @@ -72,7 +72,7 @@ "source": [ "## Create a tool\n", "\n", - "First, we need to create a tool to call. For this example, we will create a custom tool from a function. For more information on creating custom tools, please see [this guide](/docs/modules/agents/tools/)." + "First, we need to create a tool to call. For this example, we will create a custom tool from a function. For more information on creating custom tools, please see [this guide](/docs/modules/tools/)." ] }, { diff --git a/docs/docs/use_cases/web_scraping.ipynb b/docs/docs/use_cases/web_scraping.ipynb index a8524061a77..f62aaeea1f8 100644 --- a/docs/docs/use_cases/web_scraping.ipynb +++ b/docs/docs/use_cases/web_scraping.ipynb @@ -7,6 +7,7 @@ "source": [ "---\n", "title: Web scraping\n", + "sidebar_class_name: hidden\n", "---" ] }, diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 6b0bbf85fa8..6fdc10f9497 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -149,16 +149,10 @@ const config = { logo: {src: "img/brand/wordmark.png", srcDark: "img/brand/wordmark-dark.png"}, items: [ { - to: "/docs/get_started/introduction", - label: "Docs", + to: "/docs/modules", + label: "Components", position: "left", }, - { - type: "docSidebar", - position: "left", - sidebarId: "use_cases", - label: "Use cases", - }, { type: "docSidebar", position: "left", @@ -166,14 +160,13 @@ const config = { label: "Integrations", }, { - type: "docSidebar", - position: "left", - sidebarId: "guides", + to: "/docs/guides", label: "Guides", + position: "left", }, { href: "https://api.python.langchain.com", - label: "API", + label: "API Reference", position: "left", }, { @@ -189,11 +182,6 @@ const config = { to: "/docs/packages", label: "Versioning", }, - { - type: "docSidebar", - sidebarId: "changelog", - label: "Changelog", - }, { to: "/docs/contributing", label: "Contributing", diff --git a/docs/sidebars.js b/docs/sidebars.js index aa28a21dfd9..802178d5578 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -18,7 +18,7 @@ Create as many sidebars as you want. */ -module.exports = { + module.exports = { // By default, Docusaurus generates a sidebar from the docs folder structure docs: [ { @@ -26,18 +26,111 @@ module.exports = { label: "Get started", collapsed: false, collapsible: false, - items: [{ type: "autogenerated", dirName: "get_started" }, "security"], + items: [{ type: "autogenerated", dirName: "get_started" }], link: { - type: 'generated-index', - description: 'Get started with LangChain', - slug: "get_started", + type: 'doc', + id: "get_started/introduction" }, }, { type: "category", - label: "LangChain Expression Language", + label: "Use cases", collapsed: false, - items: [{ type: "autogenerated", dirName: "expression_language" } ], + collapsible: false, + items: [ + { + type: "category", + label: "Q&A with RAG", + collapsed: true, + items: [ + "use_cases/question_answering/quickstart", + "use_cases/question_answering/chat_history", + "use_cases/question_answering/streaming", + "use_cases/question_answering/sources", + "use_cases/question_answering/citations", + { + type: "category", + label: "More", + collapsed: true, + items: [ + "use_cases/question_answering/per_user", + "use_cases/question_answering/conversational_retrieval_agents", + "use_cases/question_answering/local_retrieval_qa", + ] + }, + ], + link: { type: "doc", id: "use_cases/question_answering/index" } + }, + { + type: "category", + label: "Extracting structured output", + link: { type: "doc", id: "use_cases/extraction/index" }, + collapsed: true, + items: [ + "use_cases/extraction/quickstart", + "use_cases/extraction/guidelines", + "use_cases/extraction/how_to/examples", + { + type: "category", + label: "More", + collapsed: true, + items: [ + "use_cases/extraction/how_to/handle_long_text", + "use_cases/extraction/how_to/handle_files", + "use_cases/extraction/how_to/parse", + ] + }, + ] + }, + { type: "category", label: "Chatbots", collapsed: true, items: [{ type: "autogenerated", dirName: "use_cases/chatbots" }], link: { type: "doc", id: "use_cases/chatbots/index" } }, + { type: "category", label: "Tool use and agents", collapsed: true, items: [{ type: "autogenerated", dirName: "use_cases/tool_use" }], link: { type: "doc", id: "use_cases/tool_use/index" } }, + { type: "category", label: "Query analysis", collapsed: true, items: [{ type: "autogenerated", dirName: "use_cases/query_analysis" }], link: { type: "doc", id: "use_cases/query_analysis/index" } }, + { type: "category", label: "Q&A over SQL + CSV", collapsed: true, items: [{ type: "autogenerated", dirName: "use_cases/sql" }], link: { type: "doc", id: "use_cases/sql/index" } }, + { + type: "category", + label: "More", + collapsed: true, + items: [ + // "use_cases/apis", + { type: "category", label: "Graphs", collapsed: true, items: [{ type: "autogenerated", dirName: "use_cases/graph", }], link: { type: "doc", id: "use_cases/graph/index" } }, + "use_cases/code_understanding", + "use_cases/data_generation", + "use_cases/tagging", + "use_cases/summarization", + "use_cases/web_scraping" + ] + } + ], + link: { + type: 'doc', + id: "use_cases/index" + }, + }, + { + type: "category", + label: "Expression Language", + collapsed: false, + collapsible: false, + items: [ + "expression_language/get_started", + "expression_language/interface", + { type: "category", label: "Primitives", collapsed: true, items: [{ type: "autogenerated", dirName: "expression_language/primitives", }], link: { type: "doc", id: "expression_language/primitives/index" } }, + "expression_language/why", + "expression_language/streaming", + "expression_language/how_to/message_history", + { + type: "category", + label: "More", + collapsed: true, + items: [ + "expression_language/how_to/routing", + "expression_language/how_to/inspect", + "expression_language/how_to/decorator", + "expression_language/cookbook/prompt_size", + "expression_language/cookbook/multiple_chains", + ] + }, + ], link: { type: 'doc', id: "expression_language/index" @@ -45,40 +138,129 @@ module.exports = { }, { type: "category", - label: "Modules", + label: "Ecosystem", collapsed: false, + collapsible: false, items: [ - { type: "category", label: "Model I/O", collapsed: true, items: [{type:"autogenerated", dirName: "modules/model_io" }], link: { type: 'doc', id: "modules/model_io/index" }}, - { type: "category", label: "Retrieval", collapsed: true, items: [{type:"autogenerated", dirName: "modules/data_connection" }], link: { type: 'doc', id: "modules/data_connection/index" }}, - { type: "category", label: "Agents", collapsed: true, items: [{type:"autogenerated", dirName: "modules/agents" }], link: { type: 'doc', id: "modules/agents/index" }}, - "modules/chains", { type: "category", - label: "More", + label: "πŸ¦œπŸ› οΈ LangSmith", collapsed: true, - items: [ - { type: "category", label: "Memory", collapsed: true, items: [{type:"autogenerated", dirName: "modules/memory" }], link: { type: 'doc', id: "modules/memory/index" }}, - { type: "category", label: "Callbacks", collapsed: true, items: [{type:"autogenerated", dirName: "modules/callbacks" }], link: { type: 'doc', id: "modules/callbacks/index" }}, - ] - } - ], - link: { - type: 'doc', - id: "modules/index" - }, + items: [{ type: "autogenerated", dirName: "langsmith" } ], + link: { + type: 'doc', + id: "langsmith/index" + }, + }, + "langgraph", + "langserve", + ] }, - {type: "doc", id: "langserve", label: "LangServe"}, + "security" + ], + components: [ { type: "category", - label: "LangSmith", - collapsed: true, - items: [{ type: "autogenerated", dirName: "langsmith" } ], - link: { - type: 'doc', - id: "langsmith/index" - }, + label: "Model I/O", + collapsed: false, + collapsible: false, + link: { type: "doc", id: "modules/model_io/index" }, + items: [ + { + type: "category", + label: "Prompts", + items: [{ type: "autogenerated", dirName: "modules/model_io/prompts" }], + link: { type: "doc", id: "modules/model_io/prompts/index" } + }, + { + type: "category", + label: "Chat models", + items: [{ type: "autogenerated", dirName: "modules/model_io/chat" }], + link: { type: "doc", id: "modules/model_io/chat/index" } + }, + { + type: "category", + label: "LLMs", + items: [{ type: "autogenerated", dirName: "modules/model_io/llms" }], + link: { type: "doc", id: "modules/model_io/llms/index" } + }, + { + type: "category", + label: "Output parsers", + items: [{ type: "autogenerated", dirName: "modules/model_io/output_parsers" }], + link: { type: "doc", id: "modules/model_io/output_parsers/index" } + }, + ], }, - {type: "doc", id: "langgraph", label: "LangGraph"}, + { + type: "category", + label: "Retrieval", + collapsed: false, + collapsible: false, + link: { type: "doc", id: "modules/data_connection/index" }, + items: [ + { + type: "category", + label: "Document loaders", + items: [{ type: "autogenerated", dirName: "modules/data_connection/document_loaders" }], + link: { type: "doc", id: "modules/data_connection/document_loaders/index" } + }, + { + type: "category", + label: "Text splitters", + items: [{ type: "autogenerated", dirName: "modules/data_connection/document_transformers" }], + link: { type: "doc", id: "modules/data_connection/document_transformers/index" } + }, + { + type: "category", + label: "Embedding models", + items: [{ type: "autogenerated", dirName: "modules/data_connection/text_embedding" }], + link: { type: "doc", id: "modules/data_connection/text_embedding/index" } + }, + "modules/data_connection/vectorstores/index", + { + type: "category", + label: "Retrievers", + items: [{ type: "autogenerated", dirName: "modules/data_connection/retrievers" }], + link: { type: "doc", id: "modules/data_connection/retrievers/index" } + }, + "modules/data_connection/indexing" + ], + }, + { + type: "category", + label: "Composition", + collapsed: false, + collapsible: false, + items: [ + { type: "category", label: "Tools", collapsed: true, items: [{ type: "autogenerated", dirName: "modules/tools" }], link: { type: 'doc', id: "modules/tools/index" }}, + { type: "category", label: "Agents", collapsed: true, items: [{ type: "autogenerated", dirName: "modules/agents" }], link: { type: 'doc', id: "modules/agents/index" }}, + "modules/chains" + ], + link: { type: "doc", id: "modules/composition" } + }, + { + type: "category", + label: "More", + collapsed: true, + items: [ + { type: "category", label: "Memory", collapsed: true, items: [ + "modules/memory/chat_messages/index", + {type: "category", label: "Memory classes [BETA]", collapsed: true, items: [ + "modules/memory/adding_memory", + "modules/memory/adding_memory_chain_multiple_inputs", + "modules/memory/agent_with_memory", + "modules/memory/agent_with_memory_in_db", + "modules/memory/conversational_customization", + "modules/memory/custom_memory", + "modules/memory/multiple_memory", + { type: "category", label: "Types", collapsed: true, items: [{ type: "autogenerated", dirName: "modules/memory/types" }]} + ]} + ], link: { type: 'doc', id: "modules/memory/index" }}, + { type: "category", label: "Callbacks", collapsed: true, items: [{type:"autogenerated", dirName: "modules/callbacks" }], link: { type: 'doc', id: "modules/callbacks/index" }}, + ] + }, + { type: "doc", id: "modules/index", className: "hidden" }, ], integrations: [ { @@ -99,8 +281,8 @@ module.exports = { label: "Components", collapsible: false, items: [ - { type: "category", label: "LLMs", collapsed: true, items: [{type:"autogenerated", dirName: "integrations/llms" }], link: { type: 'doc', id: "integrations/llms/index"}}, { type: "category", label: "Chat models", collapsed: true, items: [{type:"autogenerated", dirName: "integrations/chat" }], link: { type: 'doc', id: "integrations/chat/index"}}, + { type: "category", label: "LLMs", collapsed: true, items: [{type:"autogenerated", dirName: "integrations/llms" }], link: { type: 'doc', id: "integrations/llms/index"}}, { type: "category", label: "Embedding models", collapsed: true, items: [{type: "autogenerated", dirName: "integrations/text_embedding" }], link: {type: "generated-index", slug: "integrations/text_embedding" }}, { type: "category", label: "Document loaders", collapsed: true, items: [{type:"autogenerated", dirName: "integrations/document_loaders" }], link: {type: "generated-index", slug: "integrations/document_loaders" }}, { type: "category", label: "Document transformers", collapsed: true, items: [{type: "autogenerated", dirName: "integrations/document_transformers" }], link: {type: "generated-index", slug: "integrations/document_transformers" }}, @@ -120,18 +302,22 @@ module.exports = { }, }, ], - use_cases: [ + guides: [ + { + type: "category", label: "Development", collapsible: false, items: [{type: "autogenerated", dirName: "guides/development" }], + link: { type: "doc", id: "guides/development/index"}, + }, { type: "category", - label: "Use cases", - items: [ - { type: "autogenerated", dirName: "use_cases" }, - ], - link: { type: 'generated-index', slug: "use_cases"} + label: "Productionization", + collapsible: false, + items: [{type: "autogenerated", dirName: "guides/productionization" }], + link: { + type: "doc", + id: "guides/productionization/index", + } }, - ], - guides: [ - {type: "autogenerated", dirName: "guides" } + { type: "doc", id: "guides/index", className: "hidden" }, ], templates: [ { @@ -143,15 +329,7 @@ module.exports = { link: { type: 'doc', id: "templates/index" } }, ], - changelog: [ - { - type: "category", - label: "Changelog", - items: [{ type: "autogenerated", dirName: "changelog" }], - link: { type: 'generated-index', slug: "changelog"} - }, - ], contributing: [ - {type: "autogenerated", dirName: "contributing" } + { type: "category", label: "Contributing", items: [{type: "autogenerated", dirName: "contributing" }] } ], }; diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index b433f41aa40..d486a725b5e 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -12,6 +12,16 @@ * bundles Infima by default. Infima is a CSS framework designed to * work well for content-centric websites. */ + + @font-face { + font-family: 'Manrope'; + src: url('/fonts/Manrope-VariableFont_wght.ttf') format('truetype'); +} + +@font-face { + font-family: 'Public Sans'; + src: url('/fonts/PublicSans-VariableFont_wght.ttf') format('truetype'); +} /* You can override the default Infima variables here. */ :root { @@ -22,7 +32,12 @@ --ifm-color-primary-light: #33925d; --ifm-color-primary-lighter: #359962; --ifm-color-primary-lightest: #3cad6e; + --ifm-font-weight-bold: 600; --ifm-code-font-size: 95%; + --ifm-font-family-base: 'Public Sans'; + --ifm-menu-link-padding-horizontal: 0.5rem; + --ifm-menu-link-padding-vertical: 0.375rem; + --doc-sidebar-width: 275px !important; } /* For readability concerns, you should choose a lighter palette in dark mode. */ @@ -36,6 +51,10 @@ --ifm-color-primary-lightest: #4fddbf; } +nav, h1, h2, h3, h4 { + font-family: 'Manrope'; +} + .footer__links { margin-top: 1rem; margin-bottom: 3rem; @@ -83,6 +102,86 @@ font-size: 0.85rem; } +/* .theme-code-block.language-python::before { + content: ""; + padding: 2px 12px; + background-color: var(--ifm-color-primary-light); + color: #ffffff; + font-weight: bold; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + display: block; + margin-bottom: 12px; + font-size: 0.6em; + width: 100%; + box-sizing: border-box; + position: relative; +} */ + +.theme-code-block.language-python, +.theme-code-block.language-javascript, +.theme-code-block.language-js, +.theme-code-block.language-typescript, +.theme-code-block.language-ts { + position: relative; /* Ensure this is set so the ::before pseudo-element is positioned relative to this element */ + padding-left: 4px; + border: 1px solid var(--ifm-color-primary-darkest); +} + +.theme-code-block.language-python::before, +.theme-code-block.language-javascript::before, +.theme-code-block.language-js::before, +.theme-code-block.language-typescript::before, +.theme-code-block.language-ts::before { + content: ""; + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 3px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + background-color: var(--ifm-color-primary-light); + z-index: 1; +} + +.theme-doc-sidebar-menu > .theme-doc-sidebar-item-category:not(:first-of-type), +.theme-doc-sidebar-menu > .theme-doc-sidebar-item-link, +.theme-doc-sidebar-menu > .theme-doc-sidebar-item-link.theme-doc-sidebar-item-link-level-1 { + margin-top: 1rem; +} + +.theme-doc-sidebar-menu .theme-doc-sidebar-item-link, +.theme-doc-sidebar-menu .theme-doc-sidebar-item-category { + margin-top: 0; + padding-bottom: 0; + padding-top: 0; +} + +.theme-doc-sidebar-menu .theme-doc-sidebar-item-category > ul { + margin-top: 0; +} + +.theme-doc-sidebar-menu .theme-doc-sidebar-item-link a, +.theme-doc-sidebar-menu .theme-doc-sidebar-item-category a { + margin-top: 0; +} + +.theme-doc-sidebar-item-category, .theme-doc-sidebar-menu > .theme-doc-sidebar-item-link { + font-size: 1rem; + font-weight: 700; +} + +.theme-doc-sidebar-item-category button:before { + height: 1rem; + width: 1.25rem; +} + +.theme-doc-sidebar-item-link, .theme-doc-sidebar-item-category .theme-doc-sidebar-item-category { + font-size: .9rem; + font-weight: 500; +} + .theme-doc-sidebar-item-category > div > a { flex: 1 1 0; overflow: hidden; @@ -93,6 +192,11 @@ opacity: 0.5; } +/* Hack for "More" style caret buttons */ +.theme-doc-sidebar-item-category > div > a::after { + opacity: 0.5; +} + .markdown > h2 { margin-top: 2rem; border-bottom-color: var(--ifm-color-primary); @@ -119,7 +223,7 @@ } .hidden { - display: none !important; + display: none !important; } .header-github-link:hover { @@ -139,5 +243,3 @@ background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; } - - diff --git a/docs/static/fonts/Manrope-VariableFont_wght.ttf b/docs/static/fonts/Manrope-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f39ca39c968c9d921b9c9e6e737ebdd2c1447a15 GIT binary patch literal 164936 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 M1-! literal 0 HcmV?d00001 diff --git a/docs/static/fonts/PublicSans-VariableFont_wght.ttf b/docs/static/fonts/PublicSans-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bc53efc12a6a4cd14f68561bc355e8c37e457f65 GIT binary patch literal 101592 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/code_retrieval.png b/docs/static/img/code_retrieval.png index 20250135d5b4c8e5267ae18a9bc2028864c1b001..85bc26575edf9479603b3f38aa054bb82c1bcd7a 100644 GIT binary patch literal 758318 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

x`8$N7w6JNR1VW}`ZL4s&MN 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∓rg{(Dm6;VgMly;F{D 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

Q=t!N)lGIY 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

a>{KmbSs0aVuMa z)FlDb7a3FH&Ly%m=bDni)6$a2V_!Ee*PaW;T_?>>VC=RNI4EcgMSFlFxJ4z+g7&c% z6r|K@!OBDLMgx&Ydn_(&3oT5fxL-gL!0T(|WwJ>tqX%Zvot(z(W?h-@6K4-xRmht~!)9%aMxCt}dmQFrL`(uvHyBfua%&izUvU&cCby zfu3*i6I&IU{rouK7gCBWRQ6r+X`D-0rMrMY(Q@XiVcx2HO0=x!u@2M%&Y2Yhw1#@o z1d?xSxg;6i*W(i(TF)+Lx`p31>H=?i(Xklag}W(401^Yj10%hd)+{H<4;FCCo%}6Q z8~NK?LLl?`9^Qc$3{S}gg-jB|1Nc*M$LZDTKy-yPLxNbEec|gL&XHQ0W|e>xxCbmJ*L#Ylwd7WP%_wa9Z(+NoBUTHdEP{Ehd}UWrKmbfoGifg@C{if*gO* zArJEEh=L=5Uyr=6M`1gfc{W&$9a+SV3KQ~x1yUo;$*}pSmzMuqGTNap)Ko2x2U&2Z z+rOh+dLV*c*xt9eiSc5h<+yLCq#r8bX61GbdJIe~7oS3RZ5~J}*in%dWLmWsbvH%u zU|-z!q=ArgOQl3J);mm{P2y4c#ZN>w(HF~eZI}0KbYHtA@dGUiLn8>0v(hT*htPzv zm0`sCy|^N138p_&9UcfiK5Sfe2o?0--Ui1aPG)dc_maB=;5bAD1i3lCDY@q+AI#)s z10%`Ab-5?UBw_x?l_K9@ICKcBjjq*3-9+CX^$V?UGnZ{yZuNUXWjJ1KE4E!|tjX-C z@rJl0%N0_+8;U}Dra`I6Eui6>4Lifu1AnT)0pe#wEM9ME`o*wbka1mj-zuXQ{j!T# zUES>Y?9y0OY)L}*BcfjsAcvQ7kYx%s%+w#()mcoj*YW;TnxtuOr~wko%^hx!ce&Yv z?z}z@T;q2Wf(|33BxQ7W5#j$716>1!_WSGwCV2=Unw0*2x^%HBlnV;XG zI}&-XFcbK2L5R4hH`CCqVLv3IG184cTT!*pY>BhM^Ad8g@qP205HX@xXy$@E6nTe+ zo}hs#y@o0lzJ(51DEs3!VUSlGx5_97kH&pfzQxpF`D3*l4DnqOwd>IQJTB#ga&oRS zFWp*|5cJ*H@1xDs{V+@T%C0Qv9BEehjj6KK?*8?rwM>_XVC*x_8vP-~KahA58cs>g zfIoehTtj>jkf%<$i+fkMp9PmCHlGh^(c@L5bJEBo)2N#4*-P$+UYRowzTZh)id+Snw)iockBB8tDwC zYkVo$Ainb|VhnlQi+4rI0(V#_;b4bU{u7dn1wVHm6={&i4{kI&s^&leshZkYnK#Um z^-)?7^;+Ba2WQH@nYPvN8Bn_2TCZJEjbT zAX+p;)nTkzJC5=Xc8t5V5LgJ#A=Rr4r2AeVH?{1-+#cdCsIdn5Q5K{+`a--KrO(F{ zFW@o~Xg37I*QiYoYwiA_vv6v<;NrfL@xgChv|~@-DfS1V3n)ss%wlLxY9ie#na0%7 zY&qnB3=CpFJ-`~@u3d;)Xf(KckHu%dvg7>%)#sIZXP@`+R{6?`ny44_(r)Mb zGr_xNT}8=K)(_l8ink^$5A}`-EebMkuYc*63QW9sxu>%&Eo2(YV}W+ne$HHt$~@iZ z-(*K572}Qoud$l%!Y4F&XzLMp$WS5aC)lAgqcEJDGkMrO z;#iWJ_C2c^X_R=MP-m-fiF~l@{Q2$zUCP0mjpN)90c`A6`%vI2k};jTh+n4iq%s5< z+NNEUKW5P3x%T#8!y@h7!f)U*F{8%BM6#4ox?7WxlXEHOZ3CrCo5_`qB)i8!JmcQm zj^hQ6^0{ZvF2|1f8JB=F8CXSuzJ^q|>QA;T1})Sf1acP`3J|xm9ma!V3u+k@e0r|X zln4{B2@J1DLS)JBpn-O$#E-|<`tfq;?aAuJZ0~sO=liD{ZhV;bH;2Eu_q++wTH>lc0*Rx2jv64){=>di6z!FXUXkP z$B7R4lg9a$f^vD2IuDnWf-|!)=EhreFg9aUqltrg zZk!#AIM0$Z{*rIX1%29aHEd<_Ax0fg0~(RHC+5!AcKP~LT`BCKtu>76qp*2-NM7zD zO4=e!af`nt*H3klU5Mk~nxY-833zIvPQf1mPoLQ8 zy2P(eQNdrQk5Rt@V8*{)S_%Kpc;dWZZCC<@0LTJB2_M$qCnQ=aG{l%}J2h=*4|%QA z;DY;lfo#T+jguS7UC-*#akUyR5|)uNa?2l-%#(_HIegC_BKJ~L_a9Zd3l8UHJ4Ks! zVSA6v8CR4e9Pg4JfX-4s%{=B65z^)9SKo`m#R?VxZkF-8l9VD^cGB=?8vRGS4XXFe z2PQ|^BCxRTo$K+l{dYQUR(F6PYrm8WrjHXnk1|PL9W!FZEmDfsc&j=K)F5UueD&-@ zM{xQge9hN3n@dY|`$+FKTCMi*9Y^T%Y>U|G^X9m#{`E&uRs0oI zE%0aqTss#Ph|hxO88*yt5nq3DJntN;DS7c0x7^9v;j2 z^6;2E-$Ga9Aq4N}$SvJ3xjZ$=Z2ng5GWJWs&a-D1{+vRYN1=dNCo@I1j^1HP_ou)i z(c3H;FW*%i7!Iu@AgeDZRJ2&(JxMZ7v3DvJ@921VL0h0x;v?Vhq;ZLErbd1Qd>jCh zC^+(FR2CYh8?(;sH+6Ig6A%d0H^InE(D#b7%GF-1SbbaNnqhrX``7?rLQ@K^Ut!G2 zH8iBuchf;^3(I?^b}YJu0S3-WP8}HWg#B7Ijm%6*3wXBd>9yAW@T)48)D9!|^ar>| z&NFe~qxq6N!YmTTH>10BiEh;7KWiP_tJ!B#67g%V< z8^uhTUD*mAs~!H)hLtH3>I$5~JL!~{brF##|oWLFt5G6{s$eGxNVFlUgtaRh`-(^~3d zRFyrC$De@WMm7)mxHid%#65>fbKQN6((2|Jx;^&0fSo?^$5V4xA-EF($84(`+fBM1 zy-vU4jS4(Q;<@{Izz zuTELfuUEaILb_6AY5^n0JZ(Q(#Le^g67?Me$L1FJz)ZUxZA|}f@0ejGtAn)TG04Uy3N~#U$bbMMu@(W!qp(D99op>(N(sMO_HQiM~&<=;2 z6r`*AGmZ@x^GqK7D;SU9dx`=6rIc~|-%N-2e{DnPOpHBI5Tj55Hc<{G+#D*<5m#*_ zU{=-7KGQhC8(~ye;yE_a)_Tk8_$gpKy;gd#v*D+E{$+OV3SybLgEHfIB{mdpmadTX zutdw=8gLLoFmk)b_8vzY0BL=F3eo(G5nNdm8v17?y4|MXiO4YC-Je~SQ0k6oJ4ZO9 zx2`ISyfDxWqHn%*-APEda~ebKt^sG_OC~5Y6fCKWz8Fg`LQQ_?{|(4?CGS(CrPz92 zb)W4mxb`N=#^}4kxmOX}?sayfKr)N>L^-F2GjoUk(V)o8_4J%-*jNIPcTb}rykb?~ zGCF_u)w<$YU1s>_9FT3F65G$yeJ&cx&=XG1buJ$x}ESeApDA<<~3rmG!EsQg6E|^IL}Jor`77j4nhgG4QwE zM>36(Trc2T&%$_zb3xA3rCxdGEadZj4 zMwN`O5>-64`EyWw^ylilU=w|M5FfP;_q~w>C8<*0;v z_%WKJ`o!hE#<&SlEITy-xQ))-h2W^yhcDQY3hgQvHBDZnGFIE?dRowVAqYGwbmDgI zgZ1I3M0@>zq1dgi)Vfa-6eN_0XZHp8YE->|>{3$LZyl-9RU>8N-Bt)?HsbB=w==}(Wyg!?%f)(4v9m!;F$%S?!QW_qxR>UG%&!&HR1Ss{iTQ=;;p-t zw^L>bUzlIMl9b_oL4Zevaopo8Gd|vF4h%Xs_!HkTU+#UHih`Q|>#^wnYh8DenZWvQ zedP3SAGvW&w4%*thbqRn_%;P5eo!Se$s~=tLVr5}awACGnCaF>?QJ*?#oAOL-4Ys-<{GmRj#u$DNaG4a)!p^44X;}ffn3xX z7^bjGwfG-Iw$3biJ-IFUlf`Wp@XM~>Uwgsrl{6s$%9+8I|YrnJTvhHlQdgRj=bHC4Z>H^6r^ZB7K$2Mn`VcVMy6( zyDm)v%zWvy2IK@W2{nt8#%)Lv+yPd4DaOX~nETF9g-A!&;~(g^ADp^7b{241P^QDF z?gEK%l+%-aInL;BeReQD&%>^J-tv`2_?TbtuF6ELZx7!8DEh_zEp~H3f>ugNtKmT{) z`2X7C-u$Hi@io+f2;+M*xClQAj$L_r)Y`7pUyn@$6r_!hlp%_%iko7|8YMebRdE0m z#j*YuMaAJ)qf0C(tZNMNPR*Scw-*n}gU7EZf$(bp-u)<3|Gl7`=Qf?HsP%F$ zf9gm4y)6lMO@UDl*00Bv8=03JsV%x!GaO?|e)h4at%y?sYPIgPl&;V5N zEEA#%_M%at%Ysi!L3-?qCBwvv6URLxFROgb-!juU-btbG{1jS){$Rrv=K#24G^8vc za=gPMr>>DVgpotsRV#=XSGI3jC(K7IRQv&dx<4y8^k&=(X(t`oGnR3@@N_FIfAnly z{6QmMWi{MBvz;e>x7xtOw17)UKFa(BKto4RhvLsc!Mf)~_FtJ?)huMgr@s5AALIZx z68sZdWzw1|@-0)OHOisCYhgvdy?%L>OfyJ5xwVfII6J3t&s80YmN-T$LZHWMXtWXN zLV__RGQZoKcx#6Azdy13@pdXh0a#rG(3?OfD)0hzk7 z`H>7`fj5UemGdq&^qp-Q7Ak+@umi4z+hILn*Y{ebt_2-9d^2$2U%pCRCBik! z%UQ(6=c2AZ2v^6_==u%r6KbAfAscggamvA%h7z>BSvj2O8sj-rZ#iLyuMuqR`1 z0~H#jFnf9d06A7X6G#90HD#HBcbZS=xd#{y|9^xuy5e6px-tWW74VB#G7Uy!1+0%BUQ#n1z0Y3(+ zA$@qM2PU{X7gnUykoV)%3?UbOmzS83Ekca}o^U)6$&Gv|NZ-^gM;c#)Ye%bgKEuH> z!-A~yTB$Ndx*K>Z9@(lgDD`yd{p+LKwFO9;p`_oPb! zKVp|{9wdyEZfQRFcY{^?nW)1VmU-O41yp4_d=Y>|S)b^nh zV0U;Fy4mwekH`AWos^Wsel84oH&1Gi+tjsjPo~R(nA8}8s1kQkG^s@%CKm_}9=))? zr>r{XndLgVK4^U%EPcs7iP`A$1z(*{fVB`Cl#MD>1x1i5;1SLr!$hyqX!dm6pb~`7 zrcF(R;LAm?drTXB=oP-Sx-flNb7KR5pU8{%j3EWe76RYsa@mW3*&x3Md2v5?MXI&j z*;|0svFE9JINPg;^GudR_MshndZgMJo=}u&z#XT!{@525RBT3%5TZq1@%w!P$B*Um z2JrPiZ#B-#Zl$X*YD7yMvqq5n=FLvse0x`r5}IiP$vGcTUF*shoZoCvuAcG1iagN3 z|2)%8SfZ86)`j^(-LTvz^MdQKudPAuc#7|;A68=S$dEdf?2OtJ+z{X?n?dWlbOxY+ z|1+U(WQaE`>0F6k(c-^PoPN5kx4)*(cbwcAr_>-a2aq?7B*ih$qISNOFL55#w9axI zm4G1Qek*Q2f@0KZm4dh)Z&AC>|?d?!$THy~MkpH;=QxRHiG zPS1{S!oAC^#gy$rx&DEk;~&&3ah*$0mEC1u)#sBeNw)OECs`=6W>XSpi1*~UB=_Pw z!Ucc1wIl4qP|JzGcmct_R)y-gn_^msUBZ`F62aFU+Q?Gc87@ z`{-@Iq!GDV>*I#U6pESlGoPEEYWwqp4%%;fnWN;wdzy}rJGG&48VCF&gE$_>^4zA_ zS;lLkwr`{qcITyF%Qgn35vZ?{wHI$~MqJ^IzZ^WbTXY*!QsrpFtXy$>wsj*;Ex*s( z`6jJ8IXvs|1W3!X$8y)e@cm1Ca}3!;H9+vn&TJNC95GefHNH(L%v4 zKe>QP)tjH$l6ZR_m#jRgAp!th%C=(5a-VIYv<}?Cogs@jJ|(j<0(P{DWYfx&2S$b? z8(+^}99D_Cm7ET1+o(OW#Pc;F9j;e4Rpy*08kPU2O?(~u%aQIan=Sn}VE@-MABp$V zB?Cx)v1EFMC_#lziw`(|9x6zo%(h`hDw*C_YdMO1`E>C3v}>gQ+K)dWLhlT~IBciH zm6E@R33M`yDEX3m2hOehGShvDlKMD6{Q!%@@=ViL=P#V(wD}|cndfbnU)|cZYTcUu zwPmT#m*g>KJJh*vK~mrYU&>BymC4eyL$QV)1=HArh#J>z3eVffk`h2o;MuZW=K4l^ z-L{qAntIIoQIU{vDL-SvUuUsucd!_&I-w) z>&EZCSXI|{7p%Hb(QkG&`~DOjTNW*i(oyH!zeQKW1GVmY#m^q}-K~a{`QPH$k}cN= z>j4-;qOH@v=zEqjBij|?5~1t|X``;T@)8Mm_8AiSQ{@~T9j;m7UgIVi298L0PxV}e zP^Y?c+y>z|M~S$?fA5kh7JR;i>A*J?`{?aXo=kDATg- zknqy-Lu)=h4my+CjY}#S5O*8WTcL3ptD9)>8#U09%+lmC>Z9|oR_r8gn^`8DhXD$R zH^AHvI96A7E|ra2l`)Y__^Wz0j~}&Cs&+-mEUo!J_sHE(ZopkL-MCSMX1S{7HLt7p zp+Bl$btTV_HZIfY0-J}Wk`O5w?C@Cru%iI0SFywT3$Sl~aVm96v-WwwY$BYuRSqBD z;c@=e+<}JjvEQC)MiSmD;2Lk#?%jS;zK_dHgESLF^4Yx0OPQZUvIZBg_Z9a-Sr zqR{l*2|8ezfcA<4RuNLPm^8N=%&=wW>i;tmZ{T2*-eq@?9u9p?3mG;dow}=EJ8{>)fayJY$8IXd;J3kX+@!uvGUrt>@IK;bQkDs z)B7Yk$D{`(PU{UN2>M2`yYrpAaL_d?nlv>9dii9#O;Cv2p-9n<=dF{+3_8$?9bysG zUS8X`y0!i)HuRf&rFN@6t#%<%f+anrqSL}$@zONcq6<7}UGab`btBjP9ui|Te?JV5io z)yl(>qRh6k@Wb(v5*g){zFGeOOs_M3AEJm|+tZFeR;FFhfX)x~Z8*`v-SlZ!FxT|U zTEzSOrsI~{WxxCS><4#C>Ca*@-X~ z(xK6x(1#j#uw5Z)B$TRq;C1_j#Aj>OTCWUSv!07Mqh@o?ZrN$KyH!QNJDd|OnaUt& z9P!Kj1jSAYIUwPvfoG(23BtF6k%crH){Tmowj%{~ahO>PkGsH^YRt2p2Qyf2LVKQW z{lb9$5Sd(O@Wj~pLpVBofQ{(A|0i`N?;%oy5=R1XItAtvIx@EwAb4qL&r~ z+*j4#AFhLwj0Sv#Pan;LB52zX0t}Gbmmdqs<~xj}A|w4i#EMYj+)N10!xnAHrUk=p zX+Z<>03&(<*kXcSps*(-664vOY z2?`O%jq5J)y=~uAjSvAU40H>IdVf##wXL5tjwsGjMPlVY z6#vc#zL?Y#ZrZN$^>VX}rf1W-RtrY0Og`7p56!X1eL6Y80_Af|yIf*hR`o4AbZ0jT zq0U}rt-6RLb?WG#fF#Zc1+N3W{`G>({Q2ea6h~FQ_zr~_s+cdO`i$crmdk#YP%+w=a{ab>6kj2Lg zzR+js^6AnY&+^l_URqpJ)0$e$K?G9cW8Vn~1v_FPaS{)HheSWM-s+SQ*|;^4THAAs z`<2-Z#1p%RWKr_WY`;NkT?ZIo)~(n5UklzcFyJ~Rw$w*d5#w@pmJhPH*^L3hmPhF( z9MZ!h=_MoU>lQn1i7{T|t-^Dcb>ldFMvu6qhVAb=!`X(D;&JZBH1a6E1|2HfMzW0& z0!HV2*-8P8k5wIB#|^(zPVPto9)5p-k>JYpvQq@~adxsc*T`n4$_m8;Ltm#TE=3^$IoqF`FgtlZB4Hfe(+oaizfgkgf8XjO}C>z}180fIeXdi(ddQ~g#|40jx zhBb)%EH7N(sJZFr0&51oro_T_)lW)zR3&8Gd{Br&18w8+n9O~Drq>+0L~9yh%fZ(j z30mm@G?5}>GqW-%+3(J|zO1wf2%mg5uw2W!spn0LOY ziV9?@UDf8ESxu6@v!pxf7PG)DdH*BGNl_T<`ootZ<}x(PS9j*Gblx8KpWkHu1{(;F zZhHx}d$mQ>$)@F;hx5-q z0_Q%5dQ{1`r9RsRpLbgWdzQP_Ox(AILhOWDQ^)@~pF%WdXSDtHeu zGSa@-c`E{4apTCqz-cUI}6)22lS1t6de zo(jX&EVU|WzsoS0$TpfQnCRaYEo2|Eo9RoWBA?hS>@jVrbJl6hYHL=Zs%G|4wr4EA zQzQl@O+zIhF_uqb17BC@X8$Y0+ri1fydzmn_wW;+vv|iPA*CAZ0d>0c>GPQ6jBs>h z^+1)XC4?A5)>W(NtRbFCGaVvi9WfWOJO-7FVTFFEUG-oqO` zOXvS5cq|LoD3PS-qIZb`Aex)*k}=*_B)lJ6m+;MV`aJEYpu`IV8J>s|*)4p5cLD3# znOZ~h9-(^c8~dEDjgm<2a%~?U#I4&Qsfg1T^*3_)TbI|UWd?--%gbSMsz~(X)mOCl z!18X`D40d`pQxgurUA>F`9m8)x0<>t(wd=P|LC&1SSybh!H39gcokJEQ{_+ZMA^=P2E7ZrSqs zv*5akf3YmCo3%&Hi&#&`<}&YV&E=YPd4dT~GR-%ED#nKSmI`4WN5h>>HsK8XEM{6K zV&_0a`~@3}u_CF6TZIFiyKQjrkFa@!m5ksRuBf9A=848P;Eou3`Sd;~kcWO?5?$LH zX&30so|TuOdu)-=7=jMyQohn-)qP%HzHk<`|A~z{Q9*XKAAuq2*QQ!w_SuGO#j-xu zv_w75R)OW7lHb~-QT-yWa1)6(v~LUgTKmUxcJP-sAF0RQ!=XkRvYQYW^Ca+NhJ6hV zcD*BUDwlN#xF>a(<``%q#B5arF z)kXE*ik4c@&bP$BJDH$;*SDIYn7J zMo6?wE#?}7Ioa+hi-g;kv2$o>zERbN&|*~2te0ElhMTQjjeA!BBA)lV8660m|=$yARd|z5-^|6qjWb*gY zwmN{NxWgEPiM^XDxO(Z55|tu0!?yuH1}FP+&QB^*oPJ4M58wJy|Zk!pF7exS{8Rt*>Ye`$3o) z+7IKW{!QL=`&RlDLRxY>@E!>9wyF>^)O?L|HIi^KtbDgu#zV`m^&rVy4O?YU(hyc^aTwip_xVl>zzvNf44=hzNIZIU)54|c&O*MYJ zP%|j&)mbJ{^RY}yVBwNtD&ZbjS10gwe+#SV2^}k-bgP*cp8*y8EWm}L|Ga$4$}o0t z9-#g5Qrhca`Env4@ByQyqZtsqdY9_tZ^8XF&N9S1hfip%olqK+c`lAcHXM)-$(s4C z{ig7WTf(DOmaM%ye`CC&0~pAa`|YT4!emIc&+wf|`)>=tbWD=#`ye#xu3Y!3R!`w3 zzY6M?z%TPT2$Yu^s%&TO4={p{6UuqoA{%$+Rvv}rniyCOddo8zM$FfKhG?&w+-BQ- z)yeApoVwG92YxX^UrA)((pCR!zqzz-UG{;C0yb*}c8_a+|Nxn#fd$`WgGe zW#4VOauKaOK}hOdIb{ST$YFf&*tBZ|+IvKRRsIoi}(0fS2LE$7|ljOos>I_}=YT4Xc2(7AktBE}^g)Sbwke4Eie0W+V&JvwXAfq`vLOuBY? zd#TLpO)rK|c>~%rx;}Q;Y;9mZl5J_{khXvJ8MYErG&wWu=&jY{#TkpY7eT}#YSXA0 z-xqw^kSEE|`z-h^3A4bQ!C;hXFav2iQ1Cg&mMeuwF%4WDESGD2d>J13>MrjiJkrW6IeM)x}6;PszC>{ab5>*B7fZcrFH zV0_znc^92yzokHbnz)BJKA}t75G_z3CP^AG+?4rR?dBp6<|&^2Zg}=O1(_k=scSm3 zX;1XT;{b4(d1#p4qZHvTyqjxKe!ashp(9;3LD2U*ZyaF`U!zqo^ql_|Sw(|KRv)g~ z#UTJmkOINc={25_!a9YIETV1exdFI(3+mv(qKJ4Qc#yUQc?#LqE3KvRf9Lg!oj<#+WKVw z`+~0`n&1%Crfn7?Wg#7Do;NJv;>f6Ylj>qjvREt<2mY@`c)0DqU!Cy4uO)5<&pFyZ zWd!}X@}KOuXUMxnK&HAjVkX(0m-%TGP;K}(tgW2#*K+jspI7}2{~Ur(>rmy(WHZ1du&F1So<17nWKXlZ`T9-Tcx@T7 zx@S?IArnId2lu{XBRIdqs;tB?W9mw1WH9(D z)+|06XOFr^)yNR!-Ap7_qlCEc`?6_vV*DLaDa_(vgx=~2ui)OzD>&=zS-pn}*FV3s z=c&Nrtc~yY(I4CuQ;(H>-s`dz&rl&=5JyXy@@jn}*w&Kfghi3beHSKjA4WVUiUo=a zVhUegY}()bvW>;SfLB;$v;NhC>KvH9(v8-_zuo$8a2?OLeE#%cKtxJr&O?Rv$ihrb zlOEFaeRsiD*zY0**PkE};n#49;KMDJRw4WE;l5u4v|Zn)<=MrHc&5EH7jxya^~cda z85|?_>F@Z>3H$-U2f&f@!#`GP{|sa?6?na`dL;hO>;1at-HgDXdl(h>rhNgpF}}oW z;XkvVie-Gh`ZS784Cm@*i1+xcMvGS_4f%g}H~^DI@ER#mfrO~2Y)vq!KE91#?Y6Jd z?~QqXzQ;#<<3JRp!Hw1nI6&JAEJoIW@CsR7pwl6E%E}<`&-gIlYw{hL`ro+e&oG|Y zP9e3zOF?Sdop^pZtN(&T|CJxz4v&?VuJw(*|H6f8EB!APz^}^OW&j8nCgSyXay%cf z-!4B|wNL=FukN+1^Ow8$U%7t_O1OLl`EB{{ld}5|K9z?bzTErI^y;6VN#H#+P|um4)6|NR@!b~xKncN|gjml=N* z;Q{|NkDWMW(Ld|=KW`r<9MG<7hkq{o#Fp87{G|2&bNJ8TJb7d_CR&_dEACw#oO4^3 zFQ8M*e%u|M5k{?SRR6%Rip%lk?_Gc3Hruq3<@xV zxopmKe;LC+x5^egruP4$j)+F1j*S23wf^#95k>IHFUpI?{j)Ti;lp3-)fxWx*8caM zDulmTX*HT%>xr$`SQ11xmj=@=3VT;V7=Kq>9&$pD#j*1=sVB!1zV%e=}xfz-3BCWdaLCb_+fHY?R@-*WVlo$1U9?!Y2#O4 zi&xJ)^J5bZmqv93>uua~2`;nIv@EJ=wm-|9)++Wce3X#BbCmcwfsbkLawO3#X{ed? zym&`u)vc)Z%B^-|`sLd0t|~$Bm1!6LaaS*4*v;rpm`XTkgoa&Hc^RvwaBB@nIhxrE zzy&KipaG`~$K^@6?2MrD zvivq1|J?NL@FRYC;zN2IZE7o6%~W)No4DaMH8!AaSjR1WJrR~$d#sNo?D@u46;t)C zZD9z=$V6dnqX)hWF(e;sfRklN3>oPhn|9^)24miE0p*jrAMl1Zgi3V?W^ z!dUse)@c~s%_@*ANA{3O;h}IwS&v|j$BDcZvFRx((lVlD%r0h|SV==gj>S#EfbZM@ zQ*n0R#d`Hi#rK9wERt0$!0)PFNH!ef&;xzep~a>2Qy}UxyZSovvtuCnA6XWUJKjfp zo#)&Fv61^KZZY@ze4htf(S?VT z34Zt{oJH+sN)#X1l)Awriu0D(!0Il5DgwoOOSoUO8f(1b#j*^QUo&~!QO^b|l zRjs0QwYGV;B^uR6^L)*9;@|si6ZrO6g#4-hvS1d##aH66!~docMg`z1U{r-^A`Md> zUru=47m&a*{&Xx+Ngwk|R`B7R` zREMB-OP_|O8Y5jiR^KP6AMLMMkcD-t1v}8+0-w!O4918rzV&oM7E0Z;&5wb6iviyr z#8ecrkmX*v_Vo8vM7=P@^JPdkT-tYb!P&3HQf5+1d0MZJ4{Nx*OYu4)PA5Eb(T*C3 ztyvfYig0RG18uc6)WWcU8&NKqMGmBbvVQ8Sjwan(fQ-~Vj$#1;Cw2M!v)nO^Ve}O1 zV)_xtrwhsO8_Ml9#QIs<=lSu&eZ>_}b+)^6OS0$525{HY^E-U+j3^PJ{5df7;p_I_ z@_~QYei9=134yqF8Y>1&Sxa{%uqW~+B(1AAKc>vSAT+T3rVI+(_l7wsC}b(I{_ z#J7SE6OTd;k=rHl1OesjTzfFYeZQx+vfn^t6{zsHU!wdim|^B*c;%NV9d`s2YciQX z+InjOJjZ0{malb_P0p%|vK3v4-QC&B=wb(Dii>C!uX?-+|Uv-*ju&riQV~KtqunKTuOT05P~YP`IE!8Rl)X+a36WvVAK+ zDpB|e_5hvDc1)0x9R|P7CmzDKof*$%`pJsXxR_jbQy`NTu?snt;zv z>U@ujz=67lx<4?6pTO}+o`au@WQ;5Gt^|s8EBsma*4I`duAF7Zb?b5%CJ4s7nbSlO zD%0nbe3BadX>tiT>)dc7CR)M$dFsx`M)3r-gK@mv=z*$iTBI8EPVi+`uxvDxs0h^W zP#~TY#y)gK6B{%7WJ0lQN$bOD{L)E!Dbf0JG0|aX{A{D!y=s2}W6pB2>Y>fC{v-4e z#wS=(3Erimo~?Lh1Q9D;WCz|2o8I^*lOPFfdekb8^vXLierTcD?PKNd-liAV2%QoTc3dN*kz)*@aC?&^FdDZC4jbRZw>0UJKhHkIY&>Q&3 zE)J(QFpVAXe~zBycF#q(ytER@oi1q5+@EzT*j*sJV~_fHW%DZ^qAv_Tx!Tn>Sbvx3 ze24qUBVJr5f6ICw>#D}YxzS; zkL|VJxa*L@OJBoS&jwb<;YEjCPzUZsZT0N&*q=vFmvK4BS{J2CfqeP#iX*7E72j+P z!omIAK(W=6tFSmqvY3k0iokyq2^EczyJ|P~gPEfVyzFy)X78@y(81kP4;ytb+gEaR zxX;RE9>QITXF77j-wn7^J9@i!6)#mJxv@UoEDE0*#uuMbgZGwJJ?nf|zM9BPTu-Tw zOIv6xeEwPuExTk$yxf( z4Z6+v#bQ9bV>(FzvLs^kt7|#?=d{F1Hu*cbTK5L_l6P+|r93iOydx*%}$Jlqv9<9`O zQ9kjWu}gr%urqJKg#wkcTAkG7aFNxE59fmWR?qRSQA>$->eVQp8h!X_4(XcZ8w$AC z8_sLMXg|F;-jVDvn2h@flaRn%lQKUm?#71R9q`}L$tz5^rW8)o7{2jWHu-jtJF)nT zPyOP}Tn*YsLxk8k+^ZH_JB+m~hZuE&a4JuVw>tE9fRSHAE zuCk4bm6rZN#7?8h%p z{D68nuQvn_OZV%vs`_fGadyhsTvpZGsrM^C0;%ZjxYzMOcb>IZ8(Zg|(ZixmiDjbU z&Qkt%DOLn`fX(q{vzA=xTfLQhBKh8)c<~O^(5a~5v^z$@-|6g@wTmA(+uxXh=IP2#qr@Ggp^^9=79OJ#R71t>}+xI$Ybb=ix;rFhI+<-PaOy%;-1)vR` zu5RZ9s+m3~5!TqvmBd*pTK#68ExdT4`)d0plrxSvy`9J` zcC)P~eGfKp*VSkFSQ7-REt4?G9p8P@kzKMJ&7AcvMYn)?r(8>+JxN14K(}u0nN|kD z!C6xNNu9=A1|Fp+8T234^+M_Y-h4PiiVm#c|<7v*z@Nn4M<$! zO9yVk<(_kaXtix|YO70v^mgf`spccPN98@-m6=?QS`=sd`515C_rJQexZt!|ErFum zm712niNS4+0FWTj{&h;WyM1iXCV6Hmh$4q$r+mVwvxK%(}NFJ63t;vP7ki_$eQRX2_7 z+g_bigEG&`+23a-;U?6(^#M<{A&R<>XI*2>v~o_WUm9uedNX}wJV_s_A~Qnh>zYOU zwpzdhNl13HT#zTMMQ1?Fg(E0}IxXce>L;dy<(v|fy4tee3SOabADd4K7)u7FQchd@QGB==D zpB?oGu8tE7Jq|J*5C!et)<98toxSHg%**FBz~_h-=x29ptSrSpLD}s4KOQg#%#bFy zeHXLm|AzB3%mBmU%)_{BSMFf!s6_ZPtmeF)2qJCz<|xHvz2@G*ImZ6GfSq;dq!i_d zK}hVr>_w%CJfC`&Fa^!{R3~jk6Ro9SiJJ=cA#GY*MQZj~$PaY`f=G#haL@$7@KLyW4qP;e0{!RcKh*Sp` zSFcCDI}`m5hTa3V{ev%7zlq8~I3NBHhUaNe_P1x*KQ$1N$z|D;fI68jp_B;iP%A{8 z^kwYmE~raJf|J$u#yur}yZe_dz%+K){}gW|er22$$;ET4!a$Tu!! zj#LbsT{k?5s&VIcGfFD8GeEt-%#BVjGj0biP<@orLuQIGRD z#ZR237a6@g+ej8oIwA8KNVQ6ibJLFue%7M)pUy?Y6z$bkni)+e@0UaKSD#{7u$%~E z^EB{1@hDO4WAb*7D=>O*La}N*TouLFXnRs>13OV%i!uu`lYN+uLYi`;n9>TbNe*#t z(=uPHjDC9D(myl=Q5@PZ4&Ho-!Uxk3!TFg>2nmkwVR#-JJvzQk3?|U>aLWsu^0cLE zGoPmDOU1<0cF;Bxon{cddzBw=S&23dp^S;fA8}+Z2Flux#GIKPayyZZprVGQ2C$t~ zCk?#VBbKgCU?PruL^8OQ0p0=&({Opdf!R5oISBZWu8voZb3n#0SikKWh@4eb@>`A$ zf+p@8PZmp==PGCCb<=3&Z9d3ay8C>tF9ExUI2m{V{c3d4RoSeAIvH^D$WQg#!amy! z&s;S@Fq;_#AV7K~y>1m&Asl9vu9dfqC2LGlSGV0cVzZ;M=I+(z1n5@Ro82p1rj?%K z>t}Cwq4nlQlUXH+`2=j|d3>}GK57kt<$&06=vY|7jYkFFmRp#1dZ=TevZOG8OQoyK zrzm^}d&t*{8FH^9%}yI1ZEPtk`UJkauV3&J;+!%}yD~3~Klg$_id4NDF?);84>lZvPNK_Q1PYzd1TBUv+#h zjY{)u+W3Gow42sRNzdHR^+2eD?#JS3xG|N(W6!wp{Zd#}J-ssYLy-2v;Xaan*1azh zh=N|)N&wkLOJ8`E`^wv(ZXbxKWRX36KEZPSNtYkVc3r9hcle8P?r8cuj;~%Uk2I}v z4$gIifW~^toLdY4K?S9|;E2R9rmO$Blr6x9XjksTMW1oTNmjwcunUGP8RP{_VAIVO z8hmC;t%6O=a810UMjG`n*~=95UU_GbakMdcd=65WT*caxIp~LnGU@01Yh&eQK+)Sa6V1<-0MCUh5!Gf7q*|+m zZ$s_nM4!8Q8eHy@R)~dDg^9g3)dI=_9l09VNw0;0ihxJu}fkDzHMw(51r0yY@ zg-FjGu3C`iUTl1mdXpSYnx60`3$Og0wvRRWJ`+ckvYAt$OoX4~R12JeEPy?7ehuvd z;+It*04Ql}TpL@0>{oRa{VYu2i@YH3&`vJj!(m}y~!xwu?g3k*pk1{5= zn5a9QfEv&uNaUvX)$gvZBy;dI$ebb-L%^?4Fo^&>4EFVTo9^FOC~9yG9o-hC(fk%5 zy?&8!)FboYNa`y&KGJhi4H_ zZ1~X+@9}bq)70}=iN2La%VE_PPh9C->Bmg{#59gbhNNf)wI>Gg_g9j3+Hl;C>fN~X zWpm^SF5>0GUhg4ha+nMe!SZdcA?jk3mxr0oTy+@IyJyyVdy6Nv&vXRFbdx5f*~DL# zF9_YcXKQLSg=mdpSpD>MPKz~TztZiG;PKOA*fod}V1`WgS-=v)rZcp(UY*2#>>ivI z?Jpe+jpH8?`2I%HPM^}ag~`gWqFw#lPqMJ^&c*MKjaW~g625dxH}v9Pk}LuMscwU* ze=49(_PlMUY=z{(M+;kgV%*O@aSyM%=GiX&K+3k|z(5=vdrCSR?QTYGRHJ)cp~Em3 z2S~vUD3)$QMUpF@g)89!(5DZ3jG?FCbPIJ*auV_<5gdV;@NCAeI??QfPh%lVAIAEZ z7?Ds(-`eR7GqaoouoXT=SI;2yj(nZ2(L%-g1IWO~IMj4HaGavaVQTbmXw&`#Y2&A> zG8FiPSHI@kS0&=A4}eCMq+s-PNbkl9*{`g_h#3+l;BLg4kohJ z1Ol(U06uHyRTEIo%<0LUZM1eWQE+ogMmD5SWdH3e0r6=fO~Cd;GoYT1H~&g)O^WaP zXuQj(g1ZDL|8a>cj_!?KqeUbQO*RJ|Idd-}T6ug|-jIiEU~f=bycUX~3oj$GNYGRg zO$&Yds}g#;E)xN3jzEEiF?T0&x+HE4k|{e4!&>GGWwF97-_gO}Y( zdR1v;xV`g(5+8&if~6-u#rPb+(>JPo0&EOkpSF}Y8vrh(s*-)v?}2dkP)GGUoD~=b zioo4Au6c2Q7*zQ|mawxP@1m|!d|^#6Gh94r=xJd#c{quhG>kGUliD%oZ9g>pOaXdk z64~?hoVqtB*indK0n%S4+}q!G4j_>}(n~cnonEOv7|arA2(;#Dj{;Ca`94+A19K)- zV4OXEprCIXS`)Z`bHw9Pxe}sqkP#p;nm&hLD%Jqhr-@W3ABv1flT;wsAba zI+!srJFR(ofQ^BiZfWUyBMvo74L2x;J61!ZxZh?yDC#S^oiOGqjP-ngq#9?H2M9BGhGCnGt61bXd(O^m zy-wjJh+K-;^>qfSou3FTs<>}9%WhpvDL{;I;~0&AN8e*02IUdISQ$Og@jOTp;HlUV z0oyVzJ}n`S(EpY>RGR|dhcoif-*)y3@C<{dn}FGn7DV)@)Gwv-IE06Gk= zLdf>uxM%~ni%l6-5ohOcYF4YRnyJ2R#pnkwT#ROMQ3)??I>Us!xJ*Yc*lKU@}Tm%!{1;OdxbRF%(5l*LfA#+uu--!!gAM zkaax<6M$%<;k+gTIah1B(Dt@IDUq+$P+_7j7l%9A-fiq&?q(VsRwG8kQ9w4x<2ae1 zK<3$u1>l{oMexY969u_}qbY~b>T5`5BHAg6QBkanriO7cAvmrc^y4FUn9!>c0c5O) zbaCzuWXQGvw3oq=FJ{CD9eCnwMxGp8M4dSr=W&Ry}b-DN+q zm4FAGDJ&p!yuR3LtoDXF1))<6k5WVzs4r2P512s0Bmx(@zG=ZqPoGj9FkH)AYNI+^ zebvv@b=D&MqGrf7+?>n_$H%6wibk?#=2;~Sp3FHVP9{r5f6i-s7^4)$E2gAc^qQ$8 z*k&y*aAu>J^G={0d|&3nq*qn58wp3-35H()3x>w84d(@HICeOEO6<~e%H+o=3jui) zf@IgMGEnZb8o57ymNjhZ<$YzE?)`Cn?Iu1^`BgtaLG)KPdK(xf6#Z#xH8Mt@zn#NL@N@XX5v9R8a1LYjJ3kxbvib?2LJ6$$n#BpCBXET8 zS^4>WfI0aN;tmFwe9p>%0tv$ky(1tAA)-MGRG$Fw+b55^$T;v4{Ss|Zum`B*`Bdon z>1Or!pB1N=V|+%Ijn_WNH-1Q?Fm|7T7T7^GgH~6`!`!c%E&%pdWVB+DhO}5>^WEL& zEU~?@&6uGp)3{6NZ1RO>9ip%k#{R1Cs*0_Pl&I`?4usRq*sRU9_|k(3wa{t5v}?{A z(!A*B$Q!;mdIo9FaHsLXgNr!`h|V0Hj;73=l((f}7j*+_Tg&V(bdY@5FlL**0>ev) zhr=-ts3OS#;W&U#9g_`ZJmE3?>Zmu&h$6+GRKb|RVTj}J&JJbAKk2;i?75ksnQZzv zC&|8TFFf8-K3Jww0ixMcxfLbv7g&9UM4|nSY*pah?5ckd70OVfDc0R99)QjT*Xk*C{`mt{}vXqX7f))blcazfHa;*0WdLpQ$J3}9c zR78DVBALP|xFl+7j3>D3;HXq;<{uDI1%Ef{2VCCz!%)4T#|8_g3z7orUv4tS45lC)JoVw8A5FSXfEXQ8;Pf#M< z3alb+rBP}0^$+&4Th4dR@w)$&P`i*T`RM@RwuUr znNL8tiQRBEf93}ex7@5+%0lJnY`C*ZPkSu6;N}scILx>HK^1G)O8EwZDX)*4N>&YX z2|fC~4>SBkY9P~Dx4!}K+IU)e;642;#@f#*m|@ZPIZ}x8_l_)J7;goqkY3Ju_=Rz7 z+I_YVel5KrT0a+*;BAL-A2}V%_5qe~Xlv!})kZ|axAa#CN%2s~%pIbERa<}l0e=FA z?w4oshDy;I93Qr|t*O*`!oyyLoCO}x$4+A@sn%cqhSfxb!L!L>)Y0*RztuE9;AhU} zw$9Su&YaKiH?z$~b1DNA!AZ?mVeiGy;7U_@sOdHHlCFls%NcB#o*uR)t@ zOBZJXNC12z2!zEfD4U$1`wt~HH!l}iUt#f@)TYA?kqd$a)zjzNkjM&FH zNDs91J~P*1MzRI?w_JWt_jn|SXm{IN>~5ieYgz{2P^A4uE1|pQy;M%7G;2Q+-}j5l zR(?_^eM;0Iij$+-L#pQOeVuI@XH(Ed+tv3pKQ?E@1SH!Pu~k@!)NdkcRNgGps4h=m zs3K@t7M!qXpUip^CW@ykir`Y+MbIL3BOM3ev4owvKau#aDux|e8G7qYocgnu5cO9V3w}x2;HgFwiWlo7rsb>x9dI32ig|kYq}*0 zvbR8>8k=9!lO~H15i`cGk%Rj%qNZ?zCPw}`R65Y+@vuFR{}cgND?`zrXp4>@QJ`9r z_j~@p@oI~vlzA`q9N~$cDkV$Dg8*&kUmV+v`P3XJx{oXd@?tF>wae@m>j4D4>$Cir zOA*eC`bzOM$WjRC@dr7+cZ2KLVtKYj$!~92KH9G6#7sR%@J|CldzwR~iL5W%psz*Jd zhy1vLFXx!o|HvT%#ej%Xdp=g&AA{}=x7qF!G{r%G(cGlNm4FJD%&R@v>pn&2#^Bnb z90j#~Ac)zMNl+x^&2kVmy<;%V{!$;7I>m{USSJI|MON#+@&|z{zmyoQ%gZX_mE^x%qiVzK zu1W@Qt#KtnRb|CFh~o51EwkYrF!}fQ*n^XqoddqiVVi=o|VZSx=@DE zcr1w;rA_cG7c&-`X0=T{(5*I$_%Xu_M5~oaB~bKNc$tv!e#etFA4@Lfq03cD!a4e> zHI-H{-Hs#G@KA-ef2W%kM=O|{I4|dh4ZD~AL6UQt>zol~5YR40)?+5C@pxy1PGBeJ ze~7b~T&4k3{m#YNLEShQ9Sp{zL3Kuy@o zQ#pw^s;?OyP$LYc{KdDu%%Oe zi$v!mXqTH|k!F=*l?CeEY@SP(2p98QICb6uqI*+dx`Pw-@6c#Ee5L+h7t=iQ<@`p& z^FjwrZYZ0KT|ut(VF06q#>XEFLLA@w|4>6y&t@!*2$bNmucAU((ZzQUzImDe6(q%k z+!$M3p&b(cB2rSbiyRWJWJW(V#P=shGvBCsI0BtVZgNZ45PuAix^HK4kSG$i*wsaw~M3t~UCM(wxR7ko>=VWF3G94f(a5ftQie}})S7AWoJReT#N*b#%I ztB>W5Dr{cNyTai0gFA#j%lqV}SI5-X2FyIr$7Yrl42Sv*HEAmMs;dc823Cc;HusDO zCg|CS)Gk^zx^@XnSKpL?IjrSyE9C}IUP(^$zsG0VNR?(s?nQTP9F2!_R!+<2h~;S? zBQ`aKUyEHGmO*FM4%VuG>$;D*tA3nIE6FwmxMscbVIuWqHYUymlXNby1}ZcC-A}=U z;T>p_2`A-2ZWk6qoC4vYXM+HXcl@O$^@kbt;^4P?AbwMS*K)Vtme{r_sK`t8yp5F| zZ4j`(($^MUAC}@e29EG1zcKjHUE8FDyl7}1FsbTtnug8hl8uhbVQy=`!RlStxA5T< z%E}F}r~WBkgCn8+0zQ$HHZWUnmpJXRdjZP0pfmpv54}hNewWuHAJHhDIjf)f<7&!E z9eOa=Kyh7ou$@9D>Xe5TtUCEk==wdyiGe<7ws-P+sKO*OHJuu(Z^6Nvfw(aYd6>E( zWg?AwdvnezC|J^YMv8#+e|3BGL9{;hy3^bp0Pl-7-dku0cgVH2s-9RW{4{<(S=ilv zzWRn;trZMFJbKDQMg3FYzC+JbtSop6OwSoWF6~{U0SrZybbLQE6T(V{+2doU-zw7! zz(24a3KIJx(|-3Bt{3tn8v3s?54d{I(@p{~)OKp6ObxVvzt9${l%Ti%5f1kBs{I$( zQv>i^0k9{OVAYL#rQ}}r8KBFe{{`X1g+n+GZQ&5kk^>&q+RNgIOz~m>9n08s)WK^5 zNYl!+IBy&+_}E^dR3ieI`9W_Di@2ciK4a7Xz7>bpM`@4++Lubu6&$UpuDSVbiChqD zT$i(8jVeOu8Z;rrz3*s#n2Sx7C|1`n`Yw$4MuuztDlqlwTu>0!o1iZzs{r=P4jAHm`Yef4;~Yu?vns&Z8#5=1IL`1VZgFhdsuzMXiUQ;S>x?}xV`QCZEt}V zGID|<-CyiYdDPGl0`>2S*$bC@)dr$P763hZ0gVUue&N^RlNHYsdj+0Gn`;@`n_YlR zMRNV&V(IDGbD^3lIbO@zDJBZ_cW*PbpLZWD^$nR3AkipI&m z10=gwdtDF&SuG5vL!fulE3I!}7gV1Bl$OprO+HYYbx3vUhQm;ew*B^aJ(x-<`Enke z+4Z)#rR;34t-c+IOkyH!XfM#{jQt^%UWK&?2A-TqPF~27;Q)tI*Uoub4q$;l!@OTt zVheZpE*1%SFJfx8VJ2R(%AqR(v_fFR0q%luFKyHTKYK0`2VGiGfr*g0x8nzPzoP*_ z89hhPtM}W1jS2ze-0ziiXz72O;1Re9Hpve|_)9s7=M?-=(ZPJwtQYPqs1}23AJ}@W zFoEYWLm!??UvM4=ONtFQS2U>mi)UW}bvA(Pz^=^7?qI>trJHsnpAivv-qKEfuOI-w zJ*|jcZs--!vw+}-z#ldMZbAHuP`UO;2j>ao{0uf5_x2vBD)^HyV-t{L3S_u9%2ePz z)s6a`d@hmZPbnEkYt&a`52oTr7TCN?&$_AU(K`?!%J>kR1o?^hyar8MEh_ z)oiSNm+MrFacdwc{oqJ9cz`H0NE^35N-<$HU4tSQ$R@j+IHe*!nbMtxpZ|#N9bW_K zSiJ{!0OK=Ip{+=A`NG z4b2Q_c=T!V!_R+}p%Z`vq>yL-EsWz49tK_GsC$(u$itXG8H4G}w_3h48laAT%b@)! zVk_wYKmYkLeK`YX?=YXE=?P4s&~?VbYcV9(UqQ2y_A6+jGRL6^IdIR6%87=dfVP4cL9o&a@=n|T4TjEJ0C z8fQGtHJ|J?kT@Q-F>%PEvaq!Yph_F1B!|kT`(y|N$E5-|?Ht|iau#nc+Q+`wB`l4A z^ZW)I&RB__*TS({GbvXqQL)$p`00ZLXgAOEV=*}t^bD8axHQXZa5ualIxM%F6WzXW z9ghlm*j^%z?kk~p+Gh^6#j$PufUz$DPvL^?jTkJZ^y35^faVOGs)`m2l#Y%C>A_s~ zmo`^6{S1bs(6|+A{b(9D*=!>h~;x}d0DqOAfG+Qb+=0&bAF3CX z4H91_r$(Up+@p%Y*b1{w(Ogbw?q>`&K^rPA zufobdC~zM_!1fY9^-pBC*5W7E%c(ldX)0BMu=@kQY$*?NSMr#(@;9x4>Cg5*rS!nTsIS)O3)P+gyGRP3_aX`jCcQoZrG zD@>Meh({yj%*@8Aeyg5Iav(mdC&vdP^P<7I>W0q(( z>CY_$Q_r>X?CRAnB35UbdANht){plL(bvbWue92=r6bc|MsC~96+=ri>qFVausMSr zux|wpY4kCcBd_HtYl3{=4(wVTWNI*x41(p}_7i#b6uYlh@8qhxUmzuRRDL!&x8ykk zzb|r;+!gq8@BV{EOpN}m&?t8#43c+W-Ypm&yiHlJD zR{aMl(8XECiGNxeRB+dRnxUg;=ow4u?W94r(P#XU!7AZ|O_)LXQv16JyziF_X-#D_ zqY8dl`*qe1*TeC}Lk}hA_8W+3Xg~sYUa(qT4cj~Sog*Nu_5>3mO(=;v74CU6M_1qI zA>pzRkJiVoaSU*-#D$@03r zADJmy2DN*^Ijx6qmu#wJgLGz<#fVn5hKvxF%Io500Y04P9g)r6OR8Rvhs6#U+H48U zRhj4SPUiC`LWAsSc^lbGq2NMu@kd@{c-Vch8}rHZ*VYH#ax;6(OzyYI#SJ*bbvs+9 zT4}p?tj~%oH&@0c&7+3ioJHyl=9vo)SXx$_O%z!+j1+w;N{S^DA0Iug)JlsJ4I_%1 zpiCIWEg#(5>?`#P$BRmbdY73gpgz94F_n*JyXeejT0f_uHagti;?yj4 zjZdb8SRUA2QgN^Cm~ke5iuB?fuI+7^ZcIeZLmA7bF$Ffw#zHl{yV0F9&4Z^}-KqXZ zbvqWh1*7bI9?n4+q8piSAF32EjF>+VX}Sx+<9sVpLcwP#jK?Y1^RjI08tUl&xRaeM z0c*jMEC%c06!{qLLZI$M@|kLw`-a)5^?{4Qd3`y=L%wdUH*t>7t?zSZ_7HUO(rqSI z72`Uc7DMB6?%G9hukGjViv=})STJ5c)$s|$Cazo(xQvW!I|^de0Lbn(HY*P+<0`1&+=qevOAB-=KALhNuOLyMRC zL$_dg>8y+WxdwGTTLBeG%#@&9s;!G$)w4j>RZ>N2*CJM;h6+e@T zV{l<^$ z;=qe`9l9}SRDM5Z*gxBdK|%|*X`o>^5ZK(i;C8oIadW@eXLf?sTZ}HPJXVxxlU2}m zc+l#u`a(;t);XnmCH{1U^Tm>{3fZca7>>hcLyU(n{{*DL@N=FcBjw}gqL(yrwc&LA zpvI;XGoC8KG~ev`OH(Im)6-%jP3-)9dUvKBx5Fl)9o{s~H+%M*Y*#ufykzqO(kW$Igefh>`aY_FgR=puFkg{2>ncjCY0f!y)wouo5m)QA&hlMHEj`9=B6N7(2->7U(^gJex|vY4QA@&i1ReVf zqdUJN8J!y{rKBU+E}xwQS`sEBX0Ev0&VlNff4~rpCwn9D zA@`@)edWQ3qnltNDaiF;nnZFhXys($rpZZ#t$rHks_tdk(BQ`T;dJfoS7pnw?HlDa zYxdO}%fd962sFu9-D_T0e_3x?mJa#j>~QzJP%4kNByslcu)V|P z7xPDFf|WY-Wmkf?)anTuKoDZ`{aZeV{410XKX9k?q&Buu6eA^-3Z^#lc#a# zNAd98{DP7sVU)ww==HlV_dL&^Vf336yX?^YIU?bEAK2xav0t>MixYMgNJ$dpJtOBr zTBtKRQ4dONfK{G}?sj$Prg2MsafZwHL&p_$R{cz_>x(3+U}#GYlgiM&4aW|L+=ME zgIUPY(RnXcqi%8K$c0OwJ5}9Y$i+11Q_hR$aF3-i4_8d)iev+Cm!K~+o)?UsL+jnXF!8JmBw(&^27xRoAU@#iYJ> zj}~%4h@>k)h5dPO7fan!S&_!3lvH#tU|b$lTxYVqTmDtwmd28C)p`NJ3g0fbL8@?ax}WQd=>OrbdpI z&%uc(BSR2p`STjzs~svqQ%dMS>RMv<{?Oy^Aj+2s^P_S*8|G`ye9$>|BS_tC?+LBp z$C{Pvu492)CM?M@QZJO?G|;zW(zO{eh+g&Sx+8=h0?}^?;%T-TqO(1o)E&F>x!6xU z=QniGoWzTnCT;;6OPMqq0{S-l+d8+c_*C*3YXzLLpdE9Qz?~x_X{ciLlJ5v#Ea*m8 z$r)TT7q8c0Mq$Vkq}375r=EZyt{e9?!Je#0gL{vcDkb&lZ1ALIL%iF{N_=M5e%fR$ z@)dOCq*7@JW+5Zz9UJQ{N$!S88giyeT|9Zz z)aVb|YJ~I@C(osj&mum>Pp}Na_t!;+q!|i)89CN<7crNyqehhJhd{?KR(uFrDststVa@ z-Hu1Jyt?H<(^a6`T-_a38hO)UboB9t``BKWYKiuGh>^`r&AHT!K{+;ybb(o1LxD9gKv1+BjdRtTp zSTmX@KL|~7Yj#O=0RM?m) z?h*}CAn}rZWVFn1pzrD;aBv2&_Z|Iw^VusW*B9lgB9c0_PIscl)PgZHyByzce;~=h zT+hLw7f@44AE}#TXnvewrQ2P6s?pK(2}?FKPt31ZRg)Z#C{1XmHsFd&{t>y6A6MMKKT%MLZ_&E0IibwaccafO-$Ap~5*?iJRr`D%d0-KEB zEYsy?b1&A;^ichvt}l8l%DEvu`lzCn^Ogt0?Zu}KI`T!ujpb`*jA|OU(9f;RIbCF* zTzEe_H~E9}+cI%&2_xymU81q7uOtnG{$~wGtx+)N}xooxeEvf4?!THepIj5_1BdD&Os+UybXSsT?pN;d=<}|&Fo0H-bZ3?5N zoL2@%JGNptv_nPL1}*C<1-9)bHM!dhoe?&83HjtuA%$1vtt;iG*omfN1=K+69Xq$(=DnT%(f{%VDotr(VdB@)h$#jScp=#4^$$j-@?uNI^q_g=c>C6KSZU@V%dAWS*bbAk(5HRTw8 zVc*TcuZA+u_tX`IIBVr#1dFfN+;)qpl1X3GGF;p}wj;encshYih2>hH_R z{HS>>uC3X?J24r^hw7RKhZefeGL;=a$4z7Fy^@$YwOmBkS+@EH zZO6tb&P!OwtN(m*$fVoIYqc6(7hl}O8ffU{T8?SzT&C(tXVBN9*>eps1`$1L>8su(c9SP%H6Oqf9>s#e*Fu zKs;C)K0$^T59WY)Fy?UY%$~;rbkf@Oo;Nukt^0#=0%_MEYeeY>>t@|Z9{00b88k+T zL^<-ZM{i9xU2ug0&dn-_o3%IP+~MKCm6kX03n8PwU--FkrLR4vGt-n2$1(+}{)6n>cJ zyz}B9Mwky1zp>ief86Vt!K1mk+3vW?SoHlDDq}fJ7*aAXF71*m*+7hBK7pb%sqc@*cTCg4q}HiN&sHxV8rs}?e{lYk*btA7d2+2yo^2!l zvW6H;E}Y-V%tUF6@2V;12~}Y}XZ3UPj#EMoaz6KRh?Tr0hI;JaYb&GZ7jK{GhjKcMdg8@2`W|s?Thwbuu_+zd3Jn)Y`xEPKlv`eZrv>w+j*QlzeHO2EmxP z%v#^F8Z-LhX|Z@|s>}N*=LCJ#NIG)chS$n77R<-<)c4yA_37Cy_Bvc@+M{ABcl37Y zbWv^Vs2Ua9zKBWn@UvkHYY2}hILSYPr30Ecj?MIB5kBc&MYv zFwCQRs?N`*mS-fv?96y>d0Ba_?hPdGbu9z$XLT#fT}%TGmQ54XT&yBOMpj54y8?Qy zYTB)iC`3oM%hl22otq$Mt@C)Z)kt%?DU<$9uXO&4(+w=SHklInU#Ig2-WiB7d|6o> zRul8!WIzi{8s)}QbjGv_EQ>iipB7GXE%*C)&y_LYEx~Z%W+6u4>|m)n*h&ds50}wi zD=EdaS%`)92f48qFMr-xX!3~XU925^ukA6E^Pq&X%EmG7jzm2M>?*k>>wxoK8a_PA2%h+9F zQjbQ6hPstw+Ve5NO&xc`?&eG~iOxP9nvdP+&w7O=y zMKRHps@u=!=rZzS7KW@iUFK`IhR21;sa6aKGwEHw_iQ>^4Q|(SfL^m`%fOyt>p6;` zp2IVlqJme?k%Q_vLl5c?QeFr{OssM~6uU}xBIi*fQFmsC=t^6w>o-TTbvlB=p-_E3 zY93a2Jt1>bMDYhkFG?vt+Hl?oVMcoK;{=v59)@aA0jJzSfN;ML`pL~W#4DuA2Z0=l zk#dT@PVXv?u9|NxR^4g)>vPm7_0L#tp0m;k;q2x(C8Z%1NE1zA$W?evWJqPxC8tUk zc}TNLH;u|{qfhaL3$1)##BjTF%<9tm=GtYed!pk^JzY9_k?Je)iNn>CC3n3J4Z)kD z7w-5R@=9+~$V8gK&Jw!He#w+HnBOB)!WiT7j|+U|pBuccac4~yk_~dM#4{lJYAMG8 zwPMQJ9}H5BP)}2HJIaT1Ev%83XAC$!udwEfWpj^rcMB;CSBg%hsP&z!e8N^cLf{f= z*clymGmWgXqt5*#dYO^)MeA7H!m0PSn%2s+Ghg%|9qHd@_cL}+Zj4T?=bZPL?GMW9 z7!Ic+_+ijdr^Nitlp^mc9vkly|G@KsPrvy>b$0v z%rj(dQdZ?ckg_Jdvx`WYuxyK^)cCo_x92twEgS;(n7Ak|W+`{ZI0iAaVYsIZL3^q4?DWn+PE)ZQBB zG7N8#{Sv>2X0g6$FB4e zs|~4(v2A39go*rP7~mHa`xHW??ExTv@h+Fw(6VHrL%=8B7^q_zoH1#_?be&oHz}OVUVxeE^eG@ zrrKK(SyLc%2|HU1m~Eq7Gw|@PH^3Hx5_l)&n*I2B5L+Lv(%RlZ*d77)>=RTd^ZHeftSC45hQeZD*K15{~s`BBBtl;|_-%*Y1z8Pe6z*3=>v zj?~3puS2SZ;1!bnvZ5Ao!NGmGod#jvDcbX)w8LzNnsiWFLQvba5kZfb%YYE(9(;I; zXOXb`I8h}iIp#3L;)OOGVi%b&JN49{pxPzr;9>zHl_uKR_Dazd#_&V2MWmLwO7AX- zCP4vAlqX#@mf0m2&x8#p|H8w+f7n7>NLTeGPXZ}j6z7G6^iwpkUk?zH&<5G}+0?_P z8zbVME7l~CG5CBqD{(OK{tKPkFDTP)fHKJ0evb`B)N`L0%lT+i(O=Yhc7TyhqSPl2 zLyyQc0E@epS_F4^f#v)$Fs=7TzNMQ7Y{H9NspWo6j`s&F7A%E`LMaqdkJun!v!AlQ zxV{@EKvp#nxH`&DHL-^w{FD%exO44V*c%Z2sTUTlUx#Lq1l2$m1s)hyCwH`u{2HM6 z%v0m{hG5V;S=?`avIUQ_W5z^a4SCEtvd1BS?*$k-A`g1icBaEl0=Xh}N#DWK6_G=o zH;8sg3Fl4R+9bCupuuXnaW^6XH;+JuqpOuXPYBIU?a{r#Zxl zaR)%BJCnmzT(-!&g2zLhNycpC5QQ+GKduw{-rj?7Tnw6FF%$^IedDJI>;O8SLqZ#Yg_bxmfS&0y zlsxWIVjmKUvau@(YFe# zrg&XX94WN&73Mhic^-YeA6g)X+v%X?KI9kJ%4FbI74-7w*+c<3;l)t6#h=;Oa|6uf z@0*?qP1YBmuHsYmGxMP zZbDuHmmyK2z8|!hEbwx{6VVPlJb58!@cQZ`BeW`RO~B>v7n=8A<@<|Nd11isq4p6N zVjv=~*TQG<69HFi(j9}=U=|Ief63~Q4Z`n~19wSk3+aGkQ z%tF$SKz}6&|8d-yyl+&`%H@L})2x&cm09gaJhO#5w z-AL_$A~~%~nS)pj8UzbPv(32T0weY?uy($8KBVV`hscVd-JA>>1&~rE9cexby@m~_ zLQx-DEA<{dq#I&>^aY|@Y+b)es0W+T;g0jK!8Nu5Ql#McI0NamxE>h$h~g3Av%7cz zNUeqd=*mV&OdUC}QWlu#&leqZ+If7ycEHK#4b6ox#e{Kd0}O%OjpAvm8+q>L>n#qV zZUM0dlvzwuMN?@2T zT6JJ+HEt#068oCfS{V)QvUZW$U1I?B1bRQsMZxzEdWn<0cnG4HFKkWr(7Kfl{rTM6(#C6tE4VYCX_f^*oW5)Bb^#FWc^!(=6$T4&gJAJ1AT**@40|o> zEY$<-F5l`%rw*prcG$nu?8orN{HOQ(ZAb*C(oGVzR^)(Lk`-HTWXcIb^px4w8{iJL zn+_QeEF)m?h=-6wjQ;_0V7wGIhG+1%07OxwqZvpj@XIcHaH}G6w4Nd{$78d4$*lnW z=h4}q?W%v`+sL5NnF|1eD~LWg;leeR4AMe*Ig=h3T`OaRnflVm#*~dXHJ`<>Yq`s8 zDHl9Sh^ZVs@;awJKlSv78X@xgHIX7KZU#Lr<#C95j?9~4o6BP1oQXAd_WZcG+JQi< z6HvbJL}m3`kaob?09k!Y2xr{asXs(FI(;7HmITF5nA>> zoy1%bN$1ebLFc-f?8N83TWwC4Xf@gs3X;9$7z*0`~0W;hfdeP+Z?tSU|6iY@>e(HXUpd;ktdh7h zI&`KSITr1ZhnGn1c-b?}p8*osG&QxL_{{Sv6lJB*QsbFdU#R`WPjIpANJV7yJq7B^ zy1LGTQsvRpm(TQD4_`oK2xUw=8EO1p;91x{$KT?pc^SaN97Dbb zD+V-_{K+-T;sG@r^0seNl>G9JjFHEYsAF4_abfoF@|XeAgU@e5DA~Jj3HZz8%*;4k zRCy*qc~4z753B{GB%==2e_ktO#MsX(V`cAI1hCQewEYUMi59nkY?1?-y2ZI7@_LdG z6D}lo=L1Gyv}kj)?U*GO5Rn|8V1Sz;dQw2az$-26 z8{)*k=$SqmKZeVc*mm$(J^lUCY@n_z+CRz@GHSma@}npa!(`lj9qj)wwV-#v3KhzpZ*lZLU9^qc`pEpo^T+5HBn zljH*0G(tVR1UbTTu9%&^hO3Rc_>vR>-u%T|TS&;CzLVf_<``f{^ub9GZ{(EeFEj13 zV7Sw^senb4l?BLRr@IBdx^UP7Zzca0wEVS!DlZEkLHQEJWSj`G%`=Y@ z0CgjA4_;>73?*f$&v_;RQ`GVU)Bil$7I*_?X@$f(D0?Wf?W~*R!(FHJK3S! zv_lp2xb>md1ZeoEjTpj|I}TbV~nNJqm|<;@3 zf3TF|u_qy;`p$P9D`+^BmmgJXy^i~OGt|6~K02^3@kE1(=eY^|ji6s3X;uI)vMI?% zVYO->Ae6j-KODPVutVQ=@Uu21lBp}Z&>>s@Cq3}&fLt5AXyPQqZE}c*jyx^r@JM?I z(Cr->i=qaU+g?Cy*FJv{wDU)7HDvBfJ{3tpR^Tb{Of0uqxS!yv4Y?GUgg@6fBm}Tn zIv$2syxu{IG2~3`lVR@Iz#$F{O|7*TiD$bG0Qy;U?;II8UlIA3^2P!#7I$X$%!8m` z{A%(tv`}s+6S(q27B7bKg<`0Y3Gy6s5P+t=P{wt&SUhffhG{5qE6eS)ffzNe1L)jZ zvggI)8aV{-I|)~L6fP&qk2X``{(FaOkHn8R%$?sJ7`Mgn*JA!fpwhD%5YD_mO8u8` z2H+u>rEhz*ZMbK8;e|6}OT7)MpOYk!;91IWtytrV zNHs1CGkb+;Jb~|E9Mbd5eF%G@Gh#8ivgO%A+nd$zfK{TQ&59@K+dlu-v^)Su$*1B8{)i2T5zoLt5?xWj5dM1P!5WEQWYqr} z0{cg7ICzKW?Cw3$ZK3UY4QFT4m=3I!+|?#^K13|1(x6Z!3}K~o}H4# zCgA4G0KDFko%eA8DG!y0!h@!F&5t`1Sc@-6a1^K30V&{HSO8eTWSfE>1c`hKy@H>KdUKn>EZ;(82Kk2^-!8jJ$nd|vDUWB*VngT?B z_e3_y^#{YtN=|qyMM9`4?J0D`)Mu&V1%i zjM*xi|8CgiewRNn?faj5fMVmo$Wo*$*vZ68fm@ikFj;^XSv&{MHN3!)t!J_EU8DjZ z_^qzvc>DFcorNF>D{L1ZZdak&Ks6vyJ39a`1qoLLk5{W{xQ*r2a|~tXXwwV+#QpRX`KlA2W?55CgaU|sQ6Ijg!}a&ADCiXxkVP6`%Tv7Su`P%oI55hKPHWCZ^5!tq=_qI#zlnK=@C>LSUJtm1F2yGX-V9;mSH7rUNU5H+$ zX+^ILwoHq*gorHj$Cgab6kFbO7;sWtb4SvUofG{2#9=gbxXUPNDZR0Hu^x?(^YG{~ zO*OAa`pP#>b?3})L`evJ7P!yIw+q3$WC(>8;76xkZ-*F*fq-%hzYx)G2!TlFA_!L| zM%7g=Gd<>)qP4OP=Qf#~_Z)+}2u7SW(&m+hhjZIct-`tuU$=g%keHw5T!8a*ZZe8& zOuZgOOY`X)Mn^denIL5N=SeL z;;Bfpv1p^BDVj^Zp!!Bzl6-VDn7Tj0?bgOR9&&fB$(RYyXrGc-hK;5fpv*mawr>ZA z(5tbrP-sS!lcC!PGZ9K4AQk2n`_hy900FvsdKXuRN$vQ@!#IZ#6$j}hsD&5sJpTfJsEZtg*c5SlL2lKrP2 zF2I=*;{ruZ9lQqj(8yN!s zoO8d-^y{mqsK-R^3O$jSY4)%aG&A6=6{z`-Gw}a_* zXa~;d>Os5@(!n8g#nJ?DFzZ?u<5j+_hG_JSqM4!>F2dhVyU+$fy(yL+BQITA-%BNZpeZ7A3yV`}_Psff;=RN1^J zv>Z8KW+m~vZn>R++A{$v(iFWi*)Gx~175zSkj=r%zAc?c#VW+aC@Af~7v8 z1q+BL0M9b2+%kA6(GpbbXDhMt^g1ir#D+;WmO9JRc+yAIM~nTR}t zGJybao_dLwP~CbGK6)|QNlQeNC*oFD1^gJFGAv(xkqHJg~(_Pgh8N4n_i5f99o>3 zQ$NnNADHi#7Ntw;B)!GOIfL##iFEc|B7-nn)X?Ij4koEY!=WOwtDxUrD3O4KUvSW} z+Ly9bk`iqRnp{qTcBrS$6Qw`z0ucC%5r=~&7eu7pcIO+;A%k65F9MZqe zz=L)-2=pd`Miv?HYuUHJ2@MYOi61MFyUZ~XQ_yyp|2ivUP~+D$E4J9|w^%Ettu)Yq z@aHS}?(cMrIgbOh#A&(Csf}v6Kqo7G=T-z;Znh}~CZ=Yr+c|Xtpm~!HGDkTM z6(fFpXP8G@7JSc!J^a3D`}y!}-E8^hd_5{Hr%XvS})OLen84!-aT+5;J zc49RUTVev4#-A5j%#D2vE7Xt0Dqop7^<8rV*h5 z>v|qk#lhJ+%RpKI#?qy9qY%=Eqi>Ljg*HYIVOF0H8{Mnz=GJlRHSbK^m?>r`7jgU% zWZPpxe`Ag>M=MaY zSy0gOMYr+FLAtlV5RP&F?Yo-L#l8!mHZuM#BvdW99tsW2}r( z>VNLtP|r10D$|34W2@TIxDv=F2f<|*RM)nEdk$v=esE9+HogX0VJYJ;NK=I5hgz5w zPm`cxy#g-v%TVgL+WVZcw;yoIgslu549y>O-yl|dh+HP;nhOruOF#&@FNWUPpw^Vd zL@}+1(;yz7M;Ek2=*mvzkA`T(#|1b`_px&L1GoHb3>y;Hb{k=0rTG*2HiAjN{Uv?z z2N_FGQdbeS}Sh8uDf3P&oNgD*DyAh7-~anp_V$+|m%9dbdxX_6MDu0X?JM0 zs%C)DMt{(4MTB*_V0d!Ku#Ed+*a;>v^x{gWQRVZEH{T;cmerj@56|-uv(MS78|>0K ztXO-rfeo0B*|!H9XT|_VtRL<%*%hCH55&1Z?bJ4{qxoHBj&7rmV210`z;K{gWJdYc zEB0RAUbA}JDl(=-5G&YqD;J)-%HgrKK;K%rGN4^p@CEj{x#4(Th=yUG+UoDl?f5km)-Fp<`lw4`cOZ(&r-Y)S>0Pv zw@_fEGueDJ^?RY%`qc%ZoKv>Z(x8FT0eEvJX;ReOY+G_~Jmd$>3rCf;mfs3F*xN@I zw}Rk$Dmxvf?*>lTh8;eUccb?7#xi-%GPhvZiD?vV<8!+=FXUz8y?b}77LFu5gTWOU z*d6gl;ut{hVqgxQ&^!~M27xk78guT8=CGD8tZDyTX45I-F8%R2d&XhPa2g;J0d?7f zCVvok617gWrxtamuBTk_BD`--6?NUOi@9`lh{#C@g!hVQPqvRza^Gp+MN%+lu>TPr zJiuKf3nUXjxyc?+3&7u^`&qAc95WQq!=OOOrL+7?=`3v{SsjaYE)3h=hbx8cZ;U^H zcNvzVu-ySYP~TBhN_r+PS7Jkf`zd{rts$}h9JuIeIc>@#aLj|I^$>Og1UH5F$wPAJ zB*M1?t-@FjnmO<<|!*Na4;bJ`J?Z)ChIsZv*|GpDFqB$8&NJX$K(3@94>m zEvTqNy&Cs#B{Sg89BU6apPOU*=l(P>kU!XyGE5N5mw9mk?n?E7Y7S~&ai9@(ECq)5CPP5Ws+p}?{`AaFp z8Gu-+-_1lq%xw+;ES*-hbHmGYe%}^_Gh*yF@aX}LpfT*`Pd!)x>^6%X{^k#Kvd}&x z;IErM+kMLpvRLJi0xY#pD-y*EQ7(eXlpdMkk%@y3d8oDFXWu~VeXvUPgkVAZ%^xT? z7Lu0w>*miPFwoC#J{VLx6jIiT!OL8KbC4BR#qj#HoBshTU{kzBhvzMFp^eC>c!t03 zK|g`aQd<;uqy69Bw2UU4#f!&69Xuz`MBtM7OX}D^{xd_02mW7WhL~?(HtIwxQeQp; z54Te67|K;rH~*Ve+Pg3F(9s)f7-YV^dAMB@oLKVI|AUSWPjIp!Z@_7g+Zg%E7~5YHOB#;El2&$8}fRCEuT>g^m5P>qr>4Nsk3M{U49| zDrLwG%irnL9X|+E(_P&D2<{lo;D*@4W4FVywWzt=^_{m+wXN@+`ork3Wok~?!F8@j0w#tdq@Ap04aEiy` zYB>KAk4bg5q{&R&%JMs@)7StVS1*4Vg;=-!d42Yw-1=<=i&G~^!O`|H9@y~z;nI%M z@-v&~ER?YjQw2pkjt9U@M|}T{wB5Q{l7W|JPn~<#N{KV zczygyUg9sob;PAI`F(=^{k96~h5BmF^Dm2YcpgkPKk$K$$o^@W%?0DM?A#T+^g*m8zsO`*4eD1SiW=r0jbc^pPr-&VwCL{B^^yu%Mlde znT&=_R8t;7s8>XO4!$Y@DMT!E*vjs)ohqIz8}@;_R-YiB`PY1S-a8fMW22m*8UlF4 zU0UFJlS}czUwdwdDX2uPZ}-^NnF?<8q$h_MgvZ3>)9_-!GoRXi`PJW_8*^!Hl>1AeGrVZ_SQNEv}r2Pf-11 zc8xk86=KrBs4-%$TBvX0Y~R>$6&|ek83_31Dz^TUe(?vUyLk3;aZ0x3Cpl`94@~N)MCAR204R<;3EE?emU1K=dRz^ntd4rHIG5 zFOSn~aaEs3nN^FbK9u#@oBGh;tAdjq8SrIu=GlDQRpE*`miK_OWK5YG1L^QlD(>@y z#HYvz_~^A~>fRS}>CZHvMwi+s_S-1XkS$@66%WGBi)<+(xNK`C-fwyql+2Jh$fNYH z(J`OAEy-F^RrrEBw{Keb0|DvBx;~zz;E1FnLN?sC4v8!h0l`nI9#+STpg_xkR>=)7 zG@~O=dZR1b0v{;dsEU2ZVDK$SuSJY#ac(L<|B{2XEXKy_=4im6rO<;fsS1; z1>gt&xP~|hY7-ch$-M!MZvtYE4?L$+@Pg`_K$zz_kNV=+QQTq9$S(j^^N2kW#IBbO z%3t=}!?VNV&%rw)R&DqRXNqyLEiMOkdr;5g@S}fRUSH$@{>Mp?4Vwe2gC&^w`8^mfj={pjvB_IM{uqBsU58jcZ{T~@54i@Ag{iusD zeF=@<3JOIx9|+&Yi#T3^#Qml|75Sh0p@GX81FSZ6KV*kpuR4_K@BLzdXPQoccbtck z@Nc&GB@5^e&pK!mWZ>=#h|D19PAv7|chtB81wmQY@yggkxQ}twg9l>ufBoG6I@TD$fCXu#CT+*T*&fgH;PEReLP^}mxVZk$ z6#Zw4{xe0m_Heh2`_B~pUou6e;CicKhZrhu+j~c8|6yGxr6PCZqoH!kHV1*=@#w$$ z-ewC=VjBJab-OJ4C12HCYo|2TY~~P-X!^+<^V}a~4araMC@?^F%@#WBz~J17cZ#k5 zZmcpmVU>NX@dxLy{`e2JCl8BIrAZn%P6yXe`yaZe7gbGURQp+g%Rq*r?Lg*z+op$X!d&j#GqYYZcZ{kFV(s$$_%Rk3F)>)q729j-S-36z#Z_dM2>HD!2@ zz04yC27E}oWG=SuytAGnPw~2nNY{|atP@O97*B~?tuK%wltf5T$_L8nz0jSP~EcDoAF~Z7@fbM#M#V@>wj?FY}*0CqtwUaYAsdPV|vmx@_7wK z)^4P!mhmTNAFz2vO;Qb!DSi_8wUkFGH*p=U{Nz3sLYw)w)-{&pE-b-0w%_}vFsn<( zRo?2M%6REK?yMw77JaFNtZKVlSI56p3UDRJ-ZUMf1=m;wWFoL}EEJB6_}svDn(iIeE02v` z?y3Rhtosy>S3k^U4pO*m)KK-6)3&NhRd}{AjLSfs%{t|;m7K)Gey7A(yaReJQgDQw zw25|lkI3k4dkR`|Uu9v>#1y>%df{;DCK^Z7d-t6rzX2}P1%{~0q7%*FyyTlmU&_&u zrhcbF+w{*D4*<}uoEY!)&^0R^9w4LPt$Iz0X6VS&>5Pv8_l_yJQ)1;O3j$2k{(GT# zQ|2-T-MVbF@ZCUvs)OVCs5C{5jhyJ+2YwTHRtiV#%@_7*nCCw@O8t+pp$J-)Rf|7S z+LW0cTwi!&6-t9VXP`?IwWR(>vGL%3g~MZhZ}|nh1E^?hz%9EJ@VDKbrv>mzJvcZO zZz7}OHPrMQFfCRs(N%768hg$@U7#x)I$w;vtJf3$S3!Jd;Vpu1o z1;4)Lcv+cUN8x|JFakp2=X0-Do+(`lsmciy>$<>0PI7NY%mN zhj=W(zGP63?zh8?BN8oz*M5lUqkD4c#$PJpraZV|@*=J0fZIlmeeo3iWJkI`iWD6u zEd*2`ev=)0QYi{bbq{}G$IBv2WzM|OZCoyxo)9#ef9 zu+~UE4rEz8f)DHPQsZ{=8>464F52BisQ-DF9@vYNvq5#myx@4GUj{GM)Lj6kF8I0x z8!q$Dka^xc-I}N%b*}RLQCzc&YYrg#v_K2XfArxv`TzKb>nnaS=Rf@Yr@z1z{eMe8 zz8*PBCCu&ZM@2_)Fz}gs#8TjR`=xI6lgd}1GzC7Pl%?POST$SMB26=|;IaRMKg1P+ z7q@M1K){CutnIY}wzo~{h8wQ!jV0Qz;B+JA7M<4R{p>em4fogF4kMS4vQXk$x(IXL z2X>SwZK9);ONosC5Ha2LzO$D)z8B7{9B8EvQan{q96kUjFjowvsnMUo@r+I0Zw={0Pf=-@Lj`?!_Kj~^#G?$ zPo)ydwcXJ0p9MLk8tFLPm2BGp+fwn1vpt~oYD-&wFBG!gg)W{cDpSXc3wc=nCFkpv zyWE}^iO9LY-cs&G5Dg8g=IWcg$xK=cKCn*OCtPDus<=2gD3-!$BWqP|=Y54|V%D!n z>-P=u#0M0dIvK+d5AUUIM;oA@0%gIFB8E$9?7n@;!XM<~1C9ilJ{HeE{>6y>R5^Mk zUQ}dbmEfvCzo~8S;9KEHEVF@{hZN)tGmtQ^2F{&y-COVXp zOx!6xaNWGn{OF**YqcSqWhU32vd!}ZJQA^2IPrJ;*g;RW8ULz)Zo6u#1d7AS=Q0v- zX%tUC@?kzm^o^jY9c{ZztolBU+0|?i`-+FLC8~eU?X}>1&={_CX&5DiX@3{c7WFn+ zg4pic$gRdrgy%nzzunUIv_Je|K0^lFz*>pKc4H--1q-I8W{t7?hhgV^QwDw$!tqn26VmS1%iji{(I&6kQf7)Mv6>~(I#X95FUi>&h^-&^F2kstr< z&Q6k~=iPza!((kj{c+fyGGiz;(16k69b$5RCVr6=rI;M&bF|pvxN+{ILBrH!=Mm30 zMPj~h-xeLuI?jc$y^qeoD`;a~nRpXLQrkjLz{MkDws)J?AS?wz$AKmoK8WImOU(!V z1r|HizR>eQFfdDNC1SK%X=01n&~T!aL`ionhCO|-8doUWQSErkzBkU=y?3rvL6de|PTKb3tC%XnFz}33|P#MVYXEB zP(iiaT`NsBkClQ$ohnr&)7eT#C=_hHpVaX06$C##Oou*5@=THlS^Id+X1E(ASJjg{ z+0$p5IZ$daIn7x6j4bY)rOR|Uk6Hwg{(4)j{@0P z=6@wC%VAbKYv}`>Z@aQbllxYoYMJfLwN>w2Q6V?=vGTl<@~o%cof*AjVObj0-_A-< z3#BXd8VWDnOZ!@rktLU@O~!CN;5l2ZoZp?e{AVXGsZ_O^nJsW;Ob&JxPWOlOSmuq*`P( zUVO!{gQF_fmW!!Qt<67PTQG269`qITpwEqmXSnP2hp5xxA$B{8@+{g{ZPStA-pB%e zP~tA@wpD|+eFEZAwB316Vpn2p(*l%<;(tAl>x<)nZhP5-*WDK9a=^9=htd^6lN*uz1XCWD?j(Za*#m# zq{O86b8TaX%5~zot~kY^{PI;R)~{D3{oU+)%$poBwW2BmcHK^iH4R2F>_Bo|`t??G z-I>vM23)J}BdgnLPlKmGbetP&r>t7km_h?hOy6N1?X?;@MR|R&3_U?NpPuQFp&gsx zf!S*{-yPa6l)!VTykN*>F6Q728-35m4k61@PK(X{_EEGy+fge1%Vk^B()GpePNOS1 zF5jbD*YD5^GTOVL%0}JHwN@KZOjVmsHWN|251Ys4@*L>tUOV)#fwH8krA}EkJCU`> z@)rWDVLO%DlENIm?!lMD$!K1o*3f{+jet1O<1VupU)HevGmQeHFX&8Cq?_nO_3yc& zf){S_Xl~SB8q#qXY8kQGU;dQX~l8)UCv%=93|LAO1qB{e2NIFh%s^|I& zUv5^ajw+v0=>%co82ky4N9q)H3QqF9<3+87U;I5$B z(LtvlqnY`eoLjDyx!v>YMa8^o?(Od^eI-c6vRlMuE4_@w#JJp-%PB36w8x4N+wW zMUz77ipctG-A1wcX}+lqZ!`N3^xCe5{)i;=qaba zxug!& zjg92Zc7st3#7fsaZ}3?O@?t0!V)mOPv;iIFTHzIp?^VEWiVNmZi*b7UQz_A^Z@C+; zx2?{tGzKcADu?8^YdKCw44lq%N0W`p&~&78!29MK7EQ7&&_!Ka7le#3(+ZZ?gI$*+ zrJL5S^D;CI%{x_pHUz=rup@R& zmhrUM#&=0h^z+&}#>HO}OWws-l;C{R%tR`@~zoE=0p%dgDuo@An z_ekvbz_@XaRva|wFR~l;V!Rzjl_@w9)Mb_fzty|tzS2MUg@L1STuJof%cqb9ym6EF zw{5SnO1~^1BIUa^_HLcFkHGyBlSa4V`cd)Re}n0#HvPJduP(e8ntCm!Gj-98losa1 zvN&IpUnX?j|CGkS%B;r#UHMiwCZzMl)46Ux-Wb8H5$jL-EuYuokI7a3xHdcBHk51W ztWh%2T=_!Lpw4Zjio;_bJ@1_LBO$+(k3@K6soJ#9rZe3N%_BB=uOqs2S%`UHZXoa) zaC5h6$GDK14{KBmrh6zcXI&~E-pYL}U}MzeOH^j3UpVGX<4&HyR23;FzTC8q(s2bvT6kulVN-g z_P1SzUOGDWoUoI-#39#buV5y6Z@A&oS`C4=lkshE$-ZittBIyd`^nK^-=_zN#%dOt zL>1F`*P}YQ-9LA{T!|n2w3qWiP0rjD0x@x*dLlXua02aWqaQ(MfvNXMf~^M%S^6`bc1!9~+HxN%$2{lho{~;qvt8U` z&bR|pOygTB9o*We%_z1wS|$@A$YW8C&bv+;#ci^oz|S;T=-BeUU@TmR&snq5Ukm-Y zNKd2#7ia%gA)D1bhXfv|h#|=vOs1a+V6Un&g>Jo6mXgJ9ukroqn~Om8-Ac3E9X(_a zvu5fy=v=I?xH&RUbdGdi8`_my$gtSV@b%{FrdQS|;7%8~!ndS0rQF8Dx|ZTMLLycx z4j36?95K}%!D42s&sJMmkZ-)GnuK}S+<)|Q)z$K8@}G}LMmC$(L=V}(mBf5EFmw9P z;`R9BTPq?jyr8HG(qp(4iWyi-toAdrkEjua0vX!54ANkGc#~oIDS`Rw?ni<`VXrBz zMn?zzYw4r2Zze-!{@#4KNb8x=QO>fBOpgGu%`s#|n}XTucw+hS-sz8=k6tz<*o-}o zVX?Ox2L}M*!m#CK;75B6x%haNze-q^*MF7^+(d54*snA`zL)7#**mP1DO6%6zY>c= zoDNLQ+|+ime^<0IKguw$w$+6>naKiYU7XHzJY%WuZSuBok5fI*6qNU@2e^&E%n?KWTSH5l%$Hh&z6%dy# z-#mFPMsITdMY-1Otmpf5*X1;Wa@$*e1N!v}XP7YP49%?fFqh4a-WpDw)$3Nqsbx(9 zqeL=Ayk@ZsD^mS=zV;Iq56sqH{8&hOG|oO2~h!s<5j&&Yx421ZrFI42MpYqrNK&?+)2PPg%gf zk+{5t`DG?C(U|0+1*WKzZrNufx17cYS89~RwzN$IFb3lvzt4>-HgWh6o!;ym9G-~L z)*cw_y1GR=6)1+%7}avXERC@STPZn-kkXD+cnvM&&}-9T%+L49Pc<2B@t@6nCpX)g z;LVkC7l6R$*8C}{`KGA+zGHmanABG5O0fyTu$h7-Z~j#tOIG?;wTeilMA7i4N%pK- ze5B-BwjE#93JjbI16<#6JqE3&B!MT&)}rR^W=l7g%?M*I)lU*r=6!vv!_jTBGCx+{ zx7h2PbMB1;%<5ffIXud~_tL;Zh1~UW_lP$cs|~Le4aWQuvrid?R8y?6@~efJcRjmf zH7V0sozAD3e^Y4|qk8&7cPdOI27Q0RfVA58e!c#X{pIri=#M#+rb1DP|sIXNR#H(CAp<4cC&xY{UrlDDH=iz8=?muNbw3!eAZ zEOT_n+Zv13!&k~|dKe8t4#GsY3Nx!$r@EdJja6Sjy2jBKv1H5v#h~Tr#e7o@g+I1i zdun7@k&mj*paL0I$+AC(_dGbGnA7F7QYyW%AU?QhHWuq0Gl*F?is)M)4rJ-*b@3oa zQVvQARXZyV`jmeEU+leSP?O#EKCB|5f`Fn(FQOFbBE4D>5D-ym0s_)Ip|^ky=^`M# zC|!`=TU1Kuy|+-Lmq0=bA>_Y5khPeHe)oyaYP6EXfX1S z-c|4_A-Z}dH*M?8 zvS|Gxhj(T7ut*EXb5g3(VLnoYO@3?b8jCwMT9%&~+b~mCOyy-#l=Ady6sKOGVVGI4 zHLo4Xxe|4WqVY!(*A9*iSX1VR<)(`g zAk?qVK{0pUi2!$MJ@!r&0Jq0eBg1P1J-UK`21CEy{;L;&90R_@HqxTg6p3la<6z1r z4U6Mds@142QRAI&d*!$}*}mmY=Wv&n?>zck)*dTiBr~7!F6Nk>2-`N(C+-jtB4uw` zVPSP;&=(<8zsACN9}&ve{6d^!K08g7sTfl~uX42{%x?r`rvpiHc`k%ssljs>#yqF4 z7tio4sJOMfD!Eh#Zv^-&{I$tIqp&OqTn4GM{?7%`s@%wOh zEILx^DP-lMYV%svjg2lMd{B07d5&k>n#ZdCX}MYY1H1Oe_B)KCQ9Ht=0-p6vJytrH zT1%+gofLyljUAR2Iv#7GjU!h_%&qjtt+6Xr`YW~A#v>!@y&3Q?WfKowT-@CJ81>HO ziS17I?0tVtIx~WJsy;C|c2fhEZ<8y6{TK27?>}_K%WcG$WG6vR&s_&Cmk;>{7eXwR zJSCIj4-fYHUskg0%eVL_MmxJ|oHR3^N~ltYOd5#|(@GhM^q|Ml)zw(seo#*iUxWQBCf8YD{)KJAd0VeR62mG+ z=c|!BFG)Li+UXva4QN#F<-6ADAk;@d^}QZ_Aay(P{WBFA8J&KER`dfUGB4Cdmf4G;QY@POVekRW;r8UwugqCn>v1^yMh9l2>p9<+ z*Z3WSUSd=ijfTK^p+RxEc&8d1rlp%1`*fvzG*N5FTrJ)U6*yDV>^uBsdS~bZ=o9YK z9SmA6jk%2`(OF7NY?kgc`ubJNpw|0`5xbr_+7%ArGtT2^WBWcoS=|wDT%PwieED)| z51CBT0V=B-`t_^TlVoT^XVDRLr6g^NIWoHIoD&BjY-~wqIq*`b^*VbzZl~e%<7~xc zH%&`ybNGx85qVIp7xqKxxbvv~bhCM{Vk9VhaN_kZ-k zr{ymuJ(kIpCIzr&ScY_#A?!5-)j1BW5kFXu%U+6fZ@UOPJHuh4GvfR$hNH1wA$;_F zo16O{Rl&1~F?VZ`rxhD68n)*GEQWS2iERz+c(QCuPriFd)f&a`A6SbE){G?0HF%C&iWn~aZN(6Q;XMZfChf6IF7 z&4=&iQHfB+xMR0*ds~6F@n~GneG&DwDvr1>3)tXoWBB-X(+gpE)HZJJBA$N@i%r-H z$)<11!j5KnbbYjS_h3NnvFYvVdSAlo=4Mw_O*nYG5JyUYcb{+7W3nt7F6wA9DbbE2 z4yMCe70f;%P&8U2TPaGN{v6DBTO+?nlZh77$(GTo{qI6bunhmv`vDmAe7*5}A|0UL z%r>hl=`E$B!*`4qx;}0!4OWZX4Pnq)8mZ)oFL~blz9;AQtwOImW~N(9{r2+-F1KZh zR4ipdx7|nwhTrkb&m@YhQ^oUc-okqz)#%J)>%#MCQAU0cwRtb*jlo@}nu45(6M|v(^ zZ36o5>{XH=2NHWK!%NiNSSXc8t6HF=*(AN$K{2f}Q_yGzt&ep!$6#nX>#xiwp7U6R zK8Sk(=p)ghE={=Vk0lxqPqQ<-zMpK8)R*DoCeHGYn>vq)Eudx zS=U^erRWx1NL8iXq^E+HsTzsYI+D8Rqo6)7T2k``)?O*%f}2&fuXBQ#eO|m<7TU4) zdPcweqD|$2hCQ5D^t$_4{uJAEYeu5}h|4dmq=782{1)F^yWeb8`cZgmd!E~^X|`Ry zHm|sbW=EOa-QX6Gk_KB@3N`8Nu9snH!7c4O0fuh3xLy^H>R}^m1b=>qs89KDRED}(oLoKevME^cK_*JYeGRC>=W z97{jS8r>TmVEwzg{}~SHdm*QjG_R4Z3d*$J_aEwnRM12?yyafzA3>hWAk=k8+q_8! z=E0hMm6931;@_~i5y;IKh?iRL?AhZ8k>x6#aCR_v>ud8q6;JhBJU3NIlDLK@w-_==(={`P}w=6(rE zR{%z|GI_@#(n03XWFTMv(bm($9NP{pXSac2D0G?HngfSTuu=8!5Xp~LUaS0hZ=vH} z@)_;X>c^T7noPrnSJSYK6Ij@#(s6INgLK0|C4vHno!D)NL~#2hF0EO1I_N;-+}?2} z;W+X8Q=+n+Ch~ibI6g@?xbE~VxM!AQ2Qd6^rvjmH`l61QFeP7`*~OENKb+tnQB#VpO|JmG~z)rP~?3x@K&z1(WDUe|@VnlkK< zh(@|VciO0oCgQcgl%85AHMbLyK-~v=vPXw_N`NL}`qZynTdQOqT-{29;jVbQY^f@> zCP{9z(Fi$b_n?SPy@kO9qVYLk>n&TTLS_1R>L8s`CCzPIXRs4?a}lD?r!qC3vu5oV zS@gG*@2-R^72!Q`qfsC7wpzJi%<5~fjOvM@?}=CjN~Aj;-dd%CUn(g09BJT-QW(C8 zKT4!{BTp(hoW!qm*apRZBSF#zV>IT7%UezySeq?95YaDOX4>!tj%4LTzif>Z!Cf15 zTpiyTktH}mA388FW?hER`xUTew5s?HR?E!1$aPb8*y^tAm{^>ey&Zs*rrF}?`p)xl z%U&8n(czsokR`XMsN9_u_1@{c;ppNyA=|Z_Xkp0Ra6fWp@z2-8dwq`56LAg#XJP{| zB-W_iHL}*HRra4ZTjHGwO;)T!d9bi^8R6}`78T7Sn_*@@IBwv8` zC8S-J-S?PJq82KoR8mhWm|<@;t##0La~U7DMFpR!ZH0_SA~E_KOIrJmH~*OCF9QfGu>-3`2+5+nYDU^aSH~We`I!ypI@WrL_e+ zN_DJR)kf2@?wJZxev>IDS9MbSp4tAsd{q5lt&=@wB!RY#OMmnA>#!7f{n0$B>)Vp+ z!rd9RNj(GmGU9Bc2hS^BlS4=LM%##6`2&qANApBRIhXnQ97N*j+;-L8Da$G09DYe2CK#Ymld>`1z z>P%v&!CH~kf|-tk@N9kP?X0=|&|I>)^LMJRkov4@a2#>&*3u6g?v&M7vDtAUD0tT& z5fFa<_UT^DXX$A-L6m`3UuL$t$DnM?Rd@diHm{&Fvs2rfe zZ7ORg3^=@&ztdbdn^`$0da!-be%>1TxeT_}Vjy2FMDD#Brx^F)xo>c^#cNYP zq8Ad0yI`&mk8h_k+#(f{E=hkgF>Ixn5f5=Q-%iTNkUp#2e!U2BBQK<^dU@etIIJ2) zA~<^h?X#=}1nxBQRe!cdgDA}5evPGY$-};P2>y$Sk?nNCrZY9;eH-o82&YgUvYoJC zgYr1Mo${DBnz>LbzOkV|U+T)9NfC+k=2zL7&)jTE_GaY>UA0px(hWQ4Z3?~ z)VdSbogeI3W0q0i)ljNYi+Wsu`_Y`%FOSC}c1IDh6k;Js0<3!Yy*fpBo>mdN_jYg6 zd1YbDI3X&>(?iaPY zwfh#c(YBe@z?y~(_1tR}B;dbR^nAO2V9_=T+BUHsP7;jj>H^6Fk zJ_xn_71H4vdMG-1O(?Emz7Va-T^0^n^ic$PPDAtqPmSKcI;hF>h%Fl3<3;|~r4~Qa zaAi6Q5Vs&KUo*S)hLi-hcgB852cbI=-`RD|wj&4S?r{;YQe&2|m(xvnjM?J*Gq;S- zEH{}pX%#>7u4%WGU8>tC#8L2BSN#}Mp9aoH-)K@O;kboM8Ds@N@avzOPbf9t%{bYR zqglYyA+;g2)xrN{TXx}{*t9M)=a)p6ktjohml6RpC?pZNw=RSC54AMqFC~oP7WX~3 z>xDkqBD@7>YdyegV!X%MMYSe8oATX-R4cy)n{FKqLNeI+sp^I^2<1-Jf4MpB{tnT&M)hccLOy%j)H)9|FA|CP0& zAI}1+$BQCJ57T&2W)K*0d%Sd9$Mict3K?v_(50j=m+(35$M^^J(M7JizECi%wpD2q zWzrZDN0TSH&sYHBR3A!bq1T1!JCvNq*<{u?W?JFAPX+i%n>wPowKoC>laxF5U$o=8TIA4bot8cXh+T@D;MT*nU-`=1;F@t=;S<7eb*TjWB_5 zrP`T+xZFS;+wxq``?Xz91wb7CqpBAxJF-}(R`Y-WF$-%a9_Xp^5{#95An!~$f6|lK zkEu`1N*@FRwCl`~Xn#X|GqO_#jn&6{hQ}D7B%FtgcU<9W%>JyyyFZdl6Jx1mch_js zWof{PV2op43VE5af7SgE9>JIEN4`NklRWIX?v^3Gbhg=;;}b<)HZFc~EZ~ z^<77an)hwe0rIsVdN@OAeh&7LZF#I0x`)e~$%7sknd^_sUS({fg>9AEw_U7NtE}HN z4~3r@)VlyNk!1#rXn6FU>)xOY-KKxj@SbJi89>xvPa zSzL6A8+wjeQ1#5+bh*zIgvFJ}hRUapX`DW8?fQ`@c*`jKuHH~rA~vM}gnZ~mHLOM* zT6t%JL9bY3rX;eQ4Kx5OFm$Ow0=}m4tgV~Uwu=qEXB#vC=3K+T5zCCdLy81GG>3ik zcM{{Ts3G0oQNwmK@xyw43qtYC2YJ;$l0=df|KdX{Yy>#)@a3Y!B(>9%K{Ub=sIRx{ zR1YXd@Td%g^*I5M;E{+SKqzv5Cxyddb@6D z1$R6RXI}q6fYpouR*SoNK#KCeLbTo*>}IM7+E1rGEdMCRlGHu_y$Hq>I5(K|@iIad zWM^49hYBtC=R2>)M&riXG>gr=tqK6{uuC@M#&_JJx@aP_eBL+EP+ti!w>A5du2>J* zrwn>~2OYE^6{iByG76ZR=3A$hMRT|l^pBIZ1otb@jX7c4fkn^bMOtVs4`+B9giqeW zOj=F(XfSD?j_4bI0_1h#AXh7SNt${8(dJrjhG&K6cJ#c76eD`BJp?pyYhC{l zP4@K%$?VZYspS5LVku+KNJ&?5)**C4A`@s|)jLd_Tr%kSPX7x^Q6Efnu6oM{6IY>T z^zECLX8<>pvG1W3LEQO-N1w^4EcU^~hfb!$s2Ij;d|iE!@B$t(>&-)6NF2T1=i-A- z=)SPGM}Mg3a1@E{#QS!$A`R+kZW#>EQ_@1MtT*J$XY1Ys^Y~#=F`sKef64}fG~_2{ zjH0@b^=y$Q<4&aQ2a_)C{AV^#W7|ji*G09;x(j9+;RX6)!h4%u8?~RS@MG#Qnm}s4 z%&M&B+3gADGxR(o=H)e0dtjKmL}}dSbk5`6B+qM19xDZ!)voqAppZ@k;d$?Vv;eE~ zgmDx|um~24;cZ{5K!8csJjW{pX$JD!E0+n8Y#ZJWztgOL$t3mPGTE9bemJtyg3y0~ zT3)&RZwpP3=j4{ZWU|UeAY*8t&xPp~X0=~7WKs3H4CK~0+PTTZ-_2H}>JD&$mu+ku zF&{||XbHI%BD5`BDxW3UJ!XOqe8GpW7&oPKXiWYCYEIvV z#6yOj`~i?sfwAIemf1cu;DPL)uNkRy?}C8e1*FX0Oz?^C0Y(8x)5Lf>4cu;z=2O!T zDTewUFiF(tN`IA0^^%hxoLkRJlZ-|nQ}2}9yQ?s`Z5764m`AmOI=6*f)^Y$Vf)CNL*|!d4P1>)ouJtT^ zKfW`;Pe|jk$<}N#{Sl4IgVraMjT7p1xkU!CHZ;!WG;Pfk2a|$Hp^VOBHI5U?uqp{s z?J>=~U{K!b7FH)8#MA!Z+Ox^Ve1#H|HZD07tr|+8sg|Thg4EecEz#f#BB@h*bF9sj zkik0Lp<^4cwJh2}_b7g}8>xsB@gt|#i*+*Znq*BIHk|8l=fg_#+CFx}+<#~USLS>z zp9ozWjuxHAJi&`-JNc?eaWc0G8o?Wyx^W z$mBj(vXJL(ndPp0cbNa|aGN5~INwkYI#NOp%1V?!gn$8)R8faj0KaFNgH9y({*`KQ zu97R_(4~7!Xnc7(`|j@=LC*S@yC&grorIij|GU)%BBPBL#A&pW66bQ7Od+(fuf5(F ze+!EomQ_iT^mtPBlFm&B93#_9KXQLxA`*DOEd4D7;94(Pu@7dmb>->9tV%z03xYHw zK@QTgA5$R~-tJ4bMX~AQS*wR@TP;}Z%}}N8pk)G4k6>cbi>2<)@r}9tgxrbj=0Bz{ z{)#0P-~HEuw1u=o4s$283Aq!q-Rghzl*)YnD|bS%E%wTTqGR51!jg^&4_(vNLO&&_ za8*zFVTK6VeV%Any%h&QB>wA;O53|76j_HZ131pQH#$+32E z$4!|$l<8F_Hi@MbGI&VFSn;^qG0Kxa5&yK!%~?C@>FAx`% z7ATiamASd}$6Q$5Us4g3-*bgjPMHzQs6@-m2uEs~ASWUJ{BMt;hI3ANF0@25(S|=!p5l{*C@B zpr~AxTc+`KJ`LW0CtjLuPFl7m;fvT8$R z=lqhfrk@onGv0?^xduA%_KwSI;(teua+1ID8dq5yPy5>NK5${DDw=a#{%E5)ZmFuOWN5aQ2gioD4jD_7k4fpw`N}pN_e4nyw5;-hmz9xJ7hS#&fB6 zbjGdwwMEobN}iYeQ(C*6DNr(ml93|$iLFCaQ3M2BLTBvoAAeszxicq!RjWK}iny1o zbbP7fd7<5QkY=TsO^#j#kBHS!*OjeuGjQxn{oEq-0%9V}A`)+G1#2BQEIO`-clKR> zUcW#i=6ZW`GzWUy85iJLh;{m-hU-$h#UG7of2janaGeR|v$?fYPY=s6J`O)Qx`s?PQN%+gl0GTq6Dtz3{I*AvskLt0CMC)ym~fLXC(tVGNaNNR{3nJ7MxG zIjG%m_zytv+oD)*{JiX!T_K!@-HES)a(8t#mEb?r+uE-@?FFWk&wtE)_*+H@ucPpD zxzdZdy&6D(H}3;sP845r|D&2G_QFq}|9YVDp&tKJ)&JTZ-{U_oW%y+K$DajFnIK2u zj=1n2vzROWei;^zpwD{$<+BKzx_SBMayL_}RP=%N>kvwbwbf7}Aoue-Y@_}TrB;M>0+M^`w|E`+MN z@HGi9K;+7G66#B0W^xCAe~DzRUuEJ&n$EwIDZhX3|Ag;Kg}oi zKePM0hxI?R`~NGmtIOL}r3zb+d}g<~D9W<8xyoGQzSE(&)ZcI1zpy1*|7L61Xnf>x zflYghW|f0hj(%DCRWCuC#|HgoWz-8Du+ENUohvqBhh^E146m0QLJuy2J0~S!@uxfY zE2V4UlYyPq@2zRk@?utkG@ajbBXOXnYjr>q>wotuE@6yb(HFT|b?{>f!1LlQ*)0UP=7D zFoKzryZH-gzIt<)>vz!j6S?;J$RTBLhU=N9w9;xUl1J8_PQTF56rCVQaCI^dzA9`MQ{oseCGYfaY_l}zhIQ=mM_L1T*nvqLm^`Go*m(cMO zax0Q z*a_SE1#GL|uWe;AKlCN#G{Eg}+&cMZ#XbQ^6YBiKCMmi8X^M;QZDJ96DXBdQrWi9P z>7ty+t#j}tW74?QYJ1BMaFt_^sR%ndu=&LzpZ|LN&sI>O#oGiqNzMk>qtgBOPsjG} z&pcVIn zon_54J7%j(vjv7z==SZe<-)B-9KN4VInE5WgaqAhndlV#dd0C_k zF+H3G+RAWoEF*UH%l~mt4rDzvj@sVYcpZ9FG2rBjlc(>oUE$R286V$TII(DRqq3@s ze(~;&%G3+zZx=jx5QN8jn#OoRcGhb6T`Bm){Frw-R907FhKGl-wYD-dNB?+yk8H{% z@84tQT(w*NQ~{ZP6&R7S3lACLbSxgC) zP)gLTa_;WS>fN6c_4l3i9V#&D{m~qrss_fX36)q4UwcL;X4WOA_<<*;cs?bxvMZQg z^!s=z7tR~z{;N||=J*5LRPM6<`M%LWkJCFJ3f`jSip}_Y!QAH5@5_UE>QQ{U zY`Lh6;&d_l=?87mf~y0vEjSYmR1oo|cory!-UI{Hq>VIoUHRmb5O+hFZY4pPa-LvZ zwI|&^fYaY!;!{=-Gwh!x^)FP9>yeN~ve|b*IQ5#I**OT$iw#g4 zb4HM3U)NGmrjDtr`TCn^s$#8=Z&=uCV`ZI8*hp^AX^-{RK;;@*4El0M3^Ah z_Wvf>D1u;fb;hCTC}{r6b3C8q*sT1XoVj07c1MydhuVYIES<7M!ftWQ`2?k$cX@{~ zzcjy49}ncB#}@QPalR+FMFMg5lY3k_$KGCF@$T@(*CJ2o8%OJ~@jzcxnTRl)&QRs~PI(r>_3Pm? zso)0QCoy8a-7T0T=)XM2hKPJoY+lL5b;FNC72AAURF(&LlN237RN9U%P$qjAH4>d& z1v2Vy7AiBbM&)JOM5~@iFj2ZcCq`)Vh@i;VoAW&eUgfKTH(> zmO>?#I;=h(qz9k77k!X(H`t;tLsefAjGix9Sm;jKE;uDs#q?luCIfdmBLp8kEijzZ zIT_}-w%?F}bKtye=XrZmr^V%cw`B7KwLYV)(;FMF9h^E+)aj_g#Qodm4>KsY@^F6S z*=Fc=CbPjp!P%C?$S1kuw*#Ye=sjuRuiA-1XAa180&~WQQFEytJILO7`4GR1@`zK5 zBj0uHIZ02nAV&HaEP+_9h=sTRwcA-}g2+4Rn$TGROY_eUC5Gu_1oI+M8ly_6{Bc1N zCz;?M47b|sLry>#XbHNdX?iSso)R%Q`7uhtZ7pUa1y%KgGNb|G)3JbaGSUp3$V_#<2qffU_iR1S%q-K*}eb0$7ABvn`Q!gY?X2Qv4B=2=Ej$*t^z7m7@hOI$zA!yGMC=8^oj8i^}@37A@7v| zQ%>vAia{A~x??mH0%gI}SEKmv=t>kPFN@Zu1qjDUoryvZjfkb{Yg`2hY3;FPuh>=M zutObKo&?To$j#V?m_djg2njSuRiX!Jjq~D~SU|&Y-V7D2~KWgUg z3Wp2qGn-M{D-$(-u_D$MW$nikbtyR4?UVHlHZBpH%jK!`W#jEes;#3mAZG;Otyg5& z++D2YjTNaszD#0H!vtz{;jqxI!9mzZeeas(qWdiDIZv+#zl~b9sgFBt9HpO|AL6X8c|Fq&)>XH&{}L$taCm-AO(ZL^syeCW!5L2 zDwCSFJ|2_~gx=_!<+Pu^yt%iW*V`$Jzx;JxIZotMIpU%nFszwy)a&jlO`r6e%+b?%y(K#B)3{iL>4EQ)9i?xKyIGFce@SdG8P-R zJ^>#Lt6uu@IQvA+#@$Q)h*~caMoH&3?$CgHaUy3TuRac-z{`U{M_^SxXgQ=dmcp1N|BJS7@ez=*jp|0&_46++d3u0E;N!) zH(tM;k-9xz?hpYDIUZTk@9`C^zVlm~NluTUlnP~S9KShnc5c!2uRJUqCuFz`i3 zik-h_xYSDXJg>a>cM#B1 zJM&rU9A@}~mz%w+vX&JuU%GqX&O!_u0u+Mjgy$H;lcK(Z{&AmLqw-E@oLBg`k3p-I zS`DW<`z)y@N;ROzNj>$W(xluRdPZ$I(qQ-lowa3Nozkw3gsN(1q}ObuMyCDD-G?Om z0+6{jN*x^lsp4`<92Xtd@OcIooU0n-U^MYct7mobwpLh;_ik~E~NIes#l6^vQ)T3*OBw;6;IB%7eC+5?Dcq7sPfZ1g%_?WcMT%GQ!F27o>fYR2#7xF~ zy-APdLl_J$bu-1lE&4K5VuV2JmwF?-cWWmyr8-wr4u<#EPxydKdgn0PQrG#z%7NKP z*=K$jHOs9#c-;Ah>`^b3(`N)pAbg2o$ZB-RzC2W~%2|1Un1ya_q$F?@Rklp)lqCPd z_3OxG>ybXG^oMqF@6kn9sPm$1x-|5?+AV#zRyuWh5oug!(R++~>0rl>IG@cT+dHB5qz$3lSK>%WbdO+=$h#HS5cGbjb z^dmD!m9zB~92fzg0(6$gj|Ql+fOkpQO9}pumVmj;4WD(zJ}* z@|Uty+XobLmoqbQyECe}#^Z0rJEi5TpYUFqq1-uoo*`eRp$7O6bbG)(zm-E8;3Mt6 z>DZnjKaB};iKzFd8by+85&@s`!@Pf;`xEfd0b9pTB3$*A!loH-LZRq((Q2kqRbU_^ z=4&ktWW&rfYCYYqkPJv_QY@y2!t4AfdcptZ^4{N-n(vz|xk-%`civpMxPKs;lw|Y` zsbgDg@v|77f2zb zKz`td(---8ESqTr4O=7^H)h}%@r{^HkG>RNd;t-$4EbiO%}Bn8aIStGC4|YjFJ*Id z`-~E&2&}HeY%qbGS^DgPE^JBae;Mlk{5y1<$oJ;kQxVQ$ zk}Oj741L{|PD&@VH?Di`p1i7=?^8cT^z~!BIAj?9@zfC((1w%w#Q6^w1)_CmefE!(OG4&y zeDix1SNfydx!0)3&J;$wS{N<%&KEuE!Vu|~S z#AGe{IFE8vJ^3CsT4tNEHeTg+qL!~KDfUcgYU;H*vq&SIVv4jMT%IpSLZTOFF4*tW)M~p+D1;rexl7p42n52j{iCx{QFq zC_8|Hl4IGbpp^@BO@EP^J_p44ey`kaG|@N;)w+N}`+SOdcl0`h`8zftSlW!D|}1Ph$Xcb@PZ@ z742KaBd#j3*PA1Mq+riOSbXxVM@xq zp6{e488=bd7)&n|!^Zv*af9ZOi0e8_oMZMhlM`Q^XKLc(B9r!WY1~ri>3aVZ6$2=K zvo}bwQr;wVa*P2++A~sY^O#wGj5#t~s3wtY;xd7GA4P*Sqzb*0`>f0gmfi zBg}oa+l%S!%+asL@8|ic*vc z8Pm?1#*ukRm$f#_7~I~X^mmryK@6BvX(|aLYHM9m|p59d{A3n|LC{{E~;R`ovY8QigCv zzDt4DT16(2PUJ^0HgC50_MWd#e$z`;Dcg6CS7G_)N&21k$P&vZPV8nc@BY3uhaZc- z_x3RBDWmvZZBjNO=ZPoJ={QZqAD<{lgfko`GN(yR1@>}xa|6J_@}xbtnv2PvQGCp5 zFHfAIj3^+zR_FvPm!+Z;w)kG3gMN=#Wi#(dt!AgW@`|g>vEKLI=}Qw)`tE}%*b4{r zQm${uE-v>$|Xes$86ZclrcEwCvU zkA>+-Ov^p68pwG)sJRuX-#|hvJXK;&BEB+QR5nI+^$cRKq$67Jr2@}#OulgIJS4|y zxfInAWZE=TF!MCY$c+1K0ZpDtoph3nm%Bfo+NaCmdGDKOj-TpnmuqQ=pDpz#Mj5Sw z!b$#NyRV4Ka>#t>E5{$s+@4dYZ~(0ODz8+1 zJRqu@AyiJ2jJLutc2A4V&c?hvt5;+aJP0A$Xpy@gE9F+mU`Ta(SF!AEyy)gZXM&`t z)5_3|CQp`j@l{}RSC-RNXC=$f+Lut8zM*V|9Zi{*b_l*lKk7VzkJeQ&wOU5-DP=}W z^elYex216pUP`IDRMU}adnMf%ozb;Lj{w{fO^x+iaRbL_rEU0)Hs50^;U|Q%bdo+g zZkBVL(iY~@>M4s}vA{9ur#OgT)%}#O)~43sR&Pt7r8?Lodd~kvqn^|RhDYVAbFg{z zFB<$O8UF8oeho*1=rE|;Z5a<*E<1z{71yP{lz&{6Vrh^;r`pP8n zb-|TyFJ&x(WM(8dhaLXq+&q!()+eW7q7bZ_~f^D+pu^2GUel>!JS0 z@q9NCT4!~n#I0my@m=w0W1(2e6b4*~79kgw2Qdp;?vEkEVqk@Y2ZqmE(? zu;u+OAfPa(o5*YT(Sl%T7D4jfDZ*!0%W4 zR{RJUoi5P*GTs+!kDMTq;@@xhI+7!jMYi*-%x0WseYs+}M1pya{#|jzjm47zG7lzv zk?QI9xpsusvH?2m%}Db8T-Z`Jp(koceuTu#GWV(Y68q6U#B z!Fj|d^CKCH?wvRF`~H}dlhX(&UU#m%$^|-8aXpJ<@vM(&riGO2derB}gA)bv(n^%4 z3OPK1p>pXNG^;vR{Ni{&41c65=k$UM@dkN4g-`E|tCh~H+yV5WAuEq4W=Uugg#oi+ z3{86U_|>j%sTFO^V3?pqUzFCV+|-C~PBU7`WSvG{QVZ5ZH?mAS6ZKxPatLx_Tn*Nz9x-(!y$ol)ewaP?7f5=m{MOJygslhowI@f$}EUig}w zFqUbvU8j0PN`KwVtdnDD@5W6j=z$U|#f=hGt=k>8npD2KL@%KN12gq*ch2*kFF1{s zX-pXPB<%-SY;Jhw?CIBG!X80Rdo6moxJhQO;?kucH>Z)}tnJEkt72}b zh<8_eGF0IK_snCSZoQAU5Xt6v;ktS~XZ0e#o*CkzYr3ykPTp$dL*m98!E_Ur9(`F< z5V^~aadipx44j5QNJHjXvV%33fivqjm?(M&$D>oavnot^Ui{rcjI&^=7BQ!W-q-Zv`ZDz0fwdHZzZwgljn#n*MhN^*d>%Pxb^|A82mh#@D zQ?8-n-eVqRP|o^f*oAKN_t$~fIBv8HdhZXuetzV_wILjKXEtH+Ja^+_I@Sq)K!mb+ zfg$UxA|fH*5IVRDlT1D9bg`QGJAjdJMb^mO+FEw_(yhE!Wo}*G=1x{;7_c4Z{4{6Wke;f5_;86P@B;Uf zZH4vj<;MoqN}ur00OA4hL^xXB9V`B3=jd48p6geL)pULH&68@Kg3C2LX5jRwLL(LW}x9g`cZ{@ zw2AbZh<$V?BIiU*Kl^G^Gh1XK zK$8$sV1C|uf5)|Bd~;DHDT7Z5fNL`h0j4#u7A2z?>7=3TGESlUt7RdMKPL1 z24^?VA>p;H#7g_DjZ32D>?U%VlX6P$H{L zJ9Lwc_CW%O$G6o!?i;umx9Vp>4Wanhptw5yc$T2vx7TulPhV)_HDcOn#gIlV)@Kzt zZjB7;Wt;^36K?;;K-()Bw{T>Y4#G<{3X?E9w9&gs%H3Y6^}gPp^VZ(=h--JQRhYtN zu_t!~9|e!`NO`-lvBH+u$I$Hf0e3%m)7iD6Uek_VB5(Yrv6=c(M9y67zO^3nzA_C* zT-jRTJh}eteuMlbZqYe+r2p!}(GS6yPH;WPg>|(u9wz%Qal-H1dN}7?%dd=)EDZxX zbISQ6m)WnV1?41xwLgMn>6QBLp=FLKUpdzL;~WVv5ghr--?E?dg$ zL;x>0cI8}!7OJcHgf>gLFx=KoFGfPC*cnZb2HP zLApDoySt>Nr3C~;y1N^syF9ngexE&OX3suz{!zzqVAjHQU-$Km&u_(E`^nq|#~(56 z25|5Eyoc$N4&hkwXn$}T9?C7{f#E_ld?v3BW-Yd%eXiXhQM1mKvv!a!Xl*4zwv4%b{kEgiet` zz2fxE0F<8BW@#bT=4Y(&hvw`&mh3~t;*sE3)78!&u~H)Huwd}dWWhvDd=57PRq9#o zk~(<4ek&UOajE57x7AY1k0%JhBG;8V%|X7-p)|u|1;3I#SSS2Zj$guCZVjfr1)^Gl zAcyJD>E7~R#vo8n5nTLbff0>|8;qGRmL(4y{SMbY_`B6$N@8?%(azi6xV>iDw}c$F ztQm{(Kw)Ob`BE`GGz2steO)J`k+Cy41xDRAL2!YaWDbUmK?VICjqB1tgHu}LPw|J= z5^PLtAf} z;Qg^ay9}hbxw~H-(wzmr#9AZoCw!r#ky~$h6W{y(Y1FB7RR~`VEtYWV8S^zH@MTR1 zpCIe(LQhQp_GNhk)=PGlmg96E5w;3PcW`zP7Yl`LJHOR5-kaFH#9Z$~{xk_xZ=wM5 zgf>H;CyhCqKMGJQR2pb&CnXLZa#)*uvp)tyVw=} zaRPMN4Zh<+p5-+K#y7DIjYq+=K3WZ~5}O#icXiWi?0pVNM$KLiNFrTKv61ijTCE^X zo!%}cEB7J~4#8Qa-oH4ouMik>x7Z(U{M^KFp)N!aW#dM=9Lz$eUP(dx(_{3>ZC~@r zk}484c__&M{;ieN{7t~m!YA1Vz@#;(8PRcWDuTmTJC%O0`JVfvN*M5BN z-6(`|E8^zIq;gq&F}fq&7o}(ISdb163D(kxAeqFWp=aTPE@pzO#g>MV*ozKI7v`66 z>}w-((c_}2s)QUS=oI#gDd;+KxmCiy(xy)f`tfj<8ym7YFQ?uUo{$CXfa)t6RAMsf z0y;sQ9S>ztE)0LF?*$y*GHNyLvEg(+ruB($^_2V$C=4l@XMS3L__j?mlFz`>)Xz^Q zAs@YwgMe62C_c`hC% z28T4m60=Rer5r6eq6@R^q<#x*ZNrEN(#rY24esW! zv*<@jPY)rTsOSMrk>mn08lF3jH_x_2jpbs*M}m{_&e=j-Ey&uNeY2nVXT?bIlm!wp zYr_;Zt_%#}i&h_zW^scskVLaF$^!$F{rOKSP^yWiYWsm8JGkE%wZT`icDxkI>sj-e zgzNaj-2C%fBt%5l7KYq1xq*)BE>8^AcyNU%F4-hK8YD6d<3v|VQcfu|8Qi;cC-3V3 zXW)sFviLk(Z|CsJN0(!NVB$ZcCcMQ-q(@G zROV&uCTsb#=A~c=XD_U>HbH_+7s+UVx#tz{`s&Dg0>DghXH_JS`?d#CUg7_WztwB^ zn(_?4@44o?a64sfhHiuuoRuv{znu6e>woJZu{)N3T8u0)SZLM69@^9NR4jG2$^f%n zq(xfQoTtD-clo$43O-t=5M(9}kIza}3f$QLSZVV`t@VE1Pk4$$V8M;^13!R(t>}Fg zl}e2{A{7ek191o7s!mAtUJ%+c|~(>uG*PKyB>*}boR!fhlDN0Al5 zXOZV5id_gzZT1ORpE9O4+kX4ND7zYh^mw&DswgejMlxFED#iZ;Ay`RPba%ehU!FGA zq)Hhi3Fim6k72!U z?kXM*yqI+hc`tSr<`^icxozfY!(>pNvS|Atogd0>Cu^(n6qDy#y6+YgbJ|Vl^WoX~{6{*}n{*sx;a<+{F{5RLVGDJ>8%qgZnHF4t9TlvzN@j>TD&+}h4 zk92i7-wP-NTQ6NH7JQ=pV&80X8T6)vEJP#Dbf8G{EU}pW1~W?cr8>Q2#yodT)_RHf z0N3xPbA5x!7X-A+F6xJKIkX8(suRyBkgv&G-&TI-j`_v#3Izwp)4M67Lah#MqQck^ z#6|3f3`3NMU%wh~MIYiW`ZqZE|D8_zFJWbgy_@WFGCVE1cQf0|cE|mxNq7fzy%(a+ ztOvzWIsxsEw+so3k4QUi>pc+&*(_zMrBeaqO9{K(WZlqw#OUP9D}@9um1W3;{f)4R!hvUzMCC*;(jK7J0O zOg?26(-q1;FP#I?2#g!NBp^nUWttoU7*M(yVsmnGewUK#Vz`+YcMyqad1j&#TB49s zjokReF@jP=ZcG#jnmuTy&;{i~a9ZoOgN{C4sI!X6Y)W|>I2#l{>d~3_XhBcW9NbTS zY`bdzCbXq{?9=`BNtH!BxCtqoAiTHz(XB&o84IzoWDFAfYPpNiF;eS;1Z%#&y1mam zw9r56bem;IObr^1CCWDg&MAb6m&lP(0G{{3$1P7PiuuKiZ4BtlR91~AN%oP7c_Xz*SPP=b}x zXcY8K1kHxr7xXQA{RJiZ+ST>-R`2j zSxbYU$44f&WWG22x^4Fq`2>#g*=6HcCBoQa;L+h>`Pz0WHKAP?MLtjt_{M0qAK{(m)Jq(Bnbp7p+fc2kcJvk4pdX32-Oh=i zS?)$CtD;$P5CrFETafq)X#_|@6e-VA-BgR~8A>Q&C~RaeOfF>H^RakcA4D#=ao|J^ z=~A$_{h=L^rccoO*N6mQG3Y+<7Ko0a$2 zpFA{y0W7)u#Oqu#R#X$40>r1O_dT%jtA?=3ck{90cc&{Whqv*@p2a1@R})V4SaTco z!4!wZNv4M6*hAz@uD8-i#bs@q<(CXT4c%T?1YU=_3+M{(yXI%v_eNTM$^vP|0gL-m zkH%$8N@2z;)DT;+9w@&#{e50q!M_m`gO%M^>v^Z9DA{>u`t8%^%_3E@Z0Ypo=VbqP z=&U@QBi5GnJ{gM{L3i%6)yBDSaIqgNw7&`U=%sO&rw}cRhxy+B8RYqnAgZbkMBYv9 z^u>ZM1e73`0 z+TAi3#(=S>lE;{`MBw-Cq42j=b!QcHakuOKTVNI3TG;r%fvedkiK788YG{c|codTd z&VEKOos;~L;|LUcL>BoYKF0i^%>+-Mzz)uwLIbbT(3qTlPE@Br`g=>R3Y=p`uCayN zK)Hg>ZnvIy@fo9bQz|AIKXnP8B-$q4CuDqe63%^5g+B^~A$%~KmVx#RruTK3Zs!F=U%kZlu zjhQRK5DppTnF5*FWKI#XuXF^vgr;%q%MfnU^Z8SYm7_Cm)O0qklD&zh`V` z5YPC?z<}*J+%6&(T1d{2L*pVO{4Sk)`g3h=fAALRb_U-ro?BW%D5jTJe5Gk?xI6Y{ zDt8G}0E`~(du9JUj=gB%Qk6kPv`78#1*x}cWd(0NvW(qXo~eFO&{C3P?kz%AHsuxWRiL`IyS4IYZt#$u?*>stKaKfUS&GG&%*V0|!%x1(ne^Y_eWlh9tp0&2K|O#> z`*Pw0cE>;&cuqcgRWyHt&sOxV=)+ipwd*-=UUHuM`e@fbibB-kTV?eT4-`P0f~dAMy2*-kJ;)8GoglmkbvDb9&a)V?uY5F$WK(iu zTiT$<3Zi7ih@#)ch&w*a;OG!{gn@*YapB|>rGnOpaSFS!k?0cj8zg9v zRMdwLn$Sl$A42bBq+$$#*YauH39--XAWJh5lmZ^jvkdphp7g67)=MqBahCaU=Go$T z3}-vtWcSdgK8wrV?MIIMKFC)`%XB9*o_G-F;(cBwkTMhJ78msCGN&_3kVh7Hh8Yk9 z_V7}p%A=)Lceaq0ux@ac4?UlSiC6x5$|l9KTx+Jh^yVRZnomU{?s)`J%aR(VnBb?w z{EAb=G3Q9KSt~s<$gG0Hu`!7Lm_&QqzscmWq40+>!7!+|hO>InxKn5_vbhcvj(#Cw z97Tq<#wBM% zxdj_wo5`3QbkQ=Ve#5F?D3{TMfZfU-?i%h%BzpaO{{04LLZpq)XpT7I_yZNroRmul z-wx$~;jP?`Rzf_Ng<7i6JlwCG#gFam5I^uTpFLolnlH87cwF+JcmNT@cx3y%Qj0{W z5`~fcVvzzX@MGioBc^$Ll0dH~)`fmfpXaJd%Ow;TIO28Rvn0Vp7SV;^JHM>|!Yyhi z6Em_PE&r0z=@0S>0TQePt@J#)?Sk*;Q#Rz4l14kG*i+Ct@mR{b6+8uRR86WRt1ZUw zkm8e$83m*|%BNKi{>a{^E?&#q#%)7BypknIyYjxXs=j^6%i<*aK%9xbA+v%&9#_5( ztJovVB(my@^YuLJNA;DW2tp1`2U7o5+a%c&9$$%B<70R&xtV5l=>Mf+@YSL8)T)Ml^DC`f_j9 z)N};ycFqfoYLBD$`LF~@x~=oy^Xe+SDyj2Vh3`m>tRlE9L7vbkYh3~7PWp0PP8IJ8V$Z~)u^SXGlm@BTy&-)j2)T$={C!YJAj8?1H6AXhYVMh0Q zMozB{Q7lO^$EBUo+|k0xGy1t-EXoC`Vh%dWBNCa8zf6=n5l$p=jL+(IN|GPSL-1e$ zwYv-RhQjJHf_)3sudt{hVCg_1P8IPiyMI2__Eu!hdxtgGij=MK>E>{peNr#Kg>qWd!<_+PXYhyGSVONE>i|kR${h370J?r>c4g zQ*gaOQFw`gz>NK^V)JT{A8jZ)6go^Yboy z(cjH-z0v)%X5!nnsADRtH`eZS1R4k1$N8aF1TM-4vNyPNxyEIdh}02E*`26hYEHDC zV#LjtOxvt}wf6M?nQoCd5Per*(xv94`$D`ATunZ1G_KTP4IvVcW7ljkYsj4?l}X?S zPO>O`(E4VZ8a@4<;|=0fqjg=WYJR<}!>6U9nxgRBb2DYdqC@zPS8cDHaPGah4cAbp zTpW!qDCs2wC#lyT5pa<6IqqL$!Q-F>@m*raRm77Uugy%6yHDgil;1+TtFxyby_>6^ zd_xd#;!dK*At3-|yni<6(2+x~1mgcRln|mppNP(fzl-z7e`0U{)uj2qe+4M%f6D|9 z2LFig0!{};wmXz^S1#o6*9Av<%^>CJcD3kCtE-@(j08Knc$r5X`}|%1Mnc3V6m}G! z@O}paOrJOa8NPxX6no@6PzbtIL2zT*L0k#_<=j>c{bM#dMBp(Sxx@NL7@_olW;SSB zP6QBO=s`3Xsxh4Or=Sr-pB^JmcqHf#AwIf*zljuo6>~7N=rTaGk98O#N(vna{O$~y z{6?%IRAs?=0MZ@$9a#c1*aGZ+D2UkvjIV;iPs@cJsyITV+lGox;feUn#%TBu#8AT+ z`_G&HUc*Z3;Sh5Nt&ONvv%HuOJ_=eU7m2WJqu_Wi1SLC1ap0RLslBy+D<6e^^e#j=7^+fQ z`f2BkAfDIb#Z56+rLa|-`*x?SS z2w#wEc9WHDvjyK&bDE8@+F2yf7-HJuayzj5ldit1bnXl|xzuU{j*8cv3QI66WL+^& z>k7nT-ddi11ku84;hXuPiaP>?kHtLZ$yx$gXz`4ie%moIpF-U3&UZ^=#U%%PWj=t{ zoi7_n#&^@YZQ9(z5zV6eAx%4Cdwk{ls{=-0P~)qLNMy@{@FBf3N|Ri#mzfcrZN!eOdx?aT79$sFE~aI>}uG~zsem&m*!Qnx<> zci&yfT{64F2;Sy$m<$*(l=GfFOh*!2^D<7CGSWNZRvFd5|uG~W)T=VR%etrAJ($Pb33AqJ&dg9ajUdBukSThI~Y0gJaKF9r6Q=U zAUB70ftJl+n8Y2e2gs2=uS!U&s*D;)sTpZ;wWlSvm-z07cuW;pG z8ugZ%YS-1Gf-fKKKvKEOgWJiHb#$a01BUa$G1e}(Y4e+VS*EbVjsn1B`|4oyKziT? ztRla1eA4@^MSn(aZm6AN)(VmrW7YfGDoa38BCp*G5^jd zj@f!SXYtpB|LFp9pzceK48)1`V3!JV+8KU25G6;8H#r5Yyh#DF_uc7{FMqBJ81|qG z))UI4OAeeMVY%VklI_^XfsM&{pb$;Vz+qTDz;%*uq z6k{%bE%0}85Vl;402&BaG%B(5LEuhwW{0DgkGGe&j{qjzv4HPLv$`tvPR&?p z&l=|Hw}P*jNb~c3t?SwAFV=q^AG{J4?=$eOgeGG26w=U+<|sBD4dlKW&`I{LmsDdG&j~cYor!Q|gkGbr@gcQ!yviBTP^ZtNqo4nEj~OR9hD`U#0(S*zWr< zq-EK6C+d>E+4+c~5-ObZ4yTH(^P9bC>y|_UPySKwyMdqSe0iQM0TKgdptBp&t>by% zqwR5CT$f4CX25$l;nwi|7Gs~qJIEQ;v0Z%e@H0zWRZXxl<9r}5HW;CTZ;yrdIq!wp zoDPUWkx*;J{E>zjFHhpAw*okA0s@omcSgj*@aQ77@eZ+c`;#su|46~1d5|UknhfP@ z`V{n`cVAX}zRDny{>2u9+GwWz-gJpLQ`%IKjysmpHU<1|YUN&US%rO{PV{(_bV4ly zxjSZ0v*qtyLu;I#owoh)ROAsUeckClrpV@t-n)ZLFYDlks_^HsDZf>baOQa!an|5f ze3`Xds9o{dwij+btMC+OsDHE6WCwEotAP82W?RI{^AQONq+`l$PqOZG4@m~pudmwW z?vYM!toN@%kOuijc58HH*i~#qtBC~-$jY^vHCfhp$UYbh%@uH<_On=NxNc?_is#B9 zA!Y^E^o%bqdliWnl>9_umsaj3(_OdNYt)aY9dG9J>Ss*t+GDMnUTc$q1^n1r<`Px$ zbDQveCA9-rD#E|~HeZxTBpViZw-ziQq7;heD6TU{$tI=hXBW%-?&XOpTw9W^D=i^j zTAsqF_{|HimPXF#pUf5%u{xhjhGh(cuaa^VvNRjaN{i=29eW2m_mZAtm@6sxYq7Ho zxVs$j?>`vX+E9(Dmd~eGe7Mt!WgFIOgRVMY#X)#%7A2*kvTzZpOmC_vqy@_(y&0aRPv_(=gt$@Zrks5k!4PzWH$ck{%=be)*(pbr;g4;NkH#1r|^Unc$Ju3o|r{D%I+laMFBzdt@8 z6FV$%*3M>Wv;ldJ4I`%rtPThP8h#Cy&(3gJ2Z}c`4`lC=OKd6^Y+~A<7QS_nRZ*b;jG*=`gL;aA_`j4-o7tN~mj_x$4ijAcaN zh~}x1DD~1;a!3(ie0(kGHsb8+IzM^bIeRbkMSupEWMV9yKVEWxZ)da+0Tp+om(qKn z?Oc0a{{fVs->FSEu~@JcLq+Y7w!npplgGFal-VG>t$N=*IO9~=)T+!gx82_2il5j4 zuh-owip$Pr`jS@_a86)kQ53)BRFsT#bO$N9%<=JvJu9isKk@H^3LWDxjnN2GW;0A` zH|P$*$ks7S?@{e4RK#Ei*p9BAOR|;y4CvH<8(TDwpsdm&%wV`Zde;{Ld^LzP{OVVb zGIKBYw0j5Ec|+Caz02m94?G@KAjLuzd84#3ezw0V3Z54HLOGK8!#Rz{o|RN1h-9}^ ze4!oPQ9frv@9xyb`gy3~PbuQ1z2@nOP9Zp=R$w(=$n@vAUTYrAI~&J7`;*&>&(*ct zYT(n2MXJ$P1%>R!{ndY%n?6)iZ8bJ+ri7@htXFA+4eo_fVGzT}15i_oUI|S17veYh z$t^;{dYJRLDtMIsB`+X* z#CzwXR)bwBO|Znke_0+J6WI1-LxL^6w;7^zTgAd3$G`EA-yb}YLR}69jr{H~Vt*&g z+9kUSwl7(Tq-X~Z6V%oTrBl&ut!AxvU?8TjJJGi$@%baOAzu{A-C!bel}WnVd+OOt zz>N*J!Do$k7L@MX2mZR6?uZ_!wDSb6SZ0c%ezGcUTf`yv;=Zr7$9uAQ2 zx7eKpoxB(obBQo0g|$z85m=oL^1zZ%_$!U4veG2bFPTHFKa<}v)z_TMbIKoq9#*E? zE_bSDYL;;TT{&;GQ`3QMo$s!r;{Ukja~XjXc{u5%L`NrEz0!7DD}UeMDs`dbrXm`Y zL+GcIs1IOL&!S~J&A~ms&bb5W1{KEZoycuPqK5Oe=M>y9C1z1?atI-x;LyY5`M--% zlT*G>$~S`RKnwlBI~~dgHiM(qB-Ie&Mr8dzca%24%*#_J7yG*NVcfADlz$W5NA{3T z0@rs10_}9~Qe^?aEcT-hy5lCb&%*vxT?pc0vpb%>tq37~v~GXB`D9o&;nwiEunkBe zv|3zW}^UFy27r8^}|fJ}9eUg7;Mpe1bO@PxDU6s$Rus1HXXr>}&tgWyIGg zcZgbbzPG_p&MQJTWFu)w4ck%<5CN^VOqq;=S>{9~Ony;L;&(oz3AW#I!HWdqNqJNh zkOpf~d!!R+B+$8Di>YbU^*6EnM%RLLljSb@y!n>}fc;8OVP&@6J1dc-35IX)bhz*$ z#byB|B^ht-pJgFvclasxb1*6jWxs~-&DZ-{?xiKe8{-o>onbMsNoB=lbFRG}cmsOZ zYE)?~7IXv73U;Y%hKbSL+0Tn*uiEXksiM51B)eT8Cr}CD0GzLUP1}2AC*nGOjxd-|UsRYX^nx)>J|^v{jSjZo%qJ9sQ3Q zW;UjAg}T*-^Gukkll%$`zuXUqxhgO4&QH#@)4^kpb-DKK$OLhW|)l=9S zcfLmZCPB&TTM4GmxU@}+?);TRS%9lE&?GykkhTx zL95D$fXhZZiDat02lD91X%Nn%NRl9h#3mKM2Zo5VV` z{v_q-h|Cat#Wd%*?VP`Ir5feug$X!dQT7yUFBBf93jaBhL&(j;NdMLK%l_*6dd)qY z1OKb8zw*-++`T|h#);Rx6WiV(>}_Xhat(Me?9#~t(--)TJ>W0$>sV5P0GJ2T>OrC* zwo0|hph=M=Cz~kf(p@xI&8x*fJBSP9V0Al}eyNmS9N#lE1exxv%41e}56QKi z0~{SvtI64#xigV^~94ARS>Sr9rx8@ z5j`>MXl7X2eOinc>2Oz1p~lGJQps`2{*82hAuRxI#9U@nh5GK)Y{rp1fWT)pC)@XH zd6{8vBsZ+p{mNRFb3QwEgEXKTB!1txTp#1WU0(LB@M<(zw+iv7m8xX`3vui90Q6O` z)&sleEqdEI{UijFL3z#eLAX5ORVK8CQo38ssUx+sqMM zQAOX)boj!jRBgPA4#@p+e?xd|da_2F%cu-Y5XCOhZ~9%r^^?@L2PQG^2KemO5GKFi z$qtMjy*gm8oQPeR3*z-mhY|?^T982L;dltlV20ohWv4qj8Z=wY-b)M`f2@D>2z4?2YfCMcqd1g3a&pKCn|N5KDaYc$T9TGQpH5ju6IR&yR6$G`DR)Y;G3&47)^~)^8o?n_?4~h;lB)ruBz-MUcof^WYV9{BKt&n;LYNM{?vCEDJ zyX&MD!(edEP4A=oTvw{>EcE$ZXCMUd%>e9GqCNk z%9T`{EBSeRTGzXP&OIPUCU8GcECyrRB3v3As%uX&0&*Bsb{z9P=!lupxiW!Kn)q_c zGM7&A(o*x|eV?yGAgT}-NiF`^;QswUAGIH0R3%~asjK6C7lqLO=>u6 zV^CtE+@8VhPpd2#w_l16c6NuVSlU%eRf72Ij5`mO{3pKkih@=crT@r8rIgg)))q*4 z`Eh$TaSS*LQW(f-stuT#){67@%tA9J& zm}~&<1(KB#xhSj_;iy6EmIN6ZV5Y3C+4|W8+?h#Cad(MLlI9;(n zRbO;JMSMbtYk=oe?|r-?|D2H!#~`--7b>WU+E+|+H#8|1$XGE5tjreT*|S!zQuqQp zI^nMks1`_$tV$jYr$w@BFG9?-g}yGG2^*3OG(b8emQkk#L8D zW3@s@;Dz`yb z|A2@4Gx?Uwt9Ri@C$>jRLb1~rqLeX^yQ*m7o=Eb+E5Eu!yOR8H3ZeezqbrZ<2;SdN zdV#4jZ@H=99mc28>{okK`KRiO7=R{ipf5H#ni4dsUe2BipGppBel;M*Ltjc@*T@UZ zPyMJ)5!t~|*+Ok09nA(3bH;JdSIVm37P?}8y_D2?z4qkOqKnDjT_2&kjoNhOrWhXv z-1E-i=(e^J{kp(nhx=(1To?Wnfv2t2 zj7wJ%28CcW0SQyJ@KmKjlOxH}WN#ED%cx6Rt(8TLLFPBQp;7im?s~M6hN`guW-_g;l%cihpft2Mt(-c-6mcFaT zFmTWUz4fC)7PENcmk;fMLX^dyfBt9P$A2YkwB}!Jnvx9vBM$W$@=p>HqkJ39gm(>$ z#N&8<#8n}%EqvzW;GpyU*H4*0G- z$`LXcY0mk|rbDG4Z+e=@yj%jOV`SKn+xH!|9$jO`Uq`0Bz9L7<WL(RIp)Y| zXgvHCqEk5>@fUAS=t@)=LcD{U=q`$*{-Uh;Yte9N^V#rBM~2()WnhStr8B4G zt5Mv zS&{%(^@D4AJ7YFOj~ns}z#~o}5`Im8&0dwpx5uIXIwCRg(duI2=k%-Sj!@@HmP?>ZoE05##K?P_fMsEj=p#SV}U0rBw@;j*w&Bo#`4_ow!t6zW5#!qFH*ai5D zy~%`iVb9yoBmo(HP)Mj4TKH2IX83_WIRNcgwf7^*Em0a{okI0@SE$?h&Krwqtw;Mz zqBfld>j>>_uo_5m{d$_*VDc^+0u7^s)&eY2;&%4-_2b-tz@z&x(~y0+PIIa%TkIQ$ zpRom=e!O;A`bDW(1m#*Fj`_1bp(cD z74?V*(v<`bSX3Q3bT$uHh&S6XiL;glV#N#v&T*!;|I^K|=E+zC4Z#P?UHAKJbA zx674;e+3p;71QKyRl^~o9p7`koq;Ml;}d7!xGORopNd$KS*{ zZS+0WR~yi*MxYsYP->G+`6S!Zv}N~~P5DBHGTFJDHIf-NE&l{b@WUM z=-_=|UC2LyNFqeb>+w#5u<|Y;e5$B;hllgkq0RjRL+|1zRpfX-ERjy(_STNGd4$8P zm7DUsLcL3R&+eRUfXacZI%nZ8uOv4fic)eEuKxaaRo#1)145Jms&Pg#w~Z{t|cRwE|R zD=KwV0T$+I>3#Ooi8qwiFc+apw4>$rX*F42gViW>CkKuJE^|D;B2c+>PN_93ubV)o z^yuhTzq&&h-UE8!Ow#YDWPe%U2CdxnYu(KSQXplQR5|W*|3z_k>oIq`=dDq^77fPig$~ZcCBUOpFU(hXR>3bl8pSNk^_dJM~2D6=z#uO77 zk8b+62q^o2F>KYJRM}zv@o;|x(7vl~xAeXh0+n7F>`uS;$9v(qap^%(cG!_EzSHfh zKGSr_O<{HX^}zS$-u{F{CBzUdkU3ARtN%@g2|O6k0pl9Vu6^?7n!U_;ve|DwJ%Hq3X6b{`+Z?eMdf zS#mH>f6lzPY+|MO!(Fep#Vbxh=kiDM`Icy%(flp#7#*lid0^BUXX9OND*`u z%t{o#m{&WEAxoZgB7PJ-8Ul=M$r4hd7?YSxuD3{36svr@D(-%<~UHfX3>>F z9VtC8E-=g|ztZ6;`i1W9k-=u@mC*N&mcDSQ(!XCw=*T&&ncU|d&t6?W*a~S+o=_=M z@Ou8e-3ZS<8tN6)ZpxzZ8n1Am{uk`uP|#ncEUI8PmQbzTXGPe44dvS(=R-c2xzvoF zj3z)~pj>Ul7}9-leZRj*9FSA@)>O%FdfolS5X=e{FEzF;K|?wa_B3cxoVqf=^aF+k zY5ENyBJajX38;AjMJ8%XN_phZ_&}uQf25 z-`mXB2Rd(iNrv&G@{|Z4^a$H#*KzCs&a%Q6C0d~l0Z6)@vm23*B_fgKT`^JuTmgdr zVxlLszUr;VWXV)y=8U2aow!8QV>LF}l9#|2&LYn{Omv!ga~=$cAbs~rR08CyT8T<1 z0jby5aoueZOQ22YL;@!8aCgDpeekXKZwCT;Fd5>Uf>2q}?SP5|q0?`$fv5Q(-8qDH zkE2%i2i!kQASsB}4qIJz;G^{9AiU*Tz#5b*&8`lGc+acAvSzEr5PEmJzpnx?OQhjG zeFG^R<3O6FAzz^_QbNUrK#;NjLIqcBxPnj9(C=}e5GI$?<1 zS8p}nKNMBGaeGmznPQYO@iY|+q6y-OMy6IH*--zrKlM>K5GqJM%S^%BqDnz&0S zT)2{k_@79?M15Q52SI@wNdW>x@E%E~L>xf>X8E>EQSJbcf$sBI&K2_FDECPYP9l1309@LzS)&f%{e;GT7RH1yP9%6EVNn>s|52bY!ow!iw@6We z=Smt$T@sF0%zr%)*QEdSLSC5oyS=YYKKYO0gChOuI!pgY+czE?{k< zGh-3cz~vH)URCisic$;G>Te@wzCp&)>L#-oVmcTwp!8493(2OFcf+-h{sQFCdUo7H zssXNBdpOrzNq5coct~t8lU8lW_bNg$dFty|S6?cH)m_E9>9v8T2~c%j21B3*n=kX0 ztth@^30%9ZUaf|t{;EFlT&PluWMrGgFnrH8qi&vqy*?Y80iGr24j*J9N|o1gs}mZHC;4% z)ia@ih<{?7Z|s##PHDEvoUyyh_zPIQA=wr9FOOTIz#5C+0B(8=(|%m)p3jBXA00^` zSA;iPe9yU@P8C|Z=N`x9c{sjvxL6(0EMyBupIy{>0`E(3>aq_HP>4|QVLDv^#YDG% z2J%FGUmu|(0wL-k0*!BgGxe%psYuR{;epD!FPe&CV*`+{!uDv#Y(<<7?{WORFkXs- z6+K$8#&q~A>VzAWU<2r4FsvgVAIk8)yNpu5EkH}7Dt6bdMBbN={=|l)2f)0Wbz$Sj zhd%DqLZ$l)trjod>^ApCtz+Pe8vRJkb=YM;pH$c7D}~Yb`p`$bLvi{&XB9`^!rml- zz|Mv|7)bqoFm-7|Ai7X=&f{#b`;#hA3N}sWNTL|J@5uYKS+Ubdc&yiABK?8=-7o0l zNLmI=8St@MF2H#TLO+1LecAc#o!&>EQBySIx|1! z)b;hrFq(7>^Wy5A$bnT1CMN8#@zCz~KS?E_ADYYvwNktuK_Cz!U0rQ71xVLKF(V^~ z2RD5gBUX9idJI?OAj$*m5G|tz{#YKYjHi~#Tzgk-)KA6))5_QdRX+_?O6S;IlvGq) z=zDp2on9LRj#ISLe9shf6^|{N&Nb7Z6!Qp!F|-PnT>$OpcR!mcR-shpfDGB>z&*V# z2OFe_A*fevW7(!*0;uz)(5~n9@kY@UqGbDA;%TxQJQ@P0rTtp2T6=O|$%R?`Yhacb~TFYlg z+NNB!XKN`+Tt!?CVk$zgJ>6P2uYcY@J}V&n;dtdo^s$^sR(bHyxa6=%eH}A9LsI@z z_S(-Ol8OLyVg#gJV6$jVuNDh3s=53bkr1_E^2jY4E6n5QP(Z=iwT;H`D7IONI6@K{ z-&ivqH=~0$vrFJ}4ZCRg^)mMO-o5qD?1ixIT`ZS%w^zI}V-XyWuOtEua{6jwkz9pQ zf1W0uJb(D^e9`N|x4j-!@{~ceL~Ic{KOqgzJREU;^G4IxSTD&tr$hoPaY>fFcmjRn zHS?GRbN+M_15_cP#j-$JS;%y$$nFBy`sf&EL~Pv=0I>?*MB!-ZwFLD>uv;Go1D^~C z37_U^&X>2um4Xe%XnN*o7NC^n#>Eu#+{WY9wy@U>S^eN^jv;K+64EB;^GVyCI8sD% zzJL!0b^;Q1LeK;n$52(HZ>ktEBl5p54hEFk=EAx=3|BP}%NM<=ca1FxpzzRMfS&4} zF|;TcSyHmRoe@7D1_Xre)4c91!CjuV>-DiqngmMNCBwu3%CDJNv|(J!eqjGtB1QHM zff!Jp=ftTlHV-(SxS%)>YR@yN+hJ3?I8C$5KJl&cIsDXM6?9fO^1NJfuN^qrGGpL+ zy(aV80XbHX*iguMM%UH&gH0lNY`M{4ny|fwn%cOMdf-_n&rB|Q#L8ZUpmmR$mD8_g z5i01AJJ*ny+fvZf*X|6^Lke;%pbG%`2%g=>ac1UZc3knbL|oP~dWli>n~MSo+Zyx6 zBbGFcp9vw$)@#FczUYjiq&@mzLr)A!S{|bh04>Y=0HCMP3|Cki6Lyy|I9nk|c5(6Q zGQQ(jBQo>2c7*ce}gN->ukzba;=juATAoHD=*x$rA6 zfBJxifkk!;`lE=-4E3YeW^3}vSSO9loSeRX#0lK0OF7jmaA&UJNoNE;vw*0HEH`SW z<+y$ijEW1xonGF;Zl*w4hPQg!dn^NJ(#zFTq|=Ss$?l7>JILFlPQz#B^-8%O9Tl0< zH1Pa!m1VH%W;lh}=mPBhbD&U@Ux2Pa@#dTyQNe!C%9GM&I69W!km0(+p`>#s zTufA&+$-|w97fbG&}rwcvrAgY83M>7ftJSxXO;-%3exYD#n$D-eoTD&h@VmpuxCkF z@2|A2Y#pOkVVLg~;8iP51H=l#SJr-%@zzd@K$$zSwI7r^c(hNZo(!=B zH5CChvgB4Q_^k14cVnBqvA~M=o8hVZWrjPYjRDnkpOo172_j8JstOu+G!%l z(K_&L=_1#6YNpI6hK1&-2OK82P;C zCkzgS&Kq|c37A2LbBp_1LGI#c?-Am%R7;l_$Wz$OJ&a+*h$SkF5i}Z+=j_||Fgf!& zAXmX7sXQB2G8onox=i(B*H-U(<*M5M++&y021uX#Hh;g~3bNA{eAZdrY2tdR#}L_1 zKRP*E(_|X!JSnLbD$pbKP&pFIu0VuJ<+jmgwI3=Uf}wQd1K6$>BjKSz4V1k6jkIiv^{ zjmQ1CrJox590;jni{F*x^4{L~;hE(ibG8I=^;ven-XSbMRoo(}MstR#<_8xn_(Jx&PH&gTv^*PXYxUm#=1?5H zjIdMgh2ExqX~oAnfQ6vM?2`T=jV5j(9Ge}m(h1PAl(n}zkDgcJpE$-Mp)aq0w%!O; zWQdN;rn-Z7n)E0&^g#a0Xt5o|wmaG;)?i9tem1>~QJlX`F1h)mz`^Z<%*`~s{%N)u zb3Zj~ThZso9wQ3(T6UkS$f~d6t<~7SL6^NgAJm^wBRbihX;E%zSwcM?7;5k>UxCGc zU#x92jfGQ-JSpkz*c(D4)WFIEa=d}_HEnt#&+3h1l^IE8gO*Sil3~hsTK13H+_t$A zz?hNn>d}Bp-@8#pjHa^fUCigqW8tT4QC|0Hz|WcwPk1+Co;j0=%8`1jcQu$}TSHrd zMd<8GSgq>wm=O)K1MzE^Se`x7A`>)4oA2l*vZR_gqbxx%3;ZcKU7feSRAWp+zz}QA z(xu{p^->xlQT9@AHr9C4`@`2@Nq-hA+OBZ75vu&Uby7}+o&PCmtD!YA&1y3gI za?1Eg%ygT&X=($5!1jIZe!A6f;)>!a!e5|8{gl3X8t3afXVbD3sLr}cicpZd+bCM= z?CCA%iv0Wws0dJ_Jn5284fU*b@T{WD(9o`N^n)E}NdF47Ob`M{5%;M-_BP>0 zFoOvcf`WPQTo@$}2+tCJmO|b6s}XQ4(iK(`MvmaBn6%GSv;5YFK+CYEVJDPM zaJBPn0*ZWBvj~bE;U8?PtBeN~a-*JwfCc=|3Zw-;ve4VUWDr`n>^FE^j)5mi-jk5T z-ew3-_+pS+eV>K_L!Gs~r!Pz_kesDd?dWr`Bqf^4q#a4K0*ppvvRI0ojLb*s4wJwn zyN0hBZ18Huv)m|npQbs})Ni}SR;PWjKwzA$xfLz_oEGy-nSmCK8a!x%D)U^HdXE-u z^)aQSJlLX(dD!~B=}hCH7T-%RmZ3D6z*ZL$Pee1*LerCV`K<3?hwZOb@^#Tbgfd-Y z!90qcobM`f3X4d>q8&}^9=PIO-lL|$kKSCXs_jmv*PjMWik2)l-w!EKbJ*Ajjb6&B z5s{0b4o7c(MH|8(?353T7f+=AF5;A0RB28*N-OPeh_@u}6V7)9r^OoAFE@11q!Y9x zz}tN?S^oW)dQ~de8W|%N{Oi-F%db`U_N+E1#iRqaaG3={Q~6&ag?dC?z+@A}F#MO9 z2GHh`V#3ANJuCT}?*9^(LRcWq>81PuPXg%}$$E*LC;hePLIbk%$G~g900lYQz(TJV zXRY)Pw@49P`Fydash)2syELabSdLRsJ9i{@>c^Mj*D1_OmbS4l%-J9b7@amG0)jx7 z#v{^7ERtFN+OJLC@lhAl>((MM{C<^YQi`L;Zw3Yi#*~__wmJ2;^U{ajle3h8!5R;GoF<$DV-g}-qS?@aHFdWzq_`|L+ znVsx{QVCBXM?d!v6LqdK{M1(kb=hv_VIqt=abjW=F{uamSz*dZ!b549QGCx=*+GZ% zyD{FrNU4NUa)Ki*_y7EhiEtzDuko$W#EAK7XUk^+<+B%i<1N1O%soTvy= zTM`_|_#W9en0p=dlcVtuJK}nse$lyR*>(%oYKCHYx}jjUL|3BpwOKp`hCa=Gr)M?c0xed9cE?j&IJ zT!Y-2PqQnPKLNY`{*ye*96B?f?|M?LClq;1&QVPm1pe)7Vwl!%HYTK$YNJB;h9z7F zQ=Oi+ugPk`US2zsBOq>J!f_WkrA_P9iADm1xdPkW z-9N%<)saHhiXhhFhoz0))*)@!NXVU1%U(iJYFo|r+`c)P+{rCTG!PE zLx?%M6!+`iZmHg7rlH`lAP~o)Dvi8e*OZ|vewv)bZ6w4?(fxxaW zpSp0$z+n+@Dh zp(m+trCJomUL-Iyx0M^_g^-8Te`1(%9%qXyoF^}3=-Oo8`LvI7++~6rW^PjV-BDIm zayV3#NT5reRuXwxO1%WhWseb6RxP(4pEWCnj0@WGF#P`DR_D*dA=uMxe!DVQFTXwx zMgB5MB0)2!^L%z?xaRV3aFu24$FfeDtCD9|Am6cMHwVi$o+&$4A1@kq)9JZ4Yr?HO zi!(zliE!Gwdwpj&I1E9FmJ5PsD!jdmNcuMn1He3x@CS)yE`WlgPn*c73*=TrD@-TR zimkuK&$g;3%&M^PJS?7?rw19C`yGc6U6V=6p%ykg+cr*|Nc}g8(3q zDea!g<=}AKeRj#?+>C>o0c8I;p>08@G+{toDmrnQ#8=7L|6A9yE|az^#~QcgpED-I z(*k7iwzXXt#ZTCx&3y$#&!u;m0xwM-Sa z=>xq=O0w204zvtIllP`%N5?H$Ok`mg&nKXaV6;#=JzX?6TmeBxf@B43XS{HpTC7)D zc8bgd5pLhrHmupu;U7K#nw_;`;#1Rd7`Hov5OYA^=7j(X^SRovJ-Z$}EYFz@Q6Pp) zGD4Z?H^h%EVxPday|20bxaaO9eCyS^1enFoWrv;3chnrK7oc}3hfR@@RF$lUVX3EV zP?a%p;F4LGx}DBnel$d#ipH)dI6TmI3`GFJB*zhzcxiD{zaeb4p^mDew-TN%B5fc< z?k^z9M?%OtZu92i={@KkXg)C0J;ILMt}wE;+M)x+p*V2zQtiEG`yQ>?6pBcXcE$(scR*pB*DB{|fKM}pT%%OtJP zD3v>PGG~$E(Ni@Tkm)^L>X&dXr`yC^cLnL-IA4p5~o3Xq{F^=Xr8KqTPmjsiAIXu}$k@ zmJ3yh@6oleil3i6e7RX3uq8{-D94?qU1=UR@RUTY^|R+#Y0KDdv$fk}Z1l-h%6wa6 z*^@w@B;;+Y$#NrKvQ_dZzRV7w6JIQ?j41Fv6=DRGmt99 z_71Q+M0-R+F=e<{8R9MYQ^A-@jTC071-m0z;`7Yb`@y9ykK&;ng}8*`pzr>B9Wq02 zh}-H3SEsQ@B$c2xF)urDJ( z|1`QD50If;W@J^?tVJ~#(+sE1X_`5|y45)I8@EVyAU`kA$}8rCp0sohXgoz4y!vS7 zXHG+L+8L-blun_nqo?~bj;9*|R1w}n&FnD#3>W9%d)l}`g2MsH*3>&N=8twY@*O@b z=rE=D5mC$5FHCn$pz!HfkWEw!wQG(=3D00}N6>Ln-D|&_LML?<&F0648~f7&gfvBZ zSzPLdv%a)n1$<%mahyOUjDP9}9qT2uqh-)&xg+%vjgPTeR_fl95?=Hkel}6XIm3uv zCafaLfq003dCu|xx$DM_qaDBg_47 zk7~blwv}4g5V{kfC=l(zExU-W+&kZ~@KD-Qc3x7LXL1YLw^8oAFPt?mP{QA)%XOJ= zd;(-{tb`15@h=9OazQ>ewze@n|`%1Z262PC0kV)WK_lxq@ksr-YIVQOIG`6?FkE9UDy{MEvtp@&!mhy6$vA&}SC-HRe=`n@xyB!WB-z(qPmQq;B5K5@5-8h(hcnoZ zU|(NMc~q|VX;8EA&TLd!vxoVewSJ}5nK3`o0a@j>R^fHp&9R44m8YEeM|=2}UkI2C z;O^sJL}&*HR9q^>eW>Yk0*?11OJR3aORl#u+RFtkkuf9OkS_rive=KKR2XNkO+6e` zc8P?KT|v3Rz(S*$mQN)q3livI>*8k0*@7e_zj}3-`F-gIP+&99`hLw5WzjR6Tr@%dy%aS2FX*r%WuSuZy2?t}2bYg*o?zzkTpx4sqdN>1|r`<)h^b1Ypw%}TN06Xk0BmF!v9U8+xcl5CdPqS9!u zKj6LC?JH8h+t`_9hLytmh#Q{SCpDtr-Sd?eosdz`ZdkXn^@3s_NH+;b3y=X(^C>hS zreVrXx)cQTK7TSI_;sRKi=oE%*bdpsodi1pB8sw>?U$V{v$(pAjj=1T0M)6NS1>ev z@Xoa1p(I3)D6w~HrQx09SL=s7aH1uvv5tcCE;89Z!f)srBxfot zDVRQZ7YENQDNDe7`CG26Sb$uK3-ePo{+%fRat9o0f06|qUwa>B>KKnmbR6_;*Ahp? zF%~y>i)uD%S`GtTSrfUk(M&^BA}-|v{SNN{2Jm&?6g#`~26YrxZE+NOOHIP8KEV;m z0>sch<#m%rjmP)moUnH`P!NBb&jfMRWyl`02KrCrwIbH3t? zJc@A3>B8a!P_Z52yVG$j>VM`o@is|WQov;njVHp3wO3IFMKd^Vv4Xe^sIk)-f1|-w zCG{1faK3VJo>Sy>)#5>Y){W2YkENZu8XC&Qx|9y7@%%7BMaJ1E{Q|QqzWr^I;zqBO ziClKjF*z}z_e;ne7VF_LmFn~g#>rDS0QLo7_Jw<&j#Ph#PzExP!o|KnLY0*HKOlb# z_=YOCP|u=ERs$T_dE}u=Lsz7cQJa^KF<0m7m2F(}q$UI$$wY>gY?ff1MA>U(9nCS+ zKQQocx3vj^Pj?Yz+zhR%7Byu9WN(cELL99x6Cq$!BrRY}2S%Q2x4k9gi3U%K8qYPt ztEPHQ6xO8>2;lC1@f^`0T{d|X@Fkk0cLF$gKLKbcSw%G*o}&ja((3y9Ha=Or!qEdx zqtm(W%=v8mD9(B2&ZdOVKGxsg{{YBJjOS{KVMGl-W><7#ka$*paWLpL{OM*GjKR5p zZNrXa7!2rszr1#d-U10=sofcvoi@D@X*T-#JcXdV2vSnu?mZe-vVWKrH&O1#*b}mFf_2I76)E6JlUBO=~h##xS!0gF^ckP{Dm7z z*68%h4g%DhiB(VqHf$Un`(R>GjisT|nlDCrn+cJMXfMcjbb4_J!-j}9d06RpScB_{ zR1lkjFF$nSZ~X`Za&bU{yxB4Rf1o9D16oZO(C7c5T<`z4?F-lI;=Y3yypARoZC`I( zG%#KI{8H$Vpv8=h?XYfK?2S~?_F-#b& z$1ZiR0_0>b#Chmd04zy|0E(b%Y@A*S5aI%yBDI{H;!Mo-QctET=1X&PA=~q6vZnSS zJ10tfV|kEXI)@%$s*!?+hA>J!zE=yue*N#Bv7N4V-aXecDN5RL$kS0hAvVPWy$KVU(uN?!0 z6!BFXcj)(``={3kyf;+(<2ZiUuzXg22O|5TMz0h0w;&-eNpd0V{amTtEWgvdDuyVp z%D!mZ8OX3(9_HXt$#_8H#jg&T3=}O}8sOc1te|_rHm%YHcTK)9cGBAa9tvES)ce-J zvP#|sbM)~TuY#5oawNsN4CVJFw2l#)a1M$cHdhl`~#lP#du#T1!N+Pa@wq}e6aZ_!Y z-{0d`Aw?lwXT7h%pL08&w{q>P!9^9Muk*itczdX`(YM@EAqAZ7i91GUg>ABeaBtwN z=Z#ZU?v{FIimNjzLew#Q@XxcT0El2yu9p)1_e!{3P{8Yb)!V5mNEY>hjuA(h-YlCj zVH9%M-(N0gThh#xm$xkAN=o}PVNet@PW{PjPtL4I_m&5(JdrhN@9OU9yMI`Rs(3#22?#isLw(OIA|1gB{SyLh&~xtR?%>Yw(PK0u+!65ZufyY z*@t9VqNOn}7#@IO@vj(rWn{`l0+~(OgWb?xo?mb`eF!h0?SKAz4oOs<`3Zh27lfH4 z7tEgM81KXW|5YL|28$BiVty2fEn7wc8Z*iFQF%={eO^J0zkNJaEk=)Eg1FG6R{r-v z{~SE<{;q8M?@20D@U&*SG0%)eH%n%0Vg&wQOUB}lGZTE*-Eo5`mxKLyBlFIUiMzdm zzp;QCL@^&1L)g!ak<=9a9>dLT6Yirq{YH1r8u66h3-ncDe8U2abfXS`4cB znj8=jlY76x3f{}7_3c+peA90AN7jJEAumBurn&O&nlE+5VrBnzw~#+~!x5GyPrF$| z4`IOF?&>dd^Zv)(6y*N+9mKYRbFOUWK_sk{1-o-w?{}uNN2?<$MRY6vl`L}G`h;zZcs-b^0;a{_mev6ox8H%OE zfKc@uv%mjCsJbi=cg@lX(Hj@{ueEt2PtHG2So%>k<#$x{;p-cDnw)Zr{l^oc-T5O= zQc`bL{y*|u*|7WkmkO#dqGM}kCWX8jX8zaYvjX6C11(8M8gb}=Kg<}M%no=W10u*M ze*xUzZ-QU`(VP3kD=FXDAP+P>rufv9|1o+{3=+C{-ntvZzsJc+{^v%9+Yt?SZY8I+ abd4;k*=v_ay3d0I{HZExDpbf>g#17FV94$O literal 86452 zcmb@tRal!(^e!5#Xz&(?;?N>3PH~DBcUs(vLvXiJ5?l%`ZE<%i7F>e67MI{o@Zg93 z_WqxJF3!z)o|Bs-GvBOP^Uk|w%~~^Ggu1Fc5Qh>60000L6=XC408AJFfVPN*_EfTV zy4ME)pzf#a( z`&Q>fEZc{-=H;C_OM0gUr{UtC+uP@63t*F)-rZ{MU7&A$hlfWG7u%mB``msE$k=x# z*Nz<>U6_9DQF4L#{2mNQA2JN?0p|~8w@t*Bj_mI4CRC1YpCF(Ue^>YRDh8%I=4VqH z#vS7NYsaRmN2Xzmv-$x&Ei*GASwm4JBRam_-OID??lG2--u0n}j*iaRxs|)S``dwm zh{EBmorBrs<+HQ%(41jOn~wg)yU(8;L`9_&|BNOkChr`a!`C+7yb(OSe0=?y=lJ+U zPEI8}B08>oR8msG!O=B2tNcguZvg?ZnVDJtz>tcT=Je+Akgq>SM<=?vdYYTtr0qJ5 zjV)?w>O8&tl$Ev0%d3WlMy=eVzkC75|IA-pJ5EW-*xcNTj*g$4oHj5p)zdQ;5507X z8tYvgTUlAH?QZ?MwEe4o;-jgVW#~|6?^ss#N=8Obe0)+tK`|8CU=g+~_$+o}uB_-u%7S`QkyETnHcN>l03g(Mz+S&%U zsR9HZdV^Xw*EBTrT!Oz(%`D|t)lIBFOfDSt^z`}qC1`6KWE58*OG~r*Z*Mv~H;*4} zGOp`jo4?8yBQj^}R~94VGD3b&=M>h5#AbO`m9~!d=R@H;vv>Dfn=-$y2B-JOa&B*@ zr!O-JVADg$Y6*oO@kvd$2zj})-G`QdYwxh%O&vqi8_TM3$SmLOyT!$&m5nkJ(z<-7onji`uc~fcQGxE9N?gc25CDqwsp`d{;Z&Cc5?a@4Sw`8~4}kX37?HWwVkNU-=)y z0YlR{iFw?4dU*96LLEVZKcObOi$=qpicy~LhASvMsGOPrD5_r-Wu&yd=MQG898on0 zWi>`Wxe}e5AAU$AfwJ4(eiO;0;CYGi79mBFs@1Mkv8<s zH-02Ic`0$H3_~ftq;T65=c*&y;->~;LK)A1iEjUXZg-8`pR*8sb)mkhXJQdOd5*yM zCh;IXM3G)RWmU@b%ltYaz@%P}8LK(})p0FL?6^OkuN7s&O|6Rr{TuDZF!BI@!N^pq z#Aa$lzIupj-Nx_w-C%Jx+rF(yWq?Ud8AkCFD@4*~d^El2JfeF5^p)fIyzcb%)bwg}VgXd@9K^n-eE8lK$^eS=c2;(=qqk zyJqWYP@?~~dipG)h0X9}2VBj?z#rkM4SOzo?bUa8U#`>LxcL~y&CtosZ-^!H4e0#o zhgEz>@2ezMK|`mOd+))-O|VJZXVw`X+P$|j>~j3gOUGAD>ZG#QxcAH8_x%1&+{+dx zVx_()CK12Y0|V)3wMAX&0s(QA-iA`7BTY9O1{z60;db6NhXRIOekah`h4n~W4o%>S z91OOAFy*CP0%?b5w~aUDQkJs~NHD(&(xc#*MAt9LzUKx8k++jjEm}n;m4P3du(e1#y{8Me5f%7z zTt9{w(u7?&)!V9*#hst!fv=jDzLeLe&m-W3uk-7~!tJ2`0s3}G(9oGR)+}Qwf2xxW zGQA#`44#M(%7*(2vVbHpOa)7D@yEg>JNwWI&QTP807dQXFX3MGCfiQOtxmI$j2nV{ z!ElPM4@5u-t~ki?ND#&mUy4 zq{#|~xW;EHVEqd!V{p?S>=ltuPToY45d8WvkeS-yNh3H;mvUr=&f%7}^;QL#;b7<8 zyiK!?diuQ8m>}E%ip|1T$@?K&l@oxe0*vJXh^ws%8`whc-rQXtjUV1v&wKKUP9*}k ze8!Yt!i|N{T^roI;s*~0z#_Q@MJbu^?;Q1wz_OCT7{BzL34{0w6BJ=_FV(Mw(2Cy< zP?&_X=Is;TBWmu!TF-uj;nAB~CI;KEYGgWbu7soX%HNDLj}5g+G==O?Q{-P-09ijd zdPhY*L~cL(eunzpyg?VpfA^EiEDwsfCb;wS9F3McV5JnV#+<~S_2!{y0=Ci3!x9{j z?&eJtv_RI$+e|pQTYa~;Ie|6#Ni=qIGEt_A4-f?peB>7z;i&e^o@#j^k@?Dm?5IRu zpc#E8aEaZG?wimAeMD)xxsUI1MtFrE*L{hzS|qo?9Y=SpySY)HfY&Nd#Kc1`&2<^; z=dE^2m{qmCdEjyCG77V?%R@=@HG^Vh9oP05?!}6f2C3Dc!1kyk5;bukj0PwfGI1gL zTs>>*f+7vkVDVEZPg=1J=>)6L2eY|#cLGO$X`kweHe_lmG7XMws(3zD!4JiC;>A&y zCwA{f$F3v5Zte1y?Zee6pp@;|$s$fF@wJoi6%h0j1!`q*yDdeCFNORv5 zZ9_m?hIhf0h4E>i5v?ht zGN^fnZlnH}4O#h>sBhZ@NdBb_v{^e$p4Dz(UlG8bttFWhfdkkGOG^D7uzaQTG?kYS zs&XUChyjXvxX#8O{8!At=XR$)m}7+~eC$;XaE|wGx?>=oXb$1|^+=s}m^gFjHLmXk zMD24Ul)q9M%YG>Znsj;hIr#PUMAc86M5YYg2dsv~V73NV&Di-6Ez2#?VgTE=*>e&^ z?A!Ic-;m=TU*1~wX?^y;|6cDjv<%`F`%3}`A76CE9m2GX^*BC^$X6M)k7boEK!WfV z%a34ayFVV^)>R!B5ssgHfZ<~C8?rn~j!1kHoV1sr3pV^w$QdN7*lM&LW(A{Ri_GS@ zo&;J)Sd1X~ak?gBMAge?Vhg*rZzaR*@_%KkQBl#xdOwRB`IG-^^r+KBL*PzMP^H?T zA54{BbVXzbz2g;af%7h_#j%ilv{QDV*!(yK`e;6Kw-=V- zksH##hPK{rRd5U(rT$%fkjfNh<$JS62XCCnC+FwT2G`S*g85MEW=&a0aQBzeYAU85 ztCw{w2erYWIK;GzN)q`Neb4W~BEF$kw8wcfMYR)%f)%BV`E<-VL{`kWE6k*U`7e_2 zM%2HDx3{`z1(6_@7IRSLb(S{T0C%`c1NW|_%Fpn%7F59QhP_q~*!H4;IofUg5^0prOmqlHd5 z7jY;nKG`ziY4iYGWd)V|q6TJ=>m-!*qU8|;jhp(sBJte@r|v+BFnfIS3oSZFz{1H`i8V!Mcy?>B zo=OM2n`dzc1R`v~Aw=s+{3GY!isVm|UTS_OgLz^>F+R#g8*ga*w-QDHehV^%?9b{X zgr<2NqSVz&(6m{vut8w$_Vr+3RTzxOsD2f+V^PR^SxGUVHjCXh5#}o7Uh+c7`|rC8 zFApdebTX+%j7CcXpNF}m;Cj?@*AkWYRYSpvrAMH5s_K@lC`;DpRy@!&N7wT9S~N|w zWKO7`r)#po%3UZ4&%QZ$$oN|u3Q4DNov2=d2YyAGhlh93oBZKbgcqq1ip%>DK$zW> zfbgBF^;mp;Q+;^BV3-Bp0SIh{ACaYQybsd2B5ZOTduT2+UzZYTUh^hDH?4-r3!#Es z&b#3B0v>X3B-^T6aG(hXO<+_897%h^F}nn>_Wsu7%hf+T$pmiG>iov%g=C5;h+k3+ zlK5D_nYBXf3Qg^)l8wtfcYc|nB2bXxp04;osZmg5k*BQo1L6VhR|Lbgn2*MX08V5k zu2TdqeMn`=QmCEwRlWE5B9DUOb-IdunZ_9Bme}^HpFkF7$|w7a25j(D{Me3TH%@=h*6qh%K^HNsZi2163gB*I z)}l$rZA_FG6z?`Bm5!Z0-+9L)L_Kivtoz|!P<`=pk6vF1Afo-dXnu^@&uw@?@I7PT z-ua6Ie38_-5xAyDW{Gnkvl-*sJ&aj2|Fd3uv?y)Zi=R~nEjVw6=q~qPVwjPKcfKKU zPH0jB59x`rigQ*K zk^Vv-6Bz~XJj>)@wn6|trBklR*E&O(RHJ^pp1Kht{&G)Z|h6g8mYVpdNAy$QP>C zjG!q*0xl^^9s3uFddS!4w>iNaHNT>1+q#|IRn>=Yl{650ewM#dO^ zY0qQZFmZB=Xc_`1WMCsz;AThY>zM91J$e9|F`-_o`_@vwZ-1M#HC+%f|5(&+qP0pK)8PrFc1Up_wr z*_jYn)bS9_r#IboozSvqXWnGq%!U`A8*h+yj-GWe>7fS7{VI4hiTEnFGnGTs9h}QH zbJ#KRb)X-MOXq#u-h~+Z#abk47X>qkJwHzmxrqBB;@(~G&g}6-XCd8zubJSnu57F* zyBS404Oitz8aA^0M}JM|&KKlF_3%fD+bsekUdM zK8YXD%eRP%&R@-;>Py<8B_2HXg-eZ1wmu*JR#BVXHRjTE67&);J85H{R{tn3oOlx9 z`46IcSoC@L&)+e+ao<{qOHS0 znQoz)jOf+={9Ly01NkTR@3`)Elw9oi>~@r`@4V*_l`LuBnPx8Ww2iGxz$pp;&9!MY zd~N8Ys>5qUMnt)w8n@|Z%ddy}ApYf3KX1pCxi zow*M7hDjfbIDup{<%(UGz?aRfZZHj9z?XE%Y;?j)9Brl$rL9kmXkU|FGUJA`Nh>qH z95UQl?EFdX{stJwt~SosEH=w0T7eR+Sm$Ss6AYRL@w&n&EDo?71n!0~5jRWKQ8w4s z`oDjDJ>F_-No~!8L!FZe3p^$K8gH*ac>Qi_r#K*;7wEO$!r465|2R+@@3Bp6tYN5Z z6y{^`%!H+|<2It_4vcm184?3kV0xI0+);%5F_xvaj%t#&JNd6rz~`M8$&7-jPsY3Q z88(UnS_yhUjxYI7*l_2Lz7TXCUUU@beizZk?0FKkNRHduo*K>USy>BD2tXrWtUMGy zTn2S9YrH~1f1bbvP$n&cLv4|k(z%S1mNK>PiB_j%=DV}u;k)QYzri^yW|YgcqC@N< z2H#E@zS;YUW>0XERLgV8I|)4*eCsjQ^5fm^dI7;hPhyXi);4Pet(fnHW#FSt;N*>G zYxMKS2jFcDH$q7c<4vXCY!A!Jx@{*h{Hiq>ea*Tsr-7cuja~j*9S(rUO*sVJH<*2Fmg^7hs~u z;`W1`dw|x_Z|gY!QsIkcw0apz>pLQm{+G49u9V{Bv7@Z2Wsr-LJ|7ARL`GUn53J(@ zEM*EnsF)kV%G%#6)z0zplOtUOAz%SK&tp+X@Fq^vm*TmW5=O{g7Hw3qS>m_P*XbX> zyK%lI8r%ld5>FCbRR}gq6QOe)Lb0j$z}E_;GyGMHFOvWuO??hd%5;Cc-W=jc?Vav5 z6b|{O{8?PC|9r+mX9+xJciNibWE!lt$LRCuC;G00z}otBq);3oQRtQW{szQXezgQt zOCXSr%{DsIN7?m!U6iFFg*@l_)bFIKgkqVVi)xfpnOL92;)m%swKS|DTA*FTx&1jt zon7r}oUid$vu7DxXZY(Uk-#ZF*S?KmL;X@c1`fel-VnYpGNn-}+FYEk47PrCM4hfR zGCz+o$o_G&$`L*dvU-(j1ivZzQl(aCM|685rM(9uDfZNMW zu3(jIMC^)0@$LQn_;qEg4RY*QqAX5#1pW*?V;tQyY0F4Fli`3?lm1|G-DWB~KpjK! z`_PByk~zc`yFVPDsVQRU+8-o2^~Dl9qre6cFFZn6WOK$#W3QbfEY#Vy==EfDJ9-4?j)^JaMr!GiI& zjgB^p5#TE;(Cm0%hat*XvSu^HjTVz6_k3|?{a5jI4t%iT4_xD zFbZ7%#u>V3dYmg|)ldVaOaH>C^$kdt^S@X!QVqvC|4j6VfMZntMZl5n4_>=};5m(M zW?HaGZPc+`G#dfJ+*Ai>v1|+$LlThKhl38RRv#>ub|eBc8Tk(6-jNH0bQY=`@=>!Jbv(QscPOBViM51nK2uPqaNTu{z6{Cc z&G(?E;*x8C|LZ!<8s_H7XJz21<8ymGu>>-^fU_n}0w339!wY|EF(THQ0zYDhv$t-( zY~C86dyX-4_{#Oi%(L=5MpuV`ssAB|I0VAD%eq@hFbjlc__(?iJnq5d|5pdFn`-$b z!%^D9TW6=!6;VI!1+1rjXEWeV-a^6rA#Z-%B&M+5nTUbip4?%yBeoapdjZOGF1yvD zFU++P!Yy#B-GJwhg(CkN=|VBcnD5T(1}7`O*sI>N!*7dHJ8!HbPd zlkEQaX(2^gS<8?A`R>dAM}4R&OO|SImF3LT8Gml*`Tth+KnQpx@~aD#j`7S-!IGQV zt3WB}e=8n4iD(~X+QK9+QlU>MN-_-pf7bYa?yBY-tmCcPcqcp^@3sPP z(*V~X46`bUBT?PUi)%RrK ziT0>4^TLD|+b=AE=^Qaz%BRK3;3@VCI#|<(wJOxFle04=%B0y^IS<$2m%c|2A^=+_ zAre)Y^U)$CHkCNN9hBb*YMtf)owhkYsD!u3!T#L9J#$ia1@E*d#aqA$wYJd*i=U?H zWq?5m!^>!q$JKM)9su_Lge0Nv(cwA#{2rOJ>dUPCY)=J?*L-{tB^Bfc)hYZco+%vV znnxS3k2h9|g|EpV1#4OF?K(^ZUdh&AwzTSB1XR5nf-Iz^TY0HA;RhMM5?e`4Tk-3~K_xi3 z_3&mqR)!B47mFcfR2~3Xnsz6ePK`X_JDWO`DFec2mxojkje!3ZmcC8HXQ*<*ERgPz zJ!P9F-ND;A{-jAaKjGNGv(1_A3FP9==2N0%rJ8Gn>IPX`^| zItbBnmUAp?R6PVb=D8C9s8nTS$Q+?gN0f3j4#?HIx^u(fDM;3-MIUQ0>`H*Gg@^A(|<5vSbb+(g@BfNRKfiuuY z$7kq~f}@-hT?pp|qwXBZ&4P6NyFLPEjB*J1?-V9$cr+PQVfQZ+_2rjmXrJtp?HOl* zVSZ}9%tIzz--bf&7LAa<`6CMW7zWO1z)hV7@fn0uI$?3<%A|rBcbHVYgR4GelaCf` z@T5Mi5{>a|t*#B1Q6Dz$z_`VzK3#TDO7}ZUuUyPmJyY|`q~^cpONtaQ|Eb8pcUW;R zsl4h|_Ao?nij6MLGBo4VrLELYvug^A2yd6FaG~zK5GhP~WJCh*@D#8$w>e_N zDx*0?$(5Md7B?c5^eZV{&cHMpxpSExE&s%A(Kr68|7}4BYza`M^hL3HbFfSp}nbnQ=j?dy^dxl zw>Z%AD1d+PG4OR(l6xioyO>t+4igH8_-ew=OzMGcglpU_a{`9Wd)I1T-u48Vc~KoL z9eH%=YL%S}Xg+(&E-WJ6ixt7!w%Z)3(y4FK{>9c1e*a?Sma@?v>5)%m`ZyFlDiRLi zPP5ND@lqB+!Bl~Tto(OtYsbVZkf%8LjA~iaJg0z#WST_tI_g)&o>kkcF2iXk9Pk8y znmx3+^@lC2&A(;DPj8|$q`zV-m2Ma$$_9zr^h)94>Mwm`DSE$#_$ z(EVAq@ry?Iw}0ATE<$b@CUsb)Qwtll6P69Uv&*?urv0U0&KbHt2vjWb{i0I>&5fwUy3k$5BjNTtkWe$DT~F z)VE88NA?k&$2nldYe;!us6bWtE8bjfsK~F{eqAFb94V4)s{}V4rORhr7+N;#ZYd6J zc&1y#7zt3Xh(H^S)y??d8UqkrV5Npf#3D;gp0ie7Xwu7JO*a6o@W*+z{%&z6qyfL7 z@v%Vj`PD`Jkw`;utFvG&%Tdhb+dRfW-KL)%R^BCHS!`ry;+MKbg@SmN< z`{zb#AKJ>ZeYGZixjx>gSE^1zzTi~hqgwrx>nNFaSJ7!_{3OL2PW3QJ$@QTLNS0B4 zcD=9m8}r)69i$}c08%YBmu3O@}o{rHD*%`AIf-p;@t={u#4cqrk4D0F448PIHYX%i$@Oi?7>QHmPYOw?O z-(k)xUbqdc@EJ-OEC_p(rb8EQ7@4k;QwA~$m4eV{czqI{K@g|k1M%LciTyuVi2pjMh=fVzKGE}s52TKxSKIA71 zprzTQB8dv4?tB!hbjT5isd!kZalm1Tmy9fTYB0c!|Rm`6&x(P~)qqL=saIpEaoPXC5Ub z45Up^)80QbRYc3Z`C-A7vwq$8%go|f+S+2}BBlMOVL%t>rx9P*NyMB=Ehed%Vt3A@ zr~ZmPlAQukDD`%%0ADcmAMnSk2=MVBW%`>WoEU4tW;yuq;1ZE7nvHzjY+9;@##SUg zKguy_(MkA7Vpf8&MMzhKtd0#cL*%i6xpK~`gV{KGJ`PH9Y2ouR(**>{_cZ4BfAEGB z=041MUe&?x8Ol)Nz}D81qX~|Ydc*?J_u<983P?#b?jUMt9SB*MuIA_>eZN1Bqa=T% zijxg+G(+otZ6hv=VX5YX8gBdSV-`Mf{!Fky7V?&Pbv}%*lT~5J>MtT^39M$LE!Uar zW@9gZ&`cLw3MY?=RQ*MT{~vI?Fz;$y@nyt|>0qT((4YG$eX@l46op$-$r%64B{X#w zvR{F|Bfmy=Q>AlpJYNDhc6M%=37IdrN)=z+uy9Rk;h^-Zz^vNvYWijJX~=_j4dLlv zwZ3H+q(f>H`ma<%5)-{unsGuK8% z_epzB`w2 z!fqbu4jzS_kY><-tTQts5KLYAj~fKIeo*+qe=``MKMMm|dx8FmfpyY42{naMjm!oe z%y!tq-jG6E9=?zs5Q)Zchol#01n^j)6#@4v3)4paey(NChfjRd*5Q#&@U7 zM-5o~CI!=YIy?G*ZJ8qpLuu!v;1eZl4755oQfKKNrhaQX{v=oENv^f@N)69^K0z{l zkM?i^c-F4te<~W~NK^`{g|yv(8n{nKP3`PYA|~s9+uWY%Q5IjnxKCC6Uxm%0P+xB! z1+{`r5uKU5!iM?Gao?sNWKU|Pesh@t67U4tBJyz>qTQ`*SP zPRbsmA+GYw3$(k!6-o&z8HG?2Yz3S>j<*CyJd7WzcsrnkZ=3@_>{$1>{)Fgs=WU3M z&jfzXzpJzg%8iEO4wZi|ri%$*v9vYxD-SX~%-|pM5KUZM5=cZ-xb(q;4vqsODId?{ zVUM#^+fFA>+qI~*5xCi|qD}yo$ zGZF_5$C?Y7jd9A`9vTR;|R{FMhYNKEhgp(9wEruC7k4b%$3UzuBaJOntlG&QtA)NTnD zPxdSPZkt5p-`({?lzWyRZvV57U^C-z?tq8B9HXAbxO9=L9a+y~m~$1GvG+j& zS%$UXuTKy+Zm)g1{dxg>XB!)v;2!uO&kFn?lFen}Vr0bI+RqPiI3;{%>K1ntl+zHj zw8*)&k#XdBw0Hs-8T1nLy1EqXl^4Fd#%0@r(7lJO)Sj}eXTnCskbCciq$Fl_80Q(t!?OL)hBzM|$H1d|^G8M-s3IRe zD>Q9%aRI{x!`iwzCR$@%p&KrdQ`QfMo-b_CV2WT0i9FW2BgF@(X6WDuYr24>mZsCA z3Qj^dJnP1d-@OT=ROm6}dn`35(g*pI+_a7+m)xdO>~H=Y~z` z&6z`)tC9dt{LLMvZ!liw(;zV^8mR8EURV~x)~F?dNW2z9!s0Qbb@JcQv3HG)fou3z-^p<}tWX0gKKtcMKW98M``C$nm)ON9 z`xNP|kKg`pZg27X0iCD89Cgu0gs!s=Z`UdPEPK7u0Yr?N)vv<$_AiXYd`TdaDi z!V3Q=1Zf1IZgU5X*}nd?8fs*3pHeJHXV2#vDtn_olcb6dJhP!z9lG}yYKv}-A)B(_ zg8TOvEfcUp;sk?k&qMClg%|yI=EznopT?Pp=X2>HhYx|6_&@B%siwi4kqfUpVojLN z7cxGz-Lkg+sCkH6ByhHV4^mJ+O4T=EXYEcd$uZZDD^`<=miKm-H*32r=Df@ zWQh^i_$#z=y$+Zw^F8s!Ft4k&&0{52$hw4~i!!9T`na^Y`^o&)+sRXJe^bYfs_|ZK z6uAi*iIWlL2GG)s%pfXme4vLuo~dZ$zhp@)JxIe0$tF1iffE``bRO7RdcIV2|h`vpBh z;*a+&c2X@p2Zyb-2=1vd5T zXcjk5C&@4JkZlc{;Gb%-w#nV;ngQXi`u(t5IiWJW-FDT@wZlEC>_l13(P&c{j)U>)4wb0O|>nA;ze(9_69zsT*d9u)Z zs?K_T$^9NoX!3IMi{&uU7mbID!=i@?Ialuu8Pz5Q4pqz+K4AC5W~hs!P>D*yUW4+3 zb`WL81Yxc(&X{-p2}>8*9z~Pln5(3yvFU^-Nxd}|z0KVezULmdbg^16n&@=ChlqSH z)0g!OI&O1u7eY4r3Zq`^Y-3c0ALXo4BA8v+uhMex&zUIDr{7P3W-_x}gq{qF#Nu4& zy3F5Z%OQgB!)NU7ac{+#tdRv_22qMwo3P0E{7=c?loQOFv zdAJIhW0zS%yfguAtip@-28+IZr4k4W8q;EUab*E2DSjJ?3#U6+obCe)J7IC#s76G@iON{bU4?;-%5Ss3%-^J-b@A?Z|+-017q)|^8t zE;?^~p*WK=YO#De;U*i-KWv+@`;Z^}TNEOk);uv~AS7vcnnN9FAuIS%%BP9AJD7e96%WS&cve?S|rnXpD*>gd(h6ScMZh5*T%KhpR?t)>WmfS zb^wdcqaS`3j&Be=G$wy}esev-Ui-NPlh}-IzRtX1*`uILR^1fI)pKqCM9j)R69@{7%Rhxc5xtB01V$Le$0Hi%ZJ}yH_HPZ4*YLdV&4Af}%iD zNGi|GpZTZc1)=Qz$~R}nk6%c19 zP@e6VM&K79lOCxd5UN*DeKsB3Yo}`u{0!mz7w^F4@24=+)yiNO==j2mUNy$%A+xO+ z#j7VuSiga~5=5tD^P?V6LsUs?ox*qOk!m0_y)V1{cb8MD%L@2(4P_x*?+kZV*aL?> zgr?mh?us5dk-7A2e-jJcgu2Q0ZADsYb(qoN-Y4_Z|4_udWx%hP6Lz6h?Zw^H^6>U( z-u!_7l|&&8mQ1>&^%`O$5(?g=4)nR7ueGnQ=B>C3kKs15a=737n>SOQZr!Jr%yo}k z%2V3-Ro_p;Y zb%01sQS*eR$Kq%cj&M|c{u)r&ttU#hs9Y6BqWiAvI5melwyQ#q+Q41q>oq-gHH!%XA5%Ay0OO#-H_U&7mD^gU3UV(m?a)a zyY~0N(L{Tv_aKA)-GHNQZ3;Xztv(YQiC(xS_MTVKo}{oi5%l{=*4_Ss)_q>g2B;}U zapMoH=)q9I?TJr@3_-k0&&BN-xreqgV64OLwFJ>M8lml zs)1i0Cbf?KeMHLNS-(tewmHku7UKLCo#x^GYKEqDByvvpwa;OcIV0IsobxKveXaS4 zyr%J+GMH_2Le4;P( z_m!z=wW6z7Pt-f3QC0LSkwjrkn~9;tGB`tBWUN<4J?p@mfZ-EFN@k(z$PLIi&|w5N zu>J*^r$}B89_9^ZPp9V)PaP9`;HRy#w?@whZ2TY45JgXk6C?nq@FDm6NU4Bq@iy_b z)_vHC;(PT{)~7`wl6z`WQ@Ze-e|B{7f4=DQ9c1uAaq%fxtbVfNo#h|vDl~SBRz&Q& z{c;?vo&ipDK?)ie7_ivg3{5XM3*F6I^$^iKU~m~PtwkXj>#Mc;*YF{)mj;yYT92MX zPll1J3mDwFamN<*Zy?mFULD<0yI*R88t;z^f{6J{uC75|!*#@AO>C$OoYd*{VlXUu zK&D({5h`mI+4`NBBeA_BLGvZxD~WEl!JBDn$*FYfPvTgGKQ^EJz%WH;oJ1s1qZ2QI zE5(RtRIkJJ|CU;OEZzY1)`zCYot(H=eCUX`$vk0dHY@$aYvL}{ovaF_eb_-~$`_ki zAB7Pq`%;i*^OtHTrt)?Ppb28U!3;5DY1BxS3}Br601*kXT`ktfo^IwIjhetlc8rlO zu%`9lMsfIaBARCj&k8QBvU4qXm{5lu`G1kq2}%)L)^wXcKsrZKCN(6yGRx| z^}B_d+EVD_bG>JOw?KG1Lxc2x^EXf7{}A}Y1(S^^)_TlZ)P*5XnOF1k#L1ews~d5| z|4fKhKp*@<#JYZBaUhL)$D8QvEoW)H)sxZXs{otuwmdj0yGDM=i7UHTiHDa7&P*hG zA~#F)D$=?6?kBAhsblpolH^|KyYU?IdXb!qvN&hatZyi)at=;xvMqQq`@ z8c`4HsDVCkGn|=<*i12Js4kBw#mj5A?Nu`}%a02xq{>0rq87OxzwRPR>o0BrlPO*d zRkMwOtaB7z{@u*`X3Wpjn50>b5wEBQKrHb{bKq+9g;nC~Ylu>J%L3#JQeMjv3@Tw` zWu2+_$J5R%%4Rm_Rno-XSG^(b3y0A`xXb=(4qyXyX$VPBN_#%^BpiaG)$pO8-)gUG z&+eECwx-5S11KH2bcEvi2bg(Ca6fiO5c4Y+O2v@h@jVYLDDRz831_87L#k{&D`%5J)dnXY9jX-j=!NKf%{qK5q^+O z)$n47swMeIKq29*I)?*4b=y17S3AgX6_yz`D#N{_AbInETyE7JWPSb!D@0J_)%u&fB1>r6X!C z&`%ZWz+3mL6q<)|A@@hnn9xITEfE?4uZ@OyFpPZ_0fSycw^v?=xb!vs!K3Z^$o?$f ze+W%axfqxfi>%prRMwFglJBACdv}+7e9Jplb9PNhEq;4#A>sj8LpaZPjbMmgD2WRP ze5DDbR>2pX@6}pDM|;Z9=u#kFK_tE!uT&f%j_|KKrBlghAd06}HKq8EdMB3TS9eyV zlNC2+BOh2HCds0q`AR{0_}q{Fzl8xF(CU^T7o>-*M0YQ~MC{+&A8-PFs=%BoGepd9 z3D9WbaNBvot;CnHZV@V{^~mZob&l#HwzqRC<5zkb%Ex;UVMhNnfv+^n(mAm4)t9zi zt4zLd0lHo|9_$UC$Q|h{Tz>MQ!F}bjChH1Uux@egU&ZqS#H1;NPU*d3_)I&#H91(A z))PtRc|gejg*>?PO$uVO{lCNC>S_EStNk7-1fe>?#VX^c!P!4yCxq%> zqDoz9)C)ice-eJNuThY{>+G9|5ssU18_LU^pnByv{U9;WeYvs~Z2||FMNQPd#_ZYu!LB0E2YOT04!$ic~wXgG)hx$qF5uSnB_-F{OQ|=hFCT!PE{J%H>;%(5q4Ws;x#2H zy!0oP1BXw;z#S+7=F1t1U?!$Swds~+iwFf;h`ylL{Jl;k`HQx49GiCmyn@mvBsj*F z+t{e^HQCwQ=~mF?dfm>tHR)c2iTI87du|%%b zrFsoe{N#TNc*qCaKV4*dz*%vI{**p_|FSNs_?wYJ&i}>OTSv7WH2tGkizZMgnxMs6 z+#L#qVl7gN7I!CjkOD=L0!3O1l;Z9V#i0GMAKz2}~D&$%~$B{{o0 zyEF5h*`4|9eCOJkRYhVOb1+HB3==KmG+Btr`mmv@7DOO%jF@BJTB4U1uhu$A%Oa!9 z1Br03{K`^(-Dq2?Uf93U%3&33mqnO~!Cn(HVQOS<9bb$kHtE(lEgK6z6rAg(!*|0P z6I&C=uD;yLBZ}|)-;L})&P@y;FASc?9!Vaw*7^w;t$gz@8}cP}6cUA{L_5aIT5Qmw zoLx9S84`YwBO6^vWGJDKa|)vA$kxR;C=7eAB}y&iE4C+&?MN%7kxyCQ&NcE(m(G>2 zBWYHmCf=AR*{-ve3hw(BHWAj4^L~i#ti86B)Q6^`_`)Vw(m~E zZil3L2Z`Be(vIYd$9A=^JNlVeU^9Kx+_Q z#+&s*T!2f=A1y#zzT%eIt~`S0eyJ*^c+$S1^_#LuPTknFYC~HrrU}2;IhwBFH5XP1E(J;#-%aL|9Ymcc4?vHyPT<{h2X5X zD~7T%*vzkd+I;6`9?n0?fUXDd_-~^&&QE(Dr^}(z3}>>!ndb)}ZVSbyTSds%RGBLK zks^lQ=nsz>>%R9c#d#0Ma8k^hJe+OT@O4w&+yRF7oIQ4}cI<J(XXK2%=9xPJq?8K?%*otO zwH19BCi|CRyc1|$M$yDGCU0fRQRIM%o>fM(=6%G@c!Nn&{Eecw>$N~j-r7^X9K7cU zpb)u#Utj|cskV!SO5W(eDql+{UhjhNf+NMJA5}B1PWv8+D2%2e^ zh0~W$!3=I$oGV)Aw)lmVGt36RL4E{O7U_Rn%%)LwURbHZ>)f!3YXbzwx=}r{+rQ=V z3bgHx?RS0SJsc>SbGWoCiu=#%-|M3d#(Pe4j<`=Affs+79bWo=xU2GfD z9ELb`&)>b>d}>EQq?P9u$AOpUo{ddKYyPuA+wqWsw3zy|ga7m50|)a5+>w~yufqU0 zJ^}QLad+N`HeR&9k9y%aGd$j8la2hB)BJfBfVf|`tp@;bgRC2f06dw<=jcYI5NaA@ zIfNFvg#nUZusIZ#k4{+DbXeI!@d3lVxTtCjj4!tJ99c;3_ky?cr{d>K51EXb)!bq>23*+v&R`Tb0A0S5a(O%pIlwWhpTid^=j4n_a{ zN^l|c-`~>QyCd*=Aw!D0n<)T71!5AgBqJTO+!3A?xB!=m0gwYc~TS${4W`;iZ zD}<^o6upys$zceCC61t;qGh8~|Nl=m>Z1@0+pzu-6e&$w77}BGATblkA}EPQ4Q7!4 zzYTm}>2mnO85{E{Ozhdh<&zw?KU&b=_4w_K&ivbkoS{VaauKEPbKXe3u3&Jg^^D!= zil4x1c|S#&WXn=BWsXvkHZh~NFa&J&h%kM~fB{?(uxYX2&!0J0{`*5&R$iVWcCg(U z?>j#hS#2Fw2hNY;7Aj?;-#9_Mtpuhr!p-R$Usph`OiUc2HblQvLTXhM%-)<&|9GS$ z{?o$h3q5tU{8J1KeEEcu5W!DpGpMwmios9Vn5u%@yG>PTvGkNM0zOkVsGRG@VTlSg zkMJ>2R?vZ#bgPkHM4yaKirE0XvhEfhX$VQCKBY!Aq6?C|AgQ1SEvfq<81-G5vN+t< zeL}dfO?F8{h5hN2Ed`pLMJZS(M`@-k5H}5<(#1%hL@Df=Mru%s3QMA6pDO5)`YT;7 zqjw$f=PQwS6==9-$S9TLG#E zq_RK3J0*a_hHEe^YszToUXwl9!U_ZC#93A>h0$;)9ObYY6WsQ2h#095hqV9eB=264 zSU9Cm1g1%2H}yv2(WDi``!R8nrtZO0O>Ynidnyx3A`}IpR@{B z?oAs}PcBWX$LI>TW+CYkwJQ-08r~{Ml1;zYFDRK{8_O5nJmxoVDy>HU50Fk1IZAxq zL__B-)o^9HotoXLe8$)f7n;L2><57HnX)RW?o8W?kpiE7iqNzkdHwoO?)4EWy)Y{+ zvsVsExxGL8d$K5na*Ak7=V-n>{dj$}DpjHa`uyi)p!0ehVgA z6P0fJ5d&O}w5(I4$3a`0k6?m4$g45O56G^4?m`4De; zE#OyDAyZe|Fz$eZ9E3cL2VYLd{xbZFPqDE7R%91Fj3zBVQcc>*2MKc^#&}Z{uliiK zgVM6<1;#&X44hpe-ixQA-4~ydU=RCl)d;*dJeUQ8wzOAZ9@~Dq5CJqDY3IWI>yg0Xu=dUnT$~F=--ozOw zCOhKA#MHm}yJle4sB5p67GoAdue1%n9mQtqaLBeD7sTQqU%yJ?-0V|HXJm_>Ho|`-W$d~AH1;`h z9o9b&OL|%iu?mX3ZOs zm&V{?n;`bT8cNuS9=J80_-*gQ{&!ME0JsM!=$2?j`vDNjLKAR$%uJUHr!mgqw0`q0 z=r!in`&B?=ve2!0f|a6f-^Al@9)zXNRIq?BIc$wTI0OeruJL{U0f}1r$yDgtL1!WW z^ng1g`vfF8g2cHz1eSPePnsq{H7{25!4z2u}vXC>w)rmr$J47>;*xd-qt9;xIqV3^0IZDbHUxIjVTqp6DG_+Sh`dg*@)C>x#gbMMTLnR_r>ydxP6@=5Lnlq5p+R;=VxXE)i zFQZ6j-@S;JPb!Hvs<8aw%dMZQH-ZY5xJf#0q#1gIMy3HkJYp52DW^+se&VH22v#+6 z?Ij%AL-p#BT6dP)?WNVvi4;$`lA$iId_%SgIn1T-e zAwYdc8}CVRRRYYtgWAH8@Jk}ijP3ab&Xc-Y4=$7160N=OoQwEPuXQzIzyC7&wrD5S*b@>^^G zZ#UIE);p*vT=D{I_{ZnrH`WwS)nWTfSP(kQndqM?FAIcA$^b8m8j8lTVv8LBT3F5X zKlvpc|6B>cqaR6 z(`N_3U6>q+@ma6XoD_6ogjQ|o%d7Sk!;X|^4;Q+(&-RF%FHO!5((_#ffGd|L5)&`n zEbzC5moUrQ2?j|XE9Po4bO1yNGK>$3elMP>@xLA(q43@|N9Oh`D}@bkvcJmVjP4}u zHIIDy9DDrC>GWbIyn!7JbQg`imk#a>B$fF})#~ft`h$euq>O*uOQ=P*oNgR)31&4E zl&r~7opVBrUlHK_IPhK>XI^Go_#Wp*UUG4i$9z{05O8xr^wJg}Lu0SpgbZf3V?Kdc zy|?~sj`6KNW|hQfJvBl5Iydxr0KO-7sg^^I(#}P&gzm#8*HnzpmM;Swb{`Eq7Lt5n zFUn|HX85*cB^$9aCr?aUh-~*ciE#-M+5ETI0T1(SX@m7GRc}cc zhwfYbs=h9Vc?e(ht50$Y`-_x2m0Qv(J^b*iHHr@iK8xBrQd5{i=u);lJiEbMQZ}%j z?;V%Cy~_AEs3NS3MW97i;0X=go6cA1W~PUR-`wcEA$FU!%!MxQ^&ZWPeLq{%@Lc*_To&6GK}!tet0$kk^8gor{dD`06anTc6Eez9qE@Qc>{`lhse(S zH>*Dbpt6%#YF$KI{l!+bA|M7vqlTCCtlGK0*V84aYZ_uHdGlN}q7>;YMXtFR#^|8P z)8kR|c>EQBEp*`PtjL1pgR?6ZAl2EIXv~;i(BdnCo|qCF#`I&$R7yYXrCiwZvou&!>U#Djp zRE5s|vh|y3N#1v7G{`c`R=hf1>+8XI1=9RybUABi?2*(bn1h9IvxGC^Y+fh^05#Vy zgCx@g#OTo&d&kABPGugluP!5ZpZ)lTOT*1^LzHUdKMT3~g)C`SM{`M%IvXIu>1Z>o zQW3mVJz=2bO~5ZuYCJvq7RJqWu(D*WTRQQB;X_x}#^LU^eP;OKKA%p(Oag-I@CZ=u z_R8_OF@J-tor3c%7WGZ_P zSK$fBPdJ%eTHYv3#OG@zOMpqFB(ycjPl}`w5>sWZi<>3 ztZmC?$@x~8Jmr}K<9VvRPmb3_gTYA|P_l>dQy)Pli?|@aiiRcf^r_6|p>-|o%MHzt z)5Z~v02Fi0pgl^qnzAy#ge`$9l2LzeH$r5^9ji`+cCm0Zx-U>XaY%@Q7pee(ykXbpBTAFQrsi+59T5_tG+IV9EHg+#I|mu9WPzugwWY zadQ0P;c>m67y8&SU0`UP_vZwH;IYro8+Z&5DMZ_xKjx10FWwoM4~!-~7Zwib;5HxU zJNN~y-4kgh5v1MR7d1QYRO`7M224*tEY!iv-+dlUzc+H^tycsnx(YXsc5gnu&x6Po z)OAiJTdr)dKEF0{X;K!6Z)`&L*sJwz=BD@(wVsuFV;l+voxq&m5r-t948w=-bmwb&UlgnK0c3 z+FQT+2WpjOwv!^Irs%dX8j%7d`xHzB4bxR9zFCkRu3V%IY>EUKlqUc3Q$%>z8Mk4c zZk$bVho-#vU4DJxgDSPDJQQ$*%FU{O@3VOv*Kd;_{xMf@4)x8=ETQ7;pQU&cCEVO$ z^)OK@GKR_+H$y0_CzVz4Y$6k)IdWN>*0mKWag+aeZVy`X*1Gf=#_OZD!K(SYV_~A8 zB?3^IJqs?gE0NS(wmgc8=h~V#_|)pX(@lDNwyn^HlyS1P3rZ3K z$8&$LzGLO4qKtSaZIunM$+uEy;HCO!;$CF~4!s&8dUgD)t#XjfI#nsGud1{f3?0SE z$JZ7!VHTb|O_GcselC(NPNs(5UBddsFMPEne>oPmq#1m*8fwZ5q&12=p%XIvT#H;S z{1kH;3ofXuSS%PXi)`8d1(hw1Ds0O}%Ggx59a!@>wOLn7kU*0;N>&$cCeKv@{P1-+ zW|uJrE09VF`pY7F&h;TAa%n-CFo}hB;h!|pQG(63uBG&9!|g43U8!Y~6A+#E4Ra?v zE*6hAzs0{lSX_o!R!M-O_sU?eX1-91dwXE_6jIc$@x6DYC`8JYY>s^h;h3X|%2=K@ zZ~53%y%yoVO}h{xa4bR7T6g87d2^}B5zy3t+j=Mr#9Tq$-rmM}1Q5|rOrii5NB49(nQkZDXz(SZX{0`}B>ya$k-J+-nlJ*t#f$XPn30M{wT}M-zqyW@wZ-!S5 zJTgN-3&}diG<9_}?N=U@fm$N)v&#rMZ~KVIAub6q7gu)l16->W#TGpA|4@v|@Cv=I@sDJ)r$CK?#IbJbuV z87i&Zw|SC|5e$1^`KyT;gmx*6WRCStG~K8k^R2!A<{@@*3ZMboS{>1dtY8Wo3<9H&Tz!33;< z=zD_99>Z}3|Mn1KZk}DM!DzQgCL<{1KO+x1n2L)T^MPH^v4qBMG9y;MB`sx8zXs3? zkHTKHoD_skGkQFI-shmm%k@w7CBq$tEp(?X#CB+|M858#RI1t(H3tU zG+deOFJ<-?)E&l6!M~4gzd7R}+TO5zVsbwj?w$Y~5wlmnDTd1uKVoFtM@_&}r0{$& z)9AOJ&-YTsu1tPdYZpPzCL&LAXlG{31&pE&Zp0+7PI9)nOwwN7RExD!34(t=Y@AfD zonOtgPAvU|J%qy4(dny^RLXHkLJhWqS{lyzxj27FLz0)( zhAq_RbxH}$U7q4!`7kola&>l85+zOx;zM2c(P`IV@q7HCoW!8q1hlQfV| zE2-vYZo=rSiqkm&b1r2+yoR{Bh3wm`48!BpAf)09|<{`@Oe_ZkV2{v=0LxS#%%W zbDT`Du;iZ{P~R|szHCOoD(^iB@f7k-@U0Vqh42I>lBH3YHUI|jM55zYR_g$h-MxL! zsXie|yiO%Qe#iRaG2Zw4e1Mqme=^oxmj_ojVh+c0zgp)Z6Xvx{ET?Rt`v2r&G05sK zQKwUc6h9v*!9TA+YWhPUBhy{5&G9-*)Rfdv&gfy3prJuu%2BPu;e5P)Hqr_m_$nZp zM;&;TeJDZ>28^ADOvIZZUOAofH_c479yXcJ!a!!%9>zWDCoomTt32fJfY6B#A~)Z6 zwJV(Ct9}3f#TuB?<&u|k`Flhz`3v%ErVvxe!OWTv{5x%KO__4lTQV^k4pIqJ!(T;_?VK^c4~fYC*&9 zEF{@K-6Nvmwird>|C7pNKw_osrTj_PT39x^)k{Pm@qalv0uh@)Ezl1(ur1Zo)BU&G ztGpG#=09;v|D+>}u=?$8cPaQprW>|A@A)ry>Vc3-gsGDs9RnVqB(14M$VBgyWw*as z*cfaC0Lo(I7z&@}okkTh-xwYvJ(z{uv`++Mh-%u_>(K$yy%>$}jjrdP(*!&qhq};p z&)OCmBqZx@OiyZNTjzNZ8%CQ08>zd=`QGU~Gp5T>$acyscZoz@d0Vw#lZXSy?ye2k zVhy=-{gJJ11>^U_t`fl8C~4)+@2W@Cyg|^P>A7e$%%s4n6usk{(Mc~YZ>~R}YN{=b z&+W0^yd7+3`e@IydN((Hij54$ZeF5k|LMt(!JzZMXd@0I0qws6WVXvE&3)B3i zyeL)SJ^;%wwuD_f*N{n9r9gD!+beFd^Nz$nHroOLR#A4d82hWzGQCFwP=S1?pY6{DK zY3KqiQ|I2+Qvf~Vdg}!A+`!ktYUvY)LQ8S)_P|Yql*NyAg)@v?8svWu} zrqxO03O4LqpetODMn%c#I3&v?b3Gi`=p?ePVCp^5THjj@(XitX)ZChpLin3ktd#LD z-9mN%!iKnjI+ds}n0Fb8sr!>LNe@>9Ztl=yUX2#yZ*jXFRy@Y{yMiJqM^umOhS;I8 z>&1Rr9x*p2@~^`E5tLW_%qjGH2Y>MG;oWT5l5*RhBm?Uyjx|!-VY?YfM8mCkCK52l zFflVmC{*_YpS^@Ef5)KF;yaoRpd8>koVZ8L3DG1)K0iTeE0Iq>bL@1$>J#Xm8eN12 z3<~*29=_X&BWC!bDI;iT#;e61h2RUf4BjCUzJ-CDZ~bjn6NkGaLEQB{-MfaQHFLaE zHo`SRlTY{$QozC=y0YgD7OX9jbL=mJyHvgitQEoHnm)cp@G@>}JbtxU;6dLu4nvbR znTN=zYsR`QJ{7l{gtlB2_(Ie7&x!vP>?RW#F1YD%^WLQbIY$$qHLNN^qx7kv zOmK(MCuF^uPC%^3mRW2qB$o?M4sVh>3V>TBC(H0sHWOKXB|+7_ZdZgdiMh-Z6)>qI ztXY7lkbNL9$r29%w57ppkY^grls%VCR%mI;;sVqo;tsqe<>eb6dmguY)KniRNAB@&O(0|ul?i_PXC z#_qCdz8$zzJ>RbJhdx~!K3-P62-WFQzCxZ;EOUyayl?=?DApgOb@^Vw;MK-D?a5s5 z>CM`k8S=|LWBT!DMZsnYBpMS4e*@Swf0eBhDtAo$*FLT|^iE-kc_Pi4rT! zB*A1Bkdiq~;}8Hq=B&!SIsdQO4&)zs6P4?25WQ zyxr^bU^dkC5I#p6UF+$;e?5wV0g8Bxi@%rYa#!8~ba~!$8~21k(z(?;3svF+N!K0z z4TT2^a0lorUeSYwLbZo{wxFr;PEfs1U^7Zhr!1>y`xWT*zZa-LK7H?0U+4A-KS@1( zLr>odF`bZ*mV1S*L;51>!qfwElJ%$X7!ZVBTrCzzO%`2gOPiY)Ij+2cBW}#;V}*!8 z#=s>zB7zNHLHYsHtzW%nAfY6UfB!Qsl=shj0>H4pxS6}VdlC`0Hpn?qgxar#Eaq+H z89VV_#bT|u%D2*eey{bI{KO>1PjqbG<<0tl6y9s)s>!x9Tc6C~*h|;Pxbed8ZUWIU zb%|i~G=Tq^Mzv#wxvZ#Il0>hi+Dva4;KK3P^VfjMUjB4PxD@(6+p)nO3*mmHspPLV zDwPV4Z${>?mC?Gw#M;kBwtgriMWzu&fuWP?bQvNdVoJ#AoSGeEJ-P;v=}Ypdp|Uj3`Zao zKsBp2F0&40)@77o$FPVbuS_5~NY<8(H2lwpuG4Eh?v{J@lGk^fT`|G_*@AEBi-kuk zMyq38q}DlTaX@w+C+Ip$Y@+1pP)`6rs?Gx+<;hs1u0FiCE_7Ro$ zptj$Q8-G$^_;o4O7H5w?AsYNz-|puUT8GTCA+};(8q#>eMXPNO4=9Q0F_g1vasRrr zgPUwc>KPYDX{?PyRJD*vi4d!R_S^=mTr+M#2*;)?_2+ z@sCWm=YIj{S!^}n4{<;8XD;fe9M)`)sdi9Hr(0f<~^T*x>-`0n#A#&_W^r842S#) ztNtPXLv4#X=0@*`p+)#MF+64tbiWBgifAJSJEs)HGnezYe~4UY3oeM-HnIVCc^(3x ziwrm)79ofgrH=uqCvBTBlEy`}&}{>zUVOh@_3IDzPpec)iJWit4-hj}E3a30v-C7> zlHDS=uo3xFm;nCm3pw$a9YRL^R;~3H5->>ve3pzp*Uh0_?a@JmlM?#$#z0L75UCOS z38O0nE&cU~o}4B_EAJz;@|LanY?r)?_DB zRf1mH#05dgsbii(&6Z)(s7^B&`b7vt^lXf%yD0lmPm^-p zxcTqH8uVrYQ#d79Rp@r2f9NPJ0j>*#=q2VObsaB@FUUI7r|19ct-^WVxddm$!T9>0 zO$TFBz~IcPejI|$u4C&zY783jw`!Aeyr3>V>$di`2EYCK(WV4lUZ*{mhHfa$p+p2E zEl~M?+w-jC&D@J0{jac}JVtW0*@kKcm~wM|N)uc%fY3K;*lGYbu{BY)OKyDHyo za&w7e^lzBQoiI4FZKl`)6l6w%5qtvWOk4{56vSRI7UIEnM??&To}NG?!KVDgF_H@i zOp0UFAA}Uxl=1)hGt>XFG|Yt9h3)`}G5!}}B6aHnJ%JG8{@|t$*g^InlHq=rJxf=o z?0`_S+wh^Nni{+?)|wnHjTF<&;O|UFL0_fz21B>3?#R{#i5YHWCHLAxym|aFWP-!l z)P2t_wrcuY6=ZWd%2@AMK#l8*o2k^SS60@A@uqvxB3Tk5kWqIcHd-z~z71+dr8fRo zH~+c80jMuM%xsGrci10q=l<6{IhgAX$TH}-Mw;j@|iO}f5G_d znfoQV_-%p)lx9o(V^h{eU}^vq-sW?CzP?@j(2eXP6v;)j_|tQ|KYM${8=^LBcAx`a zE__f{je0(#M8d=(m}?He5%d3WXZ`pCtzZ1rI?CgQ?GeFv?ANbix9EE%J*ZP$*G8q~ zPDBfRC-ET!|97v^wkdG>r|jFu7z%`Ge<*E|or&39x&JnL0p$L~rHkH((Z9EL= zeJO$74nf^cktbemZel<#NW5kL6K}o99vuhb4KD@uu%D%yx(YfUHYi|Gy9t3x)}-}tZ9ur!E{F{O zdc5Gbl#UoWqeW{Z@ZqSM7~WUCi#BCLjUtc{J{uo$q?xhP>yDFfFikQP4Av&YB zAd2mXSo{7_{`8m@<6Gubk>VE?uyN^DlpCVA|2w^e|L>Yk=ws_=yaQ|QaP{Ly8CE~6 z5L=9V4WuVricZWQ629<_M`2)Cm)M7E5R8ARvZFF05xkdgagI;rBlF$b0Bja0UvU7Z z&qku@Ut}3)pP78%Nu zI6!^ym;WnAisy4O&eAu>3ttA1e%_a>YjB>(F2!$`o5Yd#T_6OfdJ~uro^xH3h5^*D)kU@c@a}C!I&6LAyjskl*C- z(=hx|R=Fw{nfJC7-yV`sW2UjmgGOd@*B+ND@l!x0;Zwbsv*RMyZE$&xN*`L=gT?U^r>fBTuS&+?w!~!0zEAEL7 zWj~R}509s*wZ~ys`Ta7xs3;sKKjL)+&SyeO?gTe>%r9aRp}78|9%UIjwih&aPK7G1jCl^kAHNYk>nv0hF5f)*jU(!Ww$=UO02tMJ zf}HoR3v7>i;(4h%E#t#m<5T}@rHV$={VdM2o;YI*^D~Zk;ODiREYr&eb^NqfZfX_4 z{Hu1s-e~}?xfC=4L;rhphywU;i8u>kuVozqK{AfHU@VX>4nBoULnGK5XIkm*6XqW| z!K)=U85?n>>^*zM{S`#4FT`l9*C65n1}-}pLCl|@Z|n#R)_IE-roZNwl9t-(azy9( z=|8VXFOd3V5mc1%O&5REG#C~YeidE4%YX9h)4?v159hI)PErQ&aEDaxx<+L5`utQIf>4> zviL(8F$3~6Fc0Ch%324xRRyqI(BKldY)~&NYWF!@{%pcFa!@5+iB<$85FVO;HZg_t z7IAI~xH(6cyf`qJKSXv6cMJ! zj1~DS->Kl^{v&KhWFJ2ZW~UbFko;lJw{~h4J7?5a2rY_vM|6O#(`pKJyH*Ow6Xw;IfH}+j1sItdyV`Qv z#5j^UU0gESd=I+H_==3so$vksu%@2J5v@;>EACG$X{HcJnu;@dC1#V*LL<}TVfT7M zpMQ)YuJ0v~TGN|RjJpnoJN`s}HE>y*>F@U*N_DNL&~z<72eLsEzl%x*!ge6D1w_Mg zrbPeYg@Ik^Eyzv}$U_eXlfYx>oxZ(Qm(V&?SN#Be5ui<7f+(hi*A-1oqM{KTL zqrb^ctht}K%!=J6Ak1$*to1aNyNH7?T-K)kh~L7^#8dt-JC_6*5EjI7tVg@n%iyt! z?Y=9&Gq?`$qsjeR(cteL;2ZAB@X_@Bqgx0jJkEayRl}XMmMMP=Lu3Y-Z&(O?IRLu? z8}j-+w&n7E5&DRdJ>Hd;fRFp`tQW+|TPfcQ4j%5Kd_<(Af1S1RiLTAe%Bj_qi5Hhx z*tJAi@CYo^Thgi#u&x-wac7ctTNrhv; zay`h}wKa=XNM@^|un|WoKE;RJFxc3IKbmL9)yC|7r!8Nv0YYt62 z^XYlf+xznERLaD>o=N3EXjx3-jqB z_n)mtYfQN>;3Tf~p?NIh{C$m_>h+NR!+u$Ag7b2_@w~Z&`P4rL60a7o1p2-gsm0;h z83|}b?&^Pbkj=u%Ej52m8Y^BN6DND%B|130StVehQt2n@ev`HSPUj6A(YVSlpOeb~ zG?Lhqy;o2-NNj3i=Fv)6=L{;zwNg^!HH(#1MisowT+2VRIQUUh9`|=6tmZ|S;MZQ< zK!bP6q3o~O6h;d!H1a*CRkNtTWC}Yo zsss6KgsE_zFUn&nt}2CDgk1`S#j2hIEa4~Y%ER;$wuv5+r_gUk-*Uk-*-TG)!O>av zZj5+1gKZp`@DnDWOxgZ^Jmlu8*2C4-elez=?;G%8|LANt#w3JM zOfp{QX%2O3viFN?u&Fi0_uKD*kA6q;GLe`|hYIpI7i>3Yg}$G^NFYCp-t7?YgWI-J zXa0CXC@MtsW1aJz1~2?WCJXPAC*2OUArYio|JeOxY+QMZZn%@V12F0)inBm%K3ns_ zmD_7S1^3Y(cH6|q<51g9e6fXW=|_TJcsJiemY<@nzKk$P_Mk@IOEio9>!tgZa*E7b zLz`G;tjKy-sejs=#-db(d-CY(P~o`kMZn&B zc;L}})Wx9B<)+Dxd6_vqP}>Eq^Oqb1CfzLy;N)aXi%HLN_HiU&w`;iGm#W0BP?M)A ztfR)jHn3YIy;+Cf3LD@vIe&KHJ6gGIv=^D4UQC2Ccmnp(<$QgA30-yX? zznJS@zjy(OczIUDi}TI3o_Qk4oD-Y&HTOeX=h{w9)o&zf*x>K7PY3M~5+a&S>e;g7fk%B-%UQ-`H{6U`)({xgP zQ}A~BQcnd*Nf)t?C&*WZ5_nX*ThGlYW^I`x5`~$zy62>NM9(O>;w<<>*db!BHyu za7|t5^X_=Uw{K3_R;Ey7N{v~`M|Dv3d1{Ve+giPz6P5+V!8#%`jrB%$ey z@M?Oo+jLK8^P;l@Dv`ZAhyia^7Zrl&zXo}4{WWS00Uxv=M4V5I#SEo>tTI(tin9bb z3>GmBIY+a`rNuygfAWVRbJS`tobt%PC${Xi%e5EzjnBZhMNZf!$ zWTUZHOxfWv^*UsjHo(h*8b~?yGfbR8z2+=F0hasQ;8()I#Z0cY&IiPXFGn3K#yc(+ z2S8<)%DYPHcx(C)Qg+!Ieak4h!VoD{?XB-s3o6g8#8RSg&rN;Lj9J3zYD2S+ zy!MuT*5npakCE(+@!OLP!~B@1F_2mh;UBmwd5ZMca z@h~l2zbXb2{T3-@HQ+QfAHjpHf)dhl_hv097CS7ceAayUg!l_qbpxP_-+O_Vc#>Gc z!D=L(a{enQq@ET2O`+b)0mytslrbM`Hx2?tz+s`9+p0f{1e%=d6nL%g2VjXp`PyjV zE{=}PyR9dZK+5{3ZzK%y%F9lIEP?aN!g#+B*-2_RZ@yD7oJ^0gocwyBtDO}TDr(k; z^dXvv=?eNsj>#X1Vq`6Fksz7w`AMBx-Ps2a0MhFWtQhjX&aQ0Crj3>}6lZs)B)cTv zZStrmyVtrPgKj{K^*;go=UvlW+~BFe!_T!-D(^djBzf@l9ly90SNz03!BF6venE@V zT?ly^ibxeZtYH!V`qNxoBB8!-K5%yR(cm^p6-iRihyU-fjzona6z74uTu#LnwB=OR zR^ub1NN9YeUBgHI*-@a$j$EU=!onR61Z5tuj4W?jJa{z>1{P+pzs8W;hsb!VxQc`2 zX641f#aI*b=7B7qg4NIC_1L{4;-^-_VKdmT8QI;o&%~A!SQNM^9_9SDYBzsN(GZM4 zQq4uGko`g8$a4N>1L~IAtp3oO^AeRbElDU9U7&i)`s|fyDVZ5uhIqN{=CC5L2$j#a ze{whWmWh;shM3_~$crhgKECQFj+a1F5oz;}Uns8U$iB7)(ha!)N+WirKj4}Y0Punt zD3E0E?1oa2xxL~38dvg3=_(U_8`aHjCB@tilp^{cZOU`!#r*?!=N1W1mi;8$$*LnS zyiBB{!H^m$QNhKV)rQi&+2VB1%TXJi=w-3So8MOty~q<=i2!%>yd+Gwse7%{$;lEHx~g%9vn?>TQ;--yZdJx7cqy@6)|9-22ua^Yf;8_&Y$Mb zxFUO2Y-rO+$!fx09EG)(9{XNJt@RQCR-?>K!?ehg}Z2m5-wys9qkB^hQ>x^8SP$_;G3fqI@@Idjb&cuy926W8juO9on?x1EiZ(rW0m42iV zRb&0bQ-2#$UW{#Ok{{jVn>NW;z1~BhECvn@g)(GbJcAR@Q@q@JIlYCVeTh9cCaYVe z&ppC|C->5;=2R7O*#cKjm+`r+ZnsfSlezi}Qm2#hc|UJR-cL@@)q6zj*X&rwBmG_% z>Dgm+C36W^Uj}oxa7kEMu&Hh*YN)2$;rw<2ebxHxh4r~+SW4c%(U}-yjFGHv8zNR- z_v_9W$t#KuxHNafUWiCnR4CBccrtU}GNpP+Le*A}MSTZ9A}&865+A+r7~~xQH#$A# zh>Y~;TXC7HoTaQv>|zoLQH9jYWoq0m-`*J)&%2dR_Vo)j(I3PZZ?Y_)>z{q<94k>e z;f?!>CGwal&YU@!5K~>413sVP-bV8TtHzzM2lu!RBB#Oj@`h$$V27QS8^a>_4J`dT zhuIL2Htq8ql1?&eYmSS7|2I|puVoE>qL9y6&t%hC(CbY(S3Awt@!U;Q{q+s$Yg->04Z2d7y#9Q_8J<$7;GQAO9 zS&GA#)YCyCIFP>70j{Mn_yXIX<>tixQ$1nUwjLfr`F{z~#iI$S?PL6Yi+)e%M&F>6 z@;;=0=)^xx#9{j_JSIr9Z!hyUY-o?KqW63haydidO!#eNUk?s+NqU;`dIW8%uv~5c zaQHYMYafyzOwRTEHWR_pwAjXeJHd^J*@e`HJsJixj5TikQjR1e`ZkAjd4y3u7_bTn zshsHY08X8ZfXt?b{*B%7^!{CsKaMEk6?}X!bS%90C-CAXdj$V8l(wpR=TfOiPesDD2b;t7@%t=S7|As+o`nCba9fAYqub_YWp-DKrwtr z_3`AVTqtaD@O60q?MgeLk3jQ$3^kuSFU2x?3&DiDu#aL>+W=Dfr^?6>nQWZIEH9;u z)#=pLrC8C?8cV_DAGZ?qI(nnc(O2w0NdMHSfw)n-LCK^6*0|omPqa&_PqI~5lyDS7 z*~XdCJFc&U=tiS^qn31ssQCfk?Uu$y;4oyG#*g0Mt5ZmyMpJju6~7@zMGXJhEvED1 z{fbZ<0%=3zlF{Kc*!p!Vp2n`MGWpe~LwWK86+jySmVTai3d83VIp8J-Av~KT1`r|9 z^@z^$PExFSXNHzl+Li8STH%FeMIKq>T+Q#gyrDh=%GKrxr{Q0h{b|ytedo*iSzfkO z{yje|1z?{dvMbepaUSbp_5aPE(I~3Gi0yFJ&G<*b{~rZ1c#MuBJ>z{qElqA~5MFCC zk?(eOdOGE-D7b0aB@&y&P}CfyN6hfsD7yfI=5m@JATq__wHA+) z2pPSoz^hs)kCCXqtS8znUWI~(bXkEtjptpi`Yo#7pP;CA+Ix$t=A^;(H{dc0gapl% z6nkcPkNEJyYvdfQq?zm&fkHwoh0gZ_wm|(vnQpN0>5-ML;?$89Ho*+~J7F*M>Ye%K zjW~m5EijEt%y8Bns>Kh@v5>#o<%6?Tk^^nZObKvgNdjjilIav8c%x-(lYV#WTI^i@wk*#Ye%BGVu&{&@p>bZazU8lVB^@|$w=%T zp(ihXEl1R=&tYhQ_B}6S1>bhB3?YvX$5=>v8yIMZoX3zcdngxf=|Eoi+RsK=l@IWk zDT_z3P)xh)E&I@KbQtmn(TL}EFM~xMS@s}VHPLa2EAMU6@OAmGKpT;5RFAvp-I4e8 z%}IKz9|=6JaVhBvqi70ik_{VuBe;M242<#EKx^8M^)qKM=01-r{=xT*{4;MbFkUa$ z0;B$gL5A^=H~9Y$_SaEybx#x^iaU)23v}b|65L&a1Ofp9!6kU(?$W^%+#$FG2o@kX zjRp(u(m>DvjXO-|`^}m)^WK~F{)O9jt+P*^y0uU3s?zLW(}OH`*(D!>qZQn;R3Hu6 z9ybh#ZaA^Au{=TH5JN~CW%SST)$VgYS9GL-kzc*6?^#Wa7!uIw{o3i@YhV`qDcmuJ z)*FW@UP59K?xTIE}mv@u7XFl#f<5{|O}q^mHp#CV9bsX}bs)ez(nn8$2fVEq`$ zYTzD@lQ+lt6Z&V(++xR(& z8LdEnYfAqg>bo$+QV~Cgtb5KBK=h$0=h4rn8QVLkOpV9G(eiU(?jkqeJrNWqCnGVkDF6~*13snJ!IP5r+L#C zS0w4oQHZMd6faz8g@w^cq^}t7T3ZDV(qh3R6e7DAjxK>=@N7<5jGnWyMOwiL!=gmq zMmrDCRr|H27|`;hLvI+2pSc(6X@*jj`C;QUHAi|1b}#%IV*6zsw*Gi?aVwm-3ud5h zh?_ zz{K$;1PIcw+3W=t3W#xu=NJcU(U8(Oi@nPoo1$ZE z8Q()mtlfV20$A@d6q5*lKwOH&?w$mn`y9fBUdmJ7A$q#CVFL5!?QYqeJ0@RktlRLT zjt`4VuoS_+L(4c&yMNNLztShutLg+0#3?51B`FmFj-rl&H{rh>SPy=td(inB{oh`` zxvSifwnhgX3#>ve;i!&3%vqZ%M6$0nI+?uGSv&+c30Dvx`SJmU%T!s^YRT@a(0MV^ zJsq~-nvap4(?P%On+CcmgbVoU%*a=>)R&{DQx570;*Q1I4^ZlzoBS$1gz4q$&Y}XE z2jZ=pbC+fVK$_y-4y|h;iTaMx8BvmYqmcQ;OWsP0=*Kjg#`k1i6HmivR>`}kTj;q> zQ^?wgCISJ6a3%gq^QJYT!$nt-YHkf`Lqv+{44pu2=wn2-;v0P2>b@$Qr_%@YrwQnEH zd*)Oc^!{Ap5?MYrpL5~q%Dm|=IkK|T%3k2g&yR-gFKympZ8?1m_aG0DVjR@ZiAxet z6bpE^*@xq~i9ejjo={K1j)s_v%EN4HV)%YLPGL}xlYiYpZHx^nR}^GfIRtayjF=QU zFyv{FDWFq`71{Ogzd`!sVm#lb02zGh`{BJL{L6akb@?yyr4yOM>pE&p zy>rWE3Y^PNx4JPkmf%^qM1KI>XEqM&$Y!E@cR8$5Ds<+-X_>xC7CHenIZK&Q71$YY zLUvgFnItTGqx_Jt-?o!`sR}lJ$H4@eM44zKPa$ir%4=(LQ%J3O_;+#cKo6DG$F`YD zYf5-{aq@OuxB4}Ze$HD-<6S%+iM0=VMP$p3Ht@_qRqwj!ElmDiDf4?wtR8(Azi@|qjVQJB7X63r|Hwz8fM5t zdb(nCb~{j8a(?IAw|w`yAekJgn`Hz?|Jq>lLMbPI53DOPp-kbjUD`&ti%PwoJIpGo zg)q&kbe{ajhcgXWxa|pPUi(uMe6m4!y))o3X0^-jd}pjI(p~<4NRDVpOLqA@?afb} z%Hn^F4O1H(TW)YF3||e~VI6@Tys28tEjUEtTUzVi`NDx1RS1nm`prNq)0B7f z1m+5hXjN2u$l>}+ob&Pu(LRyxmBf!llySj|30V?6niFS#u^bA7VLtWoyx3qmb{CmA zUpTer3ZO*I@Q%vUc(3UGR)LDc1osl0^aLsHIV3{N)pCR#xwd3zxwUs!S^iw6{yP4X z^8?KxTy4w^<7$WgvPnzAVGu?(W3l(*(H@PR>a}(K3+g)Ln%8WQ`!BrfS7JHJIWy8$ zTBqJvr}QBoFkAX26NfVe@A);V6{(X*F0U1SIfPNbfCP%heP--(nZ z5~hZ?;EN^`-z=0>P*-)2Aq)E~vm>4kRWZN&=?&MVm= zNFuqox_4bB!4%BpMesCisB9vS>^Dp+IPmfBYp>_Q!}(fVTZo5`)L9qJ6M9I{DUVoA zl1V)VqVaQ8c~=T_*1}&Mx#ETma(?v^;1c03^X{^7nzA_M2#%KA_<{+ND*;fZUr_}| zOJ9k%+sKqcTTT0j(|_!N`6e2n0t2{f7u@#eF*Si_nYfa+}JbWn1 z?T~Br!LR#w0gweM)PDzC{;>FG_bn~xDecr7lo0UjgbaE*tP(aQ$2og{_Z*o6cz)b; zzdP^uPCNl8d$7?8mZ3>j=fl7Ug60YD+1`rLrEiKl*7Q%8mROoD>F8B4OP9qQRTO@7 zP+WJ-()@%wRN__bedyj}$DSN=z;djU;#a`B$vx;y73KPcIgAe3vAj=r{zY{|`q;I2 zz?t0F(x}UpFEw*RK@g)+fujNyUn#lAN}_ZMi)hw0K*~jNs_8oty8nTr@7Q&~WYdm? z(b%;j0!+(_mTws3tvTOfiqdCF*F9Bkr{>EKotwGL!v^M+?ZJPwllZfDdrn4lHV>R~ zgK(&_G|89R0N!G8+q7DzUvPvakz$yt28uNXUF-V(;b+46Q-qZ7W;{btz5f<&gzQ?P=b_LlF=y>qH91KODg10n;ujmfF#zx8>e8qkjSxOdCpncjTZJ~G z=C}m%d+H8IoAcc{b_!HYzJ30n@z^FT`Ne%t72=-(PqdOkDPrqPi3S-i1wSz+3qwVu z2RloBH3)ZD#DFQ8)o_HDoHJ}F7({%Q&HV#Ppc8qR9yfzD0q~yNM{l=(p3z(6_xfe< zy|~s6_{Or_Tm{*S{cuyD-w36!vYQCe&jVs1%=QybUi+8bqTxcR1I>`t`v~$GKiBrJ zL|Y&CSTak3u>V^-t%qQuyqcKH;xp}8ODQUH@sR|@6FI=gXq#)#n;V;n{2Djf%{bJr z1OmN7ziey%W)qx^Xs*#y|Aq}!^|tRVHjxE`Tj?sGO1iRUXuY{{Q_)iZtG#ZZ4#2 zfE*Bpe~Ho(v%DkwvD6$I&F0vGel6IZqQbmvmb_x$wA0<$8fWPG%G?b?$^Y#SDLd~l zF^G>Km_L67UDxDyPt+Vbc=T4n=8P}amr(Ax9)`JjUrHz~vw}u-9JdvfA2_kH*b)U{ zpAEwjI$|%4*qaF!U|b51-bTx4krsU_vEciB=PnRQ|3-F|Kq%sTqp#-d=MG=w13{QQc6TjoIDiw9SxqbTz<|6H60L7JC zH7sHlT+y$06xl6?jVsR0s!Kh;qO9KEg&_cozn{m?e-gV3$$o-nK1R71Qa{5dqj_9l z>lgPN%SQ&cbKcVs3J6d*XZC)4IsUoJT2YceJYdDRf2?XwFf^VBuYE}B>GCOKfLk?O+iTThmo+YYPhGjH1@n@f3D2UG3iDdWsApEk; zt)unJ+nbsLxxV7p#9)w=lN!-O!FU9;~i2>+W0(HOkdM9zT+{;&4w_NART=9LG~Jzgx-$p zvz}#^9kl-&Gs|+7@Rm{hj}6R>*x9UTgGo%JRNR=P6~yQ_RbfUut3Z>qNd7k!>hGNy z^?1()EbN(d&_0)Bm7<*?{nq#xt@47^(AnB-`*Q&^DOc`krtn*AyHpt;t5|0RJ&SLd zo`wK6Gd}70lx38vT^;5Rt)FM(KBl0r8qPie9GOe+$Ul5qcDZqbe48|6mgjf{`!RNLbm95xVXGtFzQxoL z$GWb?PnNpMZ&9(e`1d@4&{r9U+}J?<7t&$bnK#kk7c|9B z8zIyLyT>}8+ByYxct(ST$%cQ|9rod@_X&m=7%(&V%#4|C3s31|5UlT$zvc+E@Cb1P z1but-ANncka+8agtk#u2o>#sx9k@Z>%SnX2luoN6_P5+na7CJ2r4Hj5DZ~I!&}(1& z{f}Wk{2u&+!PLdk2My^L3b=9Ddg}x_%ZWD{E0-diLz5)c*qb({yC~r)hP-aEPwQ|0 zv1RyS2fuc*Svy3*vZXT#v?#4?1e6@4I`*MX$ZyxRA`IF%jK|mdZr%_=ct?)k<+e3Y z6q_gfa9PxqPXnvX%8rjZS(J-o7JT@96}n5~y#55w3F^?GX*oS1I0YS>NF0dzcF3zd z;PLsm_q)gcZQm0emEr*fKNQQ)*&e>_^{k=3&goQNU+9nR`xJOwKjsTH4UW*T^TE!5 zZ&(_(n4_MN*1^ww_;yv9mBdXN>R2>ZUC}> zK}kJ=0dd`w)k9;`Iju{l+(Oi3=g+`@(k2MEll(@i+`+eP|6?%Fo*9kvJv=swtMRiQ z^!DKgWzCP9r*E*j$tdxB2(I7&rIc|ZzVaT6|L#<_0!jbrEh=|AT6t;br@0y70fWiA zaz3@0%7T3>8$uK&oL@x|XsN`8I*!83@ri=k7V6Ar*v4LimHFMd(KLMmzg;mD(DDne z$?-e9$8$tY$fb`vax!K%JDACNbnKJp_Qsv@Cu6VqBJbrnCxfk@beKEWAK^A|!Nh_hH7PC6D~E zgG@W|>xNE;88T={*p1_FB@$qU;Vr^dBK?#M@Lte-MegA*zM}f}KocT9n3(I@=qR|j z59aDjhZ4|y{P1}9RTDDJ?ZyLnVWe8qSBE;doa^gkd%n@g)~}JBo3bzlQ+f;(4VZG+ zc5%OH0)@#wUsC+u@D$70Y=w&E@Zd#5|Iohv5|(yM%AYpHb*G^4i?b`l2RBdV#zLL* zDEq8tU=)1kc*Zet{FA_WpNrI$=dZj71$9*$Y`m>>#b z^8IfIIM%96sOB%%Ey0kkPL2nJywbSzJ<4*Idp5Y&^Nb21@dpyUS{?uECNjRnoelC? z`y=UXb)S(o;yJdz(l!fj5nVHHZgXB5TmnkjG&Du{EqdBI9{l!AF3PDX3UjY-9dK@@ zS+Z@;=JB3S^5wyl zO`F9{Hz$Va(Ku6Suz&Bi%)xS(zgxg=icKC!XnFi73OaUr??jnw1DU@4kxg~Jz$LUC zDPW_#x+cu$+S_I{GQHihpY+xwedI^-l<>LVW$-jW-<{9=9x#vS6Rh&}gLD4jo!7kU z(NB$^b1pKTc0hag7VlW6%^b6FX?Z@(i~b9)8rML1vk*UzxSr|3!B4^mFu*SOsRkA%#kGphm`A|LdQ0#`6JiVx#cW%fe9SxD`b0nKi@f2Da5}5c!)j7 zYtMpe9xp0dd_R=5`fOQ_Agb4dFPlYyr-}o`8B{7{NUJcJ0RmbU6e<7#e{6O&lCO=g zoP3PI;x-(e_I&}xuzf14Y>Z*g)O$zl<_v=Jfe=R^PtgMHOBA(lasJmK=sR|zIrTTF zH`L+c51CtuUFX~Fzfl9TL^V7owJ_ekACYp^_zf0AM|BVI22St10;yw5j_1^8_lk+< zCe-Svi9vYtNo9F3k2Gt|%*nu_DbiOM#>Y10CjimzAPMi30Y+|TOlylan z7fkN|frF7;79zQbK>a(CtsIj-0GU~k;OHJQ6 zQP$<|N_uzR1IjoFm;xX$|J~tQ%boht;H<&~*1$O}!1JZLlas5`23SP$B_)J`1cRRs z$xsUdb;k+u<=0m9eHpO^l!Rpe_FOeqGA%*BbUp`Xxw`y?90F=d5jSy@dq-f4%;9xc zpCPSBCbK*yH#)*q&{I?i4RMJVgn@{xB-Udkd@iWv81CWm$1YPmARM|S&a9PqLcO?O zX!490K{Lk11;7RZ%2=RV@K4)cyRb#I#xreG4G})9q&?>|dq{Sj^6%{DD5$qUFn*DGU=Jg5!mY(JSSG$?4m6j-wj1_$gbf__rKJiEvTJNsiMm~W-!r~ zK->)^y!SIxJ7CjyQA~z1IrR?O*sCxpHo2FrP|ut}Eys1{IPS;UuE6&QB%ZOPx4;Ck zNIk5v+(_@b{z-~cdW#E4tK;=MZnZ?(uks3(M|8(v9VZ0yz?!MDB?m4^Zqj-J9c^jC zcPsDE_|HqMAkfslU;MG5cl_t)zv!ty!CIAH?UAN=>-QmGsW3i^Kz+9goADkF8?9Fi zdW|ew@lZ~$7x)uObZNB0gZMlkB#^IeWg*$FMbQ(O0%y(H3`cM>!84JN;|V*5@`0e6 zpI#1&Wz>Md?B+N{OR^1%5Is0^Utgpbq&aUIqxbFS;$o^Hc6GeFjn@Kcqn;uGb3FCx zKvUooEwtAs1u^voB|tV(H7K!;rju4JGxk5hra%_lJFh_c&VP=5^7btG(pxhBRLFVeLXJ3p>x197TFa=wOk`I9_O4vK5t?XI$R1*H5Z z^NflJ1p%(LaDBW!mBIqWAKFf+tMNDBm(PFyPl2dBUMMusc`+uxo4qZNg8I(;CWp!t zmKUz+)Daw+c=jsif3Jz`0o9BZ)jpsd)4f+2qy;p$A3U7F+`H;2;+O8)q{ycnpchOw zGA&T--FGldQBM;Jl=3H{zB*5inFQr-fdAV5EmiFfC+}&ER}qbUQTyiv znETDladb59BgRQqW@aYYovq(`9d`$&5_yb!eV3L2hKQN!vUhNlfL^WSxGq_ayzDs%V6yi zsO8;RM3{Y(#_34HdK;&LFGG(eH%wG`5W8uj2HcC-)_jKQ53@00ivR)MK1j##as{s& zBiwc4;49bDZs2henSyx`3nVs`5Tc9;3d$&;C5R)@Hj5eOO)yH2COHNxyS=WggAjun zD3X=*CjNWB~sq`J(pe4j_u)_pyaqA4k9?KZV@y{5JMQJoz_UMsr9KM<=Vk^PcbZcA4_ zQMg=Eb!<|XQ>bc6iV$mtz`E5a8ME8$vf=6b!<$rme*>&50lN#;rH}GR%fH9vgQA7n z^1aU7GEK5e76X$qL{`2ihA<`7sl=p;g$QH1>+4sqS{64#R;|l`Aq0o$?FP0Md`1n5aZgxy#iwa@cnmGZdILp zl5cMy_mIZ&7r$u=vlJHxkPB25`N}Ll7rxmoXg^>a-juXjhs|ikx?&~S#jvs+yb@5w zN0W*K`gnjr5+$sOdwS~DD)M^q$bJchW+^l@0!}iV9i<`|X{@g^q{G=Zg=}~;q2ZSt zu8=wDiK&J=!(fA_sP`oU)eS*WV1#9rVy z!i>qSC&fXBwi!?XFSS|+oKrOts-v52KV`HncboYXdj(n)|RS*-z5 zwM5t@Tw`K6v!?XERv%qXz-hr7`}KC;gQ7%NDEm~FF~SVhT8)LJTt$?aCt>>$X~@Mw zqYTAEYIq{;>zFj@A1P9&!?wV4G(5qdpn`}1{eKqqD=!bif$IW_g8Eykw$0>?fq*r; zq)48>U}l6G)zKbr{Rd#2LH>|t75h0DX{M$vL_CMM>Yx>j7}c1YM~%n>v@B5G8weAV zeDQOigME9d%qi5aJ_3!OO>m(Wihj#C2b_2nh)Up(Fi02?6$rSB2r=x8m89?6@HV0; zS}u*d)DxS#q-Wdk}^cOxD z+>JXheh=;-EW{05MkW6t zRD*BjdtWld)pcCb%m<|-T7*eUJXPKF_ts*bz|kshP<~u8>i)S62Df}1M^1e!%oXEQ zPvIe_RpYs%gEPiNz{r+u1|S%St;>*zVM9m;u};w&So7bpN1AlQl8jM?&x|Q!N!{uU z;3-_tNF|L+oQdR>MkwfmTX+%Z^>mqF?fhyPS3~R8FDnHmKQDa#W?#=|dM*KGdpGJZ(3m5I2sVM`G+? zmKCMqBys~Zp3T5IjJryTm5{ziq_cBP`EO>F`KNyAL7bfF%4!eJf&btTxSE7f84X?y z&0&nxm+=WEtVTlV>!GPMnx*v&->z+x`JAV=9l3*RKM!0yV2fBA8OG` z>z>u;cpFMfR{B&H2>hW}FGY*{TETL`Bqp54Vy|%l(){C3$i<~j@yOH|{>)pz4(xDHEn}{kLgars(O~A-AdKsXl(7O$S6;@7lSm@;1&&Cs@>L{vSm1a!@^894aJgkp;~Li2vedDRm$ z5e1Ogd9fr#fUtM;EtbhdV;9bOxN}4EP#Rd{7m2_2c)hD}G~^*m%kTOd0fhkwET4hn z%u_|~=JFKhSJd}`t6%Z^64%7Ft`d*wQ$H<+GGK}c4QY=i{);BtLc{}T7NsFH`B=Vz zp4Qf$f?0iuxR%Z&^t}KH#u^(4x!#z4WhR5j-qydzS73C1+o1Zw`g8jF!kK;Zb1b+X zm;I@+Mo$Mmj1bfF!mgm>o{8h1N`%M$mlc@fu*BMx%b8eVSeAG|@aJE%y2J^z6&Pru zF}EY!h*0)JH>fl5-wX96jB0D+n4Wfj?PPVyB)HVnn6`WPZcQznHjQm9Bg$A<^4mXT zz+uD5Yj>;nh+Ddi++L>%sq-Oa78l~O1}J5^o<2K;#Xj7W#G}&K%F#C z_2v~JB;WUDad+>o)s{wz;l?Nc()I9{L0I}c6TFk>fDQ{SiG*ogsNo8yTlxG^u!BF!k+vp%g7`3iv~e-o-!Fay08BR5#)Ihbp1H(F7`O(b1sXZ@Py}79 zt*@?i85aw9oUn9A-@`C=dXr1j))M6CaPIaA>f*Q2S7ke%3w6Cg6~_H^0vAZcVmbb) zadQ);Jih9#DdN3J1iO7vi`Bg1pHKTx3o;qbu%Yo%{keQ3WOn_^joUa{-gqI}i?W7M z$^N@-7Q;f+5L49r3lI~=y(%AOT(DuV4ssu5>Ity>zS`8DHkz{1?5$-lb~Tz@6gh+GvW`V@**>a_gH zU*+|BQJ^{%($CbV84xl)WElp1MhOiw7C$Ce^2^tD$)6u2WCFM!$lOHqQU7g@*G)qD z?Cd2eFw$l4PxZ(erM@|UV7J4_)paZ|4D&D>Y1p1G3A%Vc>a8#;JYv!B zDv3B``dt4Rg{w%tT9KY1*iQPZqos?^YtZ8bf~GFyg{ zYLj@)F5JM2mq5jOn^P}@pFOowpe#c7Yi?>O-Yh$Sy(YienBsQ!hghuYIxODttAu9< zXK-aogBnwMs)`*Km!CDuL69WgI|6a*Z)g=>+AmFq?1mfcEATwU$ImeLGU&NIvv*uL zx$f>s{>JdH=6^BKC54w8uCcklC({|b@%8FL>a)1_NJV@5sYFLn-Ed##`G1tA=gtu4 zTW~;EPR_dCKc?cyrw8VZxwIt?M(g^Jj&Q>3_z$@(+R=#cqzl={9d?K6){;H1B9Q;J zbhz)ZUddP&vgGZ7dtH&nuI46O z)0OL_@&9+avSq?>JhP2P%3C3trG_XnXcP1$Y&S^@9_JN=mNyW8sdQX`qDVH+dOGT$ zVN^kKlT2zs6K`YfKd{i8Aj^EsHbKby9+3I%WOBI2Y8M0LVpH8*Ef|h?+vL*F>$5?xu0#dv<@m?l#`cb_2 z!h#sk`92rBauL1paTP*qYCvm&X6)t4tT#$JC8gd~%6TL8nXvgly+2Bx|MfEr5}F@V zb1X*`QQWmqbKw6on-cF1>qen zUrOfT^NweyoBaUYtE+%f7zu;%GfLe>)+WWbXGiYb*$JJvL#;5mJ*<2|{|s~j#W9RK zfoSO@(@@!w52 z1J?v)7!4=V@P&rf&4GERo5>4a_^(IpdY&%oLa0^IfhI%p&DG)7-|x|XN_vUB?kNR4 zJVC^AO3bcf=pscUbj~j7({x&G+=*C+@^#ACh*wy`SSjuQLa(YW3lKj*g7&f8Blk@n<43i$D20cmJ z5CDQ7NPz#NY|#HZWvgZW|4G?GapVw`jcX?K_{cHt+4{2)+Czi|uE~kVQ@i9A*zXmq zy_#KNy!gioOzR!knhg%J9)9ko1(V)o?=8s#|PE`|(N&3qE4`>^HNc+SxYhE^-ZQHX2pqAg!RfTEm!;iLEf6xT30Z^py{(qvz+aQdwv%fp z%&8TV`nJHWJIhv|X8XOc8lkAjNnCN%qG-jR~L!HotE(Kwr_|>e4O7H6K`dY z{7q)C`LRl)ypEM}dD_0-RRn)@gkHb&5kgiQT0&x9otB@~8o6`wqA2 zr6$Ke5SoVlxK(|9H4OiHWQ#kEe0wsXaTLi4cBOifc<}OD+W%||L#Nw*oh~7!`KfH} zi)c80BC{Jbv9n>hYgZLX*rf=BFB=aVGDV#-&t9EnjhezTFgh zXpvVKGX1=Dyh{#QnlpBdBk?F>_;&~{0``eN*?+SV@LcND;}Fl%5VW* z{!jGw3ek?25z&+$=bz{ep~lxD6O#Dvp)ov1k!U=snxBdI^KS{K-y=1s<}X(N%DTZk z!7_(Fqfk-L{uNvq6Vs#`Xk4&w3ZTgEdR0lwYzvZG})6v{+3UHQFH&< z+-}e4hk3-Dkqnl`ci84}M)To@-U{|mxH2?Ks|rTr<=qMGo=hJcf zed4D{EW6X8H)WJQmcx5pwhT+ZgY{lO4BWGKs8u!$y>wGB5uc{Q%$jt<7TesQ|k+1U{T zxp(C%DI$#oo<5th)0%lSQYc8WeW|JVD)UALZ*D)y^TXuIo5=UfMfPi8AKGvJZn}ML zd?Z&X24$pL27uuP-OWFfZwzvZk7s&)^|F--h4!@bF%8rXlWbz?w8l--zRrbwOOGb6 zdsM(qmB7J>Mj#Vwzx59p7F~^Zv!hfH@pykW?O9s}@YhPlf=W$R$jwgx`C}2C#>rxR z@5juLF+0ir&zd*xo`78%u?I}QUD)jg=DY3==4B{I3UNF76zeKU3uy~LPdd}c!gOQW zDu%cjM&37|ryv<&+P+~lI|RG`A|a)|QU5&91Eju5d0P?4NU>dd#b{QEr*6K*R=5wg z&$lC}-<${qzMc_X!V+ZVk478&fmAJ6LQDBh5pT|JLx^Xg;X>jA%E~mU3JGh&_!FVC zmauP#iNY&N4PLbfTqhL1g(RE7FO*8j^fM>Oo?)YlK`07_vi&JeYEBIK0-*7^k-U3c>fQpy+y~DE zT#j_-mp~&EB3eR>`y4tGG(&8+MY4ugcfk7ZfG3?2@942gDvtETB)+|0hsY}ktsQ`) zsX4LhX@65+Nf{F`geMWy^Fta^RM`B8ike@5ZBUDZ*C8A~MUmKBwgOw&vze^VsXq#- z6kn9yh;Z>Zoq%bkroSsYH$3@TENX=e5q|7jgRzy5y+e|$L|3;lNCe}L7=|mfb|b+ez$1rN`D^Eox~h`niXF{izPUWSCV;`Gs8m@tn)B|dAc#EV=b0^VF|nZ?8V)x`c8FuwG;Z-6PaEX5k+$5towCLFIzZ>>Dw1Gu0F8rd!SMo63Z+N;GE(W*qX~tnF zs@h`}-r_6hVuy&1pla&apEe0D#B<`Cy?tI;+2qGxh)bv`9lMEapua|m{%z$_CK2-! za7|2JrR-x;fLomP&VZ%=rCJ@~AAXVz*-;p8G+7BL;g&N*S;A2|6KeR&1cIBT={HX` z#|7X~K^Ywh>tLePrq#BhO}_^L=n!#s4zgH)ONPCdH*&sU&3oJtism14*@N(XurmyO z$g}CrZSerS*V=CU*Vsf5=;L4I*?9L->SGO!CvQ*_xYJYbL}=u`#l6Y1< z*?bh=KgVp#*X$Epd}lHQaw|sCG<~v`#?O^!Osk)OvDOle_=RFKMHA1!zI^Gs`35+T zv1=~i&_uhL<~INJa1W1jpUOACx5I{c`Kk7@{ktANnSxEc<0GU>$i=7GlKl9Ccg+sg zutX>&`ieWzfpi)cJ7(h!$`|Bl@l4>TYV)BQU40@G<_4n!4smHLl^dLeN};lg?w-cd zgDnklrafi(QO;rkt+Sptd{Wdk3HT=#0Va@4mKIby`!XM=y0b;>fkTAC#_8pEXmF7F zEk3fTRM5lhM7X!lCqkW9kNoV>zcA`OMR<>i`iXvfXlLP9f0Tq+)E*P4s3m17Fe{w$ zL5v0uBZ&7TAtP4QFGqc_5Zz{S8;EBbb(gfZDAeEUFi#h%kYKs=X5OPGD#>N$@AUY_Fp(8RE&k?RA+HM3d9+5ct03p zq3-7NCFmnT^fbshfoz#jJI}s)lkU_s1+C!+X{UZtG)8D4g(mH{E@&cJbaZ~w1l zz$KmwRQ9p|ou^M=U`K01^Imt0o-oxkjJL8gK{%USi)sRHumz8m%yz#Sww{N{x9|hQ zG3q5F?{^8ieRfSiCcU-eM)3fI`J#HYkY3XeJms=5d5|+W7Y*aQp{oB}oS(CVSJ-0w z$sFX8__--+pCS45D_yl~;xt)oB;wWh!5c|OzJOlZTrPjq0w>!`{dJm{E5 zP_wx%nKz%5^EBFPF!0)owXGA03OE8vp8ph|Rwu{*2V-v?7FE?Bw4f-Vz|sw(APpkj zT?uyiaTQj$x#jkmyx#stnK8{) zi;$SkbNGTOrC`0rBTiwT{e?{v02;Zg0>?C{Byl!#T|g!6`GoM(6>GIN9*r*G#);3- z@ukryWh9feM8(EQ+rdOCe0L%9p7oJfZX)&tP<8lO`{rj+b`7kPA(4CzqH9jZ-N^tF z=XRj~kSbhw%o{jN6fBi%q-vO__B_zF+lruS&c-2xmg{{TU~d446mTDxuUY*us9dl0U|p7k&Y<<6XBWrL zBPA(|T)K%*uMf<4RTjUc* zzH;jpb`B?So${mO$-oKTc5+NIxR0WU@_bLMG?q)MugveLn)0OAK6SD{Zh6q10TEhK zvl8)vGyJ4``ry+TT1;Pyw!w<3*ei;7%h*aSdki9lsl7Z?51qA0G;pZqH8o}JuTA(c zo~S*%T?8#4_Y+H_0t6`F>;-PETbIVU^U{R@eze5HQo`;p+k?uVF8gMyu9*1biTti| z?QTc?l3-vyOlW)j5ZWUPKZ>tjT>L3Efv}`_O&fjuO?vRT^F8dUX8s`H8F6or%>w`{ z?lR5-sf4fZw`aWbPrIZ#JXneY!e6yj`HK}Qg&E1sci5834vP`n332KP{S2d90cZ%xZ`$>XAa+QSZ*pOR`saRJKiq+GNBZnrKRqZI`Y!lSwMtC1 zXxVsSuaxt5MJ!T!`cv}1(>M%}Zzd2c87T1Es~#_RzzNq*;(fNmoUhHO0ttQ?IW=F43P@jyB|P{M=m>yK4EaTGWrIQM7g1sM zcXAdCVr`MbE6fL&CPIa6*CLakn4@2JIFax53`!n(X`xe6=&Q#e(N}-bzrI)4!@Gn2 z@&BG3apFgE>XTFc--Mg}(OkF7#=8A{78Bp2v&prTD&b@OzzPQ$A&xDcW(7D70p(h0 z5t8JupQ8aO|2JI>M*DLpGK3B&Lvv;7^b|-*+aN*l4;OOxmxq$X>_1Zrj-XBbv;00N z8V3KlW;*L!n;Chy`W)lB99qp5p4UfYR}HQ&q@1F>Em9*1XP{@)OK!Vw{l(?YB&?S%dcD zg_2bzvU+zpj;#*%o#2KH>sWh?a;!Vrz(R$yWm$-WF)A-9V7Ei}x->a{J47zl=Dm&e zxxej;$nOW;9Kc)0T8mobDW=c#BjD|2kYmNoYuB|w%>Bz=YBvZ*QzK@R{M*U^jn}AX zEk}&b78NN8AR#F6vbO!B~05_2sdu+SK|hDH)~;iT^h;1U>ry&e=ken zK3VeFrMYoM#2!R6BJh>$AC?7z(%QG;(mU5kH5w|l_u=Uo9?i@%quzS%KP_~l#kkS|=eJ@S0)Wx;yYGbrMG z6e|0g0*vn1L^#E%t5+jKJ9XfgIv(dBfS(n5I~2#!BhAGCOLFt5__M;FI^?sR51RCe zrOWA2!_WcA`^t6<%Rn>Pe0xThUA(Nm1jxxBv-s< z@7sgQ)vpW9j9}Ia)qhI?$Bt{^G9}p_?1NNIpRlP7 zxewI=wVulO=<9Vu5n7WOrKV*VtM9`>rQ6}uN^gnnixYj&%}6qN)b%;SaSBDe_v+Ib zD;Rx*w?1^nGwFXbUUalywPM+3oayU^oI6pT#@c8(Q*bPJAbiju@r<478FydAK5aGu zNt#mJ!1k_5fY9I9N9Y{n66CkOaEcsz=ZC|NhU!0^s{tP-a`MjdN*e#7 zXT_BIHe>(U0*{QmtH)`bm=PylWv!JemM3mN!%Vmy|4Wkw`r)!Lm&5LfhRdo1mq?E< zt<{ZSt=TeUW=0QpW=jCjf8H;W&j_yEaGVzxKs<@;oKh#mwq6o&R*Isn_eZbYsYZbZT8h-*uW_9IBoUb@9j0WtN} z4yOO9%fnbq|84IKP{!dUGkoE5h9_vB2$bOldec#CIS1KDUgTwzd(4-%8^2q&l3%Z7 zF6G-{<&mD9J_J9wKurkxJU`z`_|^~&typqdg_+bt{k>+~kS}f1LJf@qt z-u(N%&RbtcQ2SIM_@k?RPX_@39>GC8QMmh81IhI4dOOB0GEDz@>^k}=J$}wyuBH1Y zZtKY9C=f@vn7xPnUf*(G?GTOM^1#G){l}FHR4i4a*O4{c-m=2qYZYS+l1Ld)jYH~) z!Jt-^l8KK`ZhuB+PeLn7Ir`fadZ8=+9@3#eOZCO+HfvsV2Ojvqebe6_OdG33brp8k zmYM6JjleANn{wM&lGf%@PMX&KZFm*ZRb zMnQ`VXJiOI=EVqyC0EUQ+6lDZNc;$TJG{_x40e*mq7|=iuwgItoH`-*WKB6>E;ko+ zTVVO1z=Y3)B`ZQk_xuOe1C0=DS$X`_(cb*TsNeai@^2MEp1t{Mk3UdqU*fQAzxDaD zu#DBmEE$70w*bQ&xShg*qk(c=bu z%@5@*BLoun{-g`??4VECw*3Gs^mJ1>5qCL%~Hi0+i)x`i#Q) zW^h9-Cmu#ee#8Th$1a-?F`*6beI}+QSJ;9n{7{0aD*eu$K?>=b z%K#Y1hboa>np2Qas5s4aNjFg0s&Y`}k}=i1SEMpxQ-z1@2bMR^H{Obmbat$r?Si~| zcE~A6@@1)v?!NeXA-v|e2g-JGb6I}*$Ib9+Bdi69W4H29CX{wv*=qS3Vv8-QS2{SR z*o~eAQXaAVA2^g2=;mz0#mWhO4L2gKPi#zn%Oa(Livn(BqhfF^titqprH#~|?O-BE zA?k47Pb7fle5*BE&|a=&CDjKRJne|khY%YNIC^>8)d2>3wnnPU3l@O_|8G(&czv8! zP5N(rVeW5vMR56y2YcWB$?ful?ErTQp3{%vf#W~xgE;FjgK!O^Xoz-dkjrbce&S-> z_mG^uQ2rsVR)ckDWTXk5Eg>cVx=&{(;PeRGT!mC#-~V~z-7FKWMU%l5ke7;k1N@ld zr%LbUp`dS%X#(xIXu>r92NJ$^F2BnML_FM{5MYIOqrk0?Ds}+ni&(MCjqb%Vdzf-^+$yKR>*v|;J`{ibTD&&( zT>D*+-5;?R-$dh(A;)-0)26s&-#K(LEl0d2f7%oq72HMFPc% zQ};3)L-pSHxymCw71>)Q7?!Z&S}p*ln55Y^9aTu8qsR(GHgY-Vdv9IH*1<@W+{`p2 zffb8!Jmx=w(LbiTr+k|5P1T{Q78trml80mn2z}jg`8?0G5dSs%5uQqa@B&$aN`ZPmh!B506wBXtRmbAB~KFM_bGcl8T^}O8hL!!>u7bs>x2-# zx*j$6JX041WJyKO)c7jhm(+6+W2;;8VzJ_`t{~8y(pO4q@7O!)KfLkh>3TfGI(iO2~|<*hJZd_MU#{8nK2 zE8W zCfR>DH1vr_5+{X6-UZpm!FRJC1Ek+BeUTK=tyXjt9Tndg`z}F@m9rBQomZJ{hmvdU zPNPP>s`S{)BEu>Y%P1Y}a$%SXvZjvXDB{+-n0hV|;S(%I%l$=xwk|)<{qg7u;u>Z! zEo1P4))Zv9xP``mebPpsbCUU{8rEvl!fm>pci6M`!Q92w&ehj$A4=ckwo5gAy0Y^U z*(!WCF&dKaccU!TMSPHswRbq(3*vwJjPb6Ku9x8*p{G_J)-3}DQ?akF24GNUv)is^piiQ!d1h4ow&f#gsST^*zK>b2(QiK@PVv{_RN4CC-nnF3)6B=B#vC z^q0c_f1$X{C9*gf4SQs}9kSw7arm>s;e(K&L*kTYD3nXD)iss7-cjFxVUoH8xj2_{ z^>>Y@ntNXI*9GYB^ciAr@g^X>_b!>?>H%hz)ylymZ^6xapKQ)2w^$9U8i(l19ZTIl zJOSNonya~AsCU})qt6{fi4=$9SH{kWZ~bf&2gK0mBuirL;VR_r5662qB^?hLf=R$> zo+Uso$2K+tXB&^aUz|?5tAi6mhig4sDe7?g_ex^g0&aH5zQ2DdgJ&Jiqv`k4udNTc zlfA*7hXsy(j{F3h-)|yF>^wjRe?)c+-Kl748;I~3gMpR{TQ$ear;AoE1Vt1o91`oM zkgNT>XFY}v6zMd6_NO%plyqXvkjY*TN=*6MePRcxr(FVih)H>IT|sNTk%P}q6dmgnA8VGyK@JfE608r_%w&Rb-H(h zrp}_?;*`noXk;qUeyEE=lG4pVZ=Zs~j~IURr046i+12SjE`kPM&r@3AIK!dzRDFi` zB^i0cy1*pB((l6YE$CS^TaZu6r$)I4G^9q=a&39!7DwrzUMbP)Wd?0)K+X*RZm#EU;+;Ct^`oV$J=?s0X& zaVsM=cvz(v*NvOLTCtS(c7+W1AQhUzC=K%=VExzgGaZgw;ze86 z&pX8@z@+lZ%sPyx#~&b}`T13+CtrD$dc;GOu)wF*dmdoACr14z6c|)&1j;cDau+Vo zRs6XhCeGOV8J1NzV|I9Ba#&msXF3(8E{fCeXuwLPKChK;Fjf3!3BMlkxEQ(A1_Ne# zw2-%+hc3M=dXIRzrRt?+GE^(g`C%jdPd{m%WFj-f&at|qp;X}p%t1! zsULhTZ}(N5jyUx7;&o;rx7;7Q%1Rtq$-+s#Vfo;AJ!{TIQq!1F4wB%Th$a+t^gvUM z-leXQayfcrS9<@~mY9HKdVNqGV{0 z&}CsQ@Qf%N+MC5%dLcmI^;Lj4w*`64yJ~tVL9&hY`ljo}8Pd40LB2`5u%)>Qr-{Eg z$-*N5PX?Y2eFUt3(}mGLl}I;qtQ8WmpE!X)ZD?3ACUOKqhB@p)?r+`Q z!Y`C{XCaxd8T<8{zp6(T$X;Vr!mak;b~2! z&yrYOInB1>h>~AaeI+U#z&~K5qNXNU4ERPIs!S`us`v~`OL6If<4*!&b9R%fAjzu1 z1itTmG$HW0Ey*DzG!_?NXEznJZ+Qw=&R%Qy1{F0t%9TBlH^RY(~bwjdzFxf@!8 zxx}kPUYNjRyP>z=4zT@S>>)|NbB1l8EALQ&fYFqnUUlwopHG?IJdo4T;6laaZ+s3L zBKik+(aYs(nXt~m5M+t**ZM|X$eI~#&%eqmeN-7bE7*w4xm~*H=KJ4ZsIN|Emt!1i z`}-Mf;t5bgFumylIruBa2mD1EK5--SY3LsT=htV%{!ZT5KzhSkQNSAt;6tvL%p-;^ zJn>Yesr)!B&4qMtREY_icuwq|C3~8R;&LBXA93Z1^#JkOJtk>Wros?o*;p@gpc`-a zSSD3@=PX=dhYtZ>!G2fiE$-UWC^KMf&Uko^70+JG$;=kEwo|WPy))MFJJ1D+=T0=>u5ZyWdd--L*TZM^&+y8hRb z9*0nOLfQ7Zc>L@5`G*1J=GgrY)OIhGD>$?`v6^N=z9iRQ=j%I`TpVAHb{)k(=m+$q zwx$SIS@*fY<&C%Gzq!-25QHa`9$|0#yY?==aHMBg$F2oE5$$iILNmjDk7po*dnI$ zwc|_w;>)|WIzEkFw1#bDos)fel`I7KAoimL$R9$Or56uu1F&|^>woYSZ)P5kC`N8h z;Oo3Cy7&mIK67@!n$xpvrFT$zsqIie*zUM*4~s`j%dG!L$oIkMJ^N7CiTRKX>;t z^jJ-SJ&Z>a=x78d*6V9;x4~Y?q!A<4=YIvwS^I2|?Yb{E*W05of@Kk7w}XLb7?$x6 zm51@nnQOu)B8d6tC^Gcy9vGfBZu&UF7OOvZN&{m<@R)???O=&7z&-^?SWCd>M@W3?y8P5GT_K6^yKx$;oD{s zb}aqE(?>3PymcSv<9JflZdp8cF%LWq@aM!$A7So&%>aXCa^DrOxTHB7^HitHE-xBCQg*>U{zijY?YT$~x0Cu69KI4J-jWp~y%RNo!{r~z)UMinJ&eL9 z0cy_-q_)P(Y=^gS_L?E{%|#ZV@>56r=Q1X%_*GH$ZL}CR+5ck`TI1HB(V9-|%XCeZ zF>!0=G_iO{idIyJ$h@yzmTB*Dq4`8aXy4j4s~Wuc^Y}eoa-2%~IYZx7zK%0VMj_Y# zjsd!{{O_jVRGN|cIssZD&DOcdo+Kf|7V}S;-|7O-(!WN_)w!wJ)4qVHIpiZh*LE7( z9%yxkE7ARLqwxC>!CB`e6t>~t{%=#6hA`#eOrdvbTML@cQBvW5mQibwg_LDr;dQ3@~gn2jgixsv0VZAKIJNzVyW=JQ3#-O$uffAoF;cDSdCVQv(@g5Pk!y9RK{$Ls_S zX&ENtdk-iY`4gx?=hSY?I#}2*sLW);G6+*UTQkvN`5MKV#yoQrJTPJ=mE-FwB}B-V zR!hN$mVj%0FqoSYLqaW^#Uv0N$sNrZya7@9*ej$OKbHBtH{%&4Vl9@8?oqV!?w$}i z5#kP;?z6xGzs}YtIk2k?^(+~!VHE;!Tdo7-*ac`fIq9g5@v!DOyhPU0UR;MXrj{XKb@51Ncw@IIOj`C8{Uq8R$qs%o5J0 zput5P>QOxU(YuA?OIM+G@T_4Qk{a-tf|hK=?}?O-I{OP78qPdq6Vr@X*!9spInn** zhVNQ>s?IT1!|DxwT=SQ~pR6;a2nF$R&9Z!179 zUxc*mI?vB?ar$N(ejYx5*_AtT z<8v=9<;=z*e($Sp!ho^BGg8IK;P>lZx)pyV-|CQ*B?eQ#uo4V&{os+?DL-2QoQM+Z z7HvSe(;z5?Vq5Ow{+DmA7d2lJ|2#SRdq|TxqkhM$SeQCC@;?m_uMC zYD*Kgc5Zj3xq7fyQ;GVjDcUUT?zci`YWTZ!(w&m(tUF)C_kzy50(e1cy8K{%2cL$& zIq?v2+IQ4pEA3zSji+-tF4wq6 zR~+KL)LXVJXwBoRpP_mmALQnCy=* zbIlv=gaL0eeb>S*iP;~LgXh&%C0uq+IO2{p9m7+1ofK6;K{b7c?C7% zJv?(7PY&KRd@Iy3rFB?_1H65EqbTAO?celtxaQ0Qc5LJos0vRd{iL-sf5)6Ds85#WL--35M}uzGzImMI*CClkiK)+)Kn6>-hFn8Oj|~?^ z+C0;JUEXE1!s&h+zS=umoOY+I$PjL0q| z>e;A5)9^V0Vh@*fAJ%AV8f48MuBxDW?WTJJwGVGOHcb4EDnpMXqRCCQE*gZBy2Y+& zW?@|(`N}5KIP7Kg2NpR4$6*E9cRdr_ayh%s9T#l zrgA~+d%u<0fwzrcR&8C#bxp>u1JOLf{+51zetTH6u>PrF^ixw%YNn5~!a@#|T&DfW6`M%c=Imqt*c^1 z;ATsu#||oYaoC@^(3%z3ztB*3!vik7Tf<91R{0zIS|q5Ad-A9bS#sFy;k9RbgTkxo zy&;%Ir({lF7S5nT4<|4`m$832jJt)%9S^=~)I373$cqB#UvtGuTYh$gEYadhZ_~Fw zU){{u^SmI~zl0BWw*~uGd0j7e6E-6iVq0fEZW$X6mFdHtW)^{cOlzEzIWYP+IL&z+ z;?|ske!|t%S+k|ei$2-g76Mu-?+x{}l~>!q+nQJ~Cnizj`SrDY>e%!A=1&)NE5J5B z4nv(4%eADxdD}boaIS%Q6TP!hpw0OK)lklS(J`}g@F#p50bz$|(884Z8p@NhWCYI6 z%K9DhnO+8tVD;L$&mj$TH2d_Vc7QtVdxytkyr+4mx8AsSd60kl_?xGPMFd$!Aa1l6 zi90=9R?rafYxQus`ouf8-_f@AE|+PoM%?>&9`|x2_?1G3>iLh)UY3>;_?!55)F^G$ z$cg)Z`urr66;xh2=Tj9`o%DiVd`|4?{(mhW{xQ_@vy`QzV`ly|lFqDsX7{Lg4MmDhDb+)MtNU~r zL*UjZaRRAdn;7G-x6HP{GH~Mi#`LC%qid2pkbGfq<`*NV6@9P*w({_s=gvt8FoBuI z*L=Chu*?_e5ISa6bT^%V!xd5xv4H=z;Il4AyrF7Nyv8aj3S!eP#K zdX6{5%`(QVmxEl%l~q?mLb_AA)>^dN9q;8pN4S(^G5Mkl=4T7_cxKXWyr$OL62J~6mO9Ms*$}|#h)IT5Kv#TAXv>g8; z$&%xNaAQ9(N;&lkh258y&vhr$ll;9qtHA&0nWZU&`v@>T({e2K{3GODPz-e2VFdBY zn`_s zVjOn_QJ*yOk;2^6uW#KBW`TvjiX>6S;(p)jrOOhoT7zHT<_DKGz9+glvB_cj^Qm`5OQ{{IGR82?zB3|*=2j-!;qNT6YPyyHJ zG$C@TrsOLpo-Zk$HK|WoXIWZi2gx{7^pC6k0eT7NNjqtE&N@C4GqSpCXWz~-#^PA$ z800`H)25$?(>6im~ z0nMJYCO2918&N$x+FZ%l`XVI39%%w8F-3H!4Nzlbfq%>3aA zaT;(JCE6L(U&&O>VJ*J7Rl|d*!*vi{E|lCk>K};h3V7SSpW@|ib;#3K6DTnaPaL9m z(xV%Aql&;`l%!zN8ywThNl2|hxaZh{3^%fi5L6B;i0W#ED(~2Ogr$apeU`HZi`PqN z_M%e)5@?iu-C_*x_zypC{LaaYl-yv*8teC0ob;sOemRwdq8O4LH?l(gMsc z(upU5FX&c?jQY8Z*=Piwi++Y^qF334W+7c7Y2Nbz(S&=KajH)`eORbyl`a@Jo);J= z@zGX-MABq&1|6yV3}H?!WUEBy=goF}Nw^GA!QFhNAh9|V)HhF!=xHFS@v+NLFJoSB z^jOdhbpxks3dol=*f>_T#pc)EPvJCao0gfW01z#cA|IsgMPPv-4co4Rnd+$4GoEb6mG%C#T+dXJa+Vy{=YbXQQT? z>Wds6vI^aqS^xR@zk_t!o~EGBbyytu-$UmF4e4X$Lz{K zN-!f>+G~2v<~tN*HVw`=H?1D4-#xIsdk_xVw4Y_KYCHk^D?66gJXZa`CyHm2j|f4a z5GhB6eC_$!QdxWPxVua*eT=~*^p3AtW#QT52j-6s22FMu6dfJyv}_7C6KQUGC`-2{ z^W^ATJEkt05M1T2diH!gt|Jqc-``m;E11)`P|3pI&NsD_-O*lMnGRq1ZSjm7^`1HG z?x@e)4th*s46)y8;BgL=+3<#dpO$ zHVFi8GXwGK#S_Zq*OMnfEGq`_){Aq`PsHY*hdD(;xeOaTBMIsq474q3<8|O|jSc5R z(QRf-Rt=4OKJQZ-A+3WulBjbzo%b+CGZBe-K?Y^i4SI& zMaEhTqmTKnc5zKbT{27X>ate%iIYwYu5(w;M#p$?UU%q-WQ@-l(+6jx>xF{YDt$oKuiQ2SFRYYV8&=>N-_($^B8fsD!^qMwr_LFjGVYys@10+6%;6Ew(#G4 z^2SUU;_*V0&*sgwLeioxtmlUpd{NLzj+Sfga_NVF?+HQEL5M*A(~2DA=t`{cJZfB? zfg}yh4G{QdHsoC&+4AkMTo$fukk-=FT*qn!|A^q_2f=2>M_#izjvEh1dU9Z3#mT-RIjq|+;Km`dlMx5ct2FZHfb1rv7X#- zTdD*`ugTV(&wdM;9;Rw?HAe;tR2g#Wef((ASz>*@^6T)>MS_6QtHmxH`*SAVxIce93qvr3iG#rdq?K zD%iljm16=3pR!fvNGdvsYjmf}GP?VUk&|@IY($P}mYRn@hAIk?vA0s8puK@2=#|Q& zD4ASUVgy#N)t?o68;?NmF0(GvX-Mr&X?%!75^)tC@85^l4bU^$i65(e8gTuaN5jwj zTag&M?H`Z4X%=+jGHZ2w2r_FM2Z)X%Xj+eL3qTI^>cD;JZ~RMfye!dv4D;ithxA`v ztV^K$<;0L!o;<8yG%pOAK#zf135i##z_T}s?e8!uPX!)ZdIY?^^;_@5tbR5v;dzMv zc>}Z{Uxj?7yag(^ozOv>k$W)JdeX=fKfw@v@tV557-=(VBVLRYB1Tq1iC0}or11Hg zRo6kSnp^g|d68}2$N$;fM_2M<{FPGSzqY-8VM#>d^1ih;{lgpD9p})M9qLKbnZ+M| zFTk?^bUAP@o~%v4Bx?c%2T`(5I*ZF`UyzX6|a5NFyN0J zc%^jE&cP#?81uDNAu?KM5%Qtn`f?~dhx>SHF zojUaCUl&V%kG&TJe=dGcbd`7K^*oMSP-uQcpfvBCpj4HSe0y{`0Rds+ByOf}&RXy;g! z3nP5zV)`Q})3sU~7{b7`Q)*z7AXey_bpR#LORF8;5t#CR$~ON`<9imuyItb8e_{Rz z4D52Ez142S>Jz#$5maKDj!CnWRUQ55Y4_S3U)qx8vC+nFJw}6j%*;3@7RIaHNCj-A zLIrQ^@t@bexVX1mt-1YLicDt!ki%9uA9^_L=ABCLB%#6CQ)e@2CZ+)3ZPFA({Vw=B zVg%=S-2o*heF6l}F_HiOymfBRDvIXlh5IvzVwzs-O+g~xS0d|^4QWK1o>rU#M}o2s z?mLXFF(bn1FwK>i$ldMFCrXkQD-W*6X0=XntUZ>H786W+owh4`5zD;$Tle38)B5G^ z75HRgHIwV9m)+ffb5+R0!P()8tQK7#uhY|LA1WX{KZN-y_TPA%9g5qJwn0#w+j8WX zVA#fp35JMx1j@&;4(NaN_`K4?Z4oH0TZ;{-o_+F*p@?C^u+2S=MvvFvVcdhp+8?vK zjCnI-62^g8XvhZpFoSAtCEymUK>4}r)aX^=$T+o7Jixwa) z!Ft9AFQ1q9vG4{CGD9-T;)E-j&S) z0ci#9m`{w@a^wPl^}m8KEs?NKmuE%!eLSdTtA_M63ZcUx0Fq19hAiQFB2czC&Y$pQ zHHytRp<1a=$!~YUnc`*QTiX0I=!QF;4Y6z1Ph9QGN`y*Yb_0s!UptP=f~L9mMPy&S z&(9+Z$eJ$fQus0REkZ!DSVw_<3>GtB;oI`(o|(v)f<6e>=&!<7p&BYs zKmsH+B68m@+N%{&Z)x5?8x{5=Re4bKLqsDQe*;ET`LJrD z_(^jTT@2PEcjrZg;mHcZ%crDSbA${eI98TT&|X=FA~X2h5kvtpgJXmiZ z#?Fw7*fzJ%5<{d02fQ4|TDMI2W;g*9N!EHnYiZR(|+x?@@Qtncn`K_Y)6uc=EQMtw&2T z&}BG*ubIjqv1i!}J}U^!l$%w;YsEGov_wF(WBXUu+h`1aJHi&y!srMv^3SuD87j@O zFz*N_94ke-+I?kKPN0GTmv*v{%p)T;HORYR^-&Xhj@`-@f(%Ecb%*8NU_=LrD5mgsfK=_~A$qy1mf!jdCBqAEW zbGQoHPiO?*1JyNKE(hL1PS(c0-9xPox?eaQT>F9c8f-B|{{dz^U;Yfu#i+5-Ey45! z!Ud#@)#6-MwqO#F|!W+gK&9<+OkNMr2ONimGBUbRo}&={U|KFu7oVUtFe6$@jNiW=F$ zWLYyl!uvxwLTK&VzD8ZENIp#({NXnJCdO{+g&l`6JG-5yH?X2HyK^yRQc{MP8srck z&Nhh>ce!MfB-P>am{0nZ1ia07Kv5Tg2Bw5zGJ577-em~!{zsL|$jAj@D7^Roz120s z*Nn%MQxJi9jJXz}J+#i2Io7zNK%f!Y&vK7+g!pui{;3H=#LD^p=MaV_PNu@ai1UIE zBpencqTS$Ely9G$QV4cZFrI)LvShg8>bXfg7M1z<&kw0A4Bqq3ExoEo+PhMntWWW3 zc0g@gd?^6IGH@Ur52&>`wRQCGcj(-DAP{lo#taAxgMvinuHeei8YiiNz{R=OVK`yo zclUr5HRJjHnAgT40Srtu4k!UfB4y1!sQAu30O<%MD6|Qw`MbB#4xYLHe>Z;nivOrG zgNu9U<1(;f{sQ6m`J%2>jjUM24hXY?b*z*^5qOX6&M%kc03@V9evbir55#1H{xvvBMMm(pa>siB#yf~tZO0CJ@9u+cJa1V6|FC>qe`Hoq z3HbM?NZa#o00wpp*pGT}ECx;*hja7&1=lp(PVR^P@%a)FJ)yr2B&(lXP{_rvc6AAU zv5B;crwPYZ`=iGElTz~CyU&FU*qkv@I8)PR+8_%2(OV6L%AQ+~2(1Nu>(s0}*Zf2l zwEivmork=EW*qg{I`Hlwt`$VHz@+%k^KOHQr2n{!HwNngZ9F1*C4q|xLg$JJkIDna zJMN=m0=JLbGAS9yQFtow)W%k5tQ|r>m({jGZ>^B)j6Cguc3|%SN19E|L#?bKwDHP2 zQ*c-27XhVD-}?8oepg&KV{9Ao0Gb7jd8oMO!CD?R@_L=0i)$Lfm&zh!mLt90Dl(ny4$hs^( zA6j)Bm2U$^!)s#qTXzHit=>n@X9vze<*A2?BEF?apHDNWH5qbFOXwO!zTqHxeSOnL zI&ZtIimmEd&{FdAeWAHQ6D3&fPrmfo=|;piZZS4<=$(=GpwJpam~O zBdLQU&lfnd&(=i=Jyv)eWKyjKr$~@^1n2Cm(wOsZ4@9c4uTzfR)ai0MRbc9Iu?l8n z?q^C4MC$MHmuK138rG^m6o}-{H7k!?&z-XulJI0%f+NGWGcnEB!t~{F9-`xNS_ZA)eI+thXc!Uu-5Z6m3v}C;T!R`-O}8{ei8zgUl$uOnMB5 zY>;sE88^HJh{*lp9I00_?c8cX7MD5}VxLbdaXRBP2O2>Qq=I@zPO8kSUY&ZiS`N+w zH0{S8zUH|9(v(KX`Js_%Xx)b&oz;nAF%IGFu2RG6g>SVV(`*45s3naWAF#uA9kEX| zK>=lg`6=`qr)kr4V_3&YlP*2qH*y}maemP5^nG1mcMA;}=S~owcq*T0ea|*uYkggT z2S1AGXX{q;sQ|l0VxG|d!`N4bMH#i-4xofEv=T#?pmcXiNtdLwbPU}kI73Q^64I@7 z4~+~V(hZUW(lvC$8GXO+T<3h}&-uyq%nW%z=1G6)KIy0O3qMxs zq^`GJ=6y4)llxRho*v*@K|12nrhw4Ci8BPr4xKRk+4&m*QJBDxt5}T7W1`N3^$(Ps z+qi<$6LQys%3s$*5rFZ1be!F;<($Jz{?@W}ywDvta51ui z)GUDjNOlL)(t4*MQiX2b^j3?M>NJS-nWSbLb4nwCN%snku1ScMb@jWpqAK@APh`!b zvi%)P5}uLOGeodL#aCfu*>S+Y)Rk3rW!%63^9y#bN3+3R_we)i9!|6#>Xq5+Q82Dm zIq*wxh~)8i@g#|n!Q@f4O}2IR9#b2Pq>QfNb}8I;pKo`=LD*g+F$tyr7I#PJcE33O zGVyS+FD8VGnhm!TN=3X2sB&Ub4ddxHzt)5onjD~M%Et^!CinrU-2DFN2Gel9VXv$d zG{NAuDOov2HH!a3Cu>ny>oOPdi^GCbOgM%21XEV*f?d~1fYaq0z?6jrTpF_&88Q?- zdTtnd@Df`*yL9vGGvA&wjREF}om(pwy^RsWFDQAWo~LtH5NPCE>4~w4=rghP#63Uv zkNgrd$mFM`Vwm7fbct%cCW2S7S1G?;H*(MY#%RAkpNagNuO?k!H31kF`t4A&W<>t6 z-qYL%C3wrZqt&lq!G$dhV?Rt~AevpwCrHW+t&q4)NorNUGKr|p4EIa5k|knBV{eS@ zKYA^8!UQHB{*Ji}i2*C;#G$*2TGrg(Y7D$V`_-^xnyB1Et|_eaXNEm}Ywl4uK#jQq z(GW@=5BehW-g||1tzyKJmK#5&b(P~LNPK$-GywYf&FaGtAVDE4y4-=(a10q7kan+QTT=LcJ%!!h@r{oRaC;{I}pcD_}OyT`-A) zJGLr~i)?_?bsxz8x()GB5PkaD_k+|!&K{$p2_oNjJbhc(Np|T`T`#p@Js4`W1RZik zQVU4@U7C?>0)E_|b2+s_-^Rez!G25urr>epr}2h&h7y$Q<-MhR{@W96#aZh%~sQp-qT6B*e4va9T1 zb3A{p4imm|s-DH_rh0Pj+U7tfJRi9xe9woZeL~omj~!hANJOV)qClsQ{_;w~;1j0bs8fzgGQHzw-p?4+J!rYH zCY70X*ma4ZkFKtw)4ndw0pFu?IogLllH2lql!i0G2^Y23{V(YSCKFj$0YdQev63}> zU0i#zyy4Jtb>W@i7fEiX%vOg>$9TEy%K+n#nBE>~J~oWT;UJ?ehK} zbiU~7dk2|M=EII!?u}T!lY<-j;wH}PL8~7-Yu$vJvb(-jDeLhmnyY;WpW02cK(<*- zQMwR4CTzGhUk|SzfAlHdT!H_wIeGXj_oVR`8Hgc5H~fMPGJ4^`N96N5h(xYE?ANYq z3Kq{p^0Lu%_Zu?4yRL2+R_J~p=8r-=!$6Y`(7ekVM@pw9+FEy# zj^Dx1K*Mx++|{7pHpFp8Rp?g1akUH5(MGmJ^>A@|(alN9e_~909|j6JhgB9RPk=)>d_Sj#k_A^ z(#SGCxymV(glY~)5!`Z&E+N5dq7c>jNeaEh&FRC8=n#t626CyHr^?U zH^m6cqcXU}0qL7IttL31^x(2j#`|w4@tfUj-)qF|^d1VxwF~e4d^^8ozf?pI&w`=m zD6mIT?`|-R_MR5tH$$IJYwFqol`IDLWr=Yug7>4h|Ffvz&u4wM4{6UG#fzO~Qh7Sx zGc*Fo5%}-zWwk4%;)f>RssHiaknoUeE3@Q{gkThT9e><)_^xL5(ZF^H{JwmBXkCoe zNAz7Pt&2_O@W|_;y<;8!kIm#e!y~mc-u4lcU-(v@Uf@~<9kf=QZ8qAayTD|HTEFey zq&?@dt$+FyCk2Ln|4iG4Hcd$gU{LoXC1(>b^i)@Nf`1XIvIP-36A%jA@HSMuA zuZLijGlJexDc+4f@V>Y>q+C*Ww@WVq1>-Cti`q9Ja4L-j!HO!>`st*^Ce}B56iwsDd8GJ>$sWd!?73_SDXAddeRPr9$?1 zi~s(dTM%%h#RB%@gJ|iL17u)m6^~Yh4PMMHdYLNo*mN*K;khgF=sSdm()Zh)kwW;{ z)QKfCJVcQ1i0StOipEse>j^hYa`Dwk5xo8C+7VzSbGf#8ST^J2TbgRa$>}L{pan{C zoLFpXJUCL$dMZ8w|gjVc?svca>EMhnH@!Io33;Gzu^ z=gMDsRmyY!DN}=#HgtMlN<2i(5#{8}+Yliy3wTKL!xeOSi5Jk(ad&WkqwnOaz?=@d z(S;iZk0T){oKKcg=IHDzcS7nlh&yfbn-|%=3k4MEuJXL7&d3gUbllo(3h_=~=}>~_ zS{yvrgA447{+EX#g`@z>%MSpA;uuo@VJ?4djBsBu3(Y{on-gPDSu(ZiZdiC8>`_Cm zO5d9OxpBaO$SR3+434Q$G#?h=)a8p@`uwq; zp z)cY!BTr`D7a7Fsw&iAJBB%O023bu23I|ZMti`j;BkfXeo(+SooDF?4@S3C(O>&%@` zcaP`I@f7?FNS4Z-u$>nKj4@A{`VFx>eZ~7noy+Kk(mrmgQ8i|< zSKn8}0Pkka9wBI=Y2u?hmDj&GocLsRx(?Cx-+AAuFYi8ID9f@P-;v9-t=bVMCIW*Z zObJzUXLXHD2GN{0w_>!G&qkv$BOBa}Yiim>Z{|Z*e=t0pQ&_v;kr@1Avah!0yZ2S+IMUGw%0; z3^d2F$||6fs4!)B3A>ea8}nLT5{s@IdMZQ7`}I@0_2eJVKaCk+s$Ut2Hce48y}RqS zm9EnQ;U_#qPQ99|oO<08d>AT&-DxSDv@4~})>u#$GN5KY@qy`Le&2kRJm=`h@1s5I z=C?P;HWeY~j@w57jdT3aDdNT{G!DFW_EE}TXX}g!n*#XD%sPPMGdd8bE8B?5FzwS2 z=Wn!tgw3;2xYnf1JCaF!oe9o-(EWQ))K0P$vHWn%C%HB=&QtWrsoOj$=+@g);aMw@ z%jUx**rPXqHeC=9jV;ZsFXi93jc+OM*Y+EX)furflu@!wpmAMN_SRvbh^;ZAqee?8 z{|MUKl^SKPL?8!Gn`fr51#xar5Hr0C3ekM)HV!5buKRrVk&Q%uPktA3*JGI=drZ?s zxgvz!48;&elEMkW3u`B@gf%yRghK3ShXpgF@^&hsGF~V1V~S>e+pHjehx);hfz~rS zJ=t~|6wcsS_v^p<1h$m%eXfwaxelbOn#*HG^=vIFdaERKyN=5DUT*Ne{bKoq#G&Ro zICODRV@U6dOrheeYc&56mDF<5&{}bOSgWbvtqET-|6K{La}4(U&F%t=5(qAl=H zUCoYjcO{1vZD&97sSvbQ0~t6o6lhkd^@sO>rtUtLJp7?YtGf6mbqhnRs5CLZyXOw} zSBxK2p=^KhNBlU3bR>{Qy>pyQr?@lcp`A4|wrmr`soM4>P+}59Gc%%+x%_(hNH%tk zK+@%s^`m|{AMnBxUax`*XS%=P>@0k;V~3H^Ed!|Hps|3B^sb`0Da&IpZy~8BxH{}K5YAEjeDj+?Yj%zcAunJF zoln%-&^w2%s4lH@+39ZrWd+)XsIiz4_>LT%#yG*;Q6uN`e*_5({EaMlj2id%{|Q79 z{TCg}At!gXb}%)O@Ptce)yqXG{)`Wegz`pSE(@xO9Rh7m%A1>LoYRPg*1t@i z72i(Run00Wnbji}y;`uE*KeR8!$%ZkAQQaZ zZ$n~s5?piCw&o-SqO+^T{tqg9+ot`iLJo3VYe+VdoGiXr`ZzXPCk$ zIqK#OovOHcxCc;w#;m~?*7<2WT57?&kwHlVPkN54Y&Gnp8{MDBEsK0-!#{Wh8EowG zt>J!j%@RlXK;PMyuHySpEkhpZ(^{~vBT#;Ny?c>h`Kx+hCp`vR+&^E~6o`(>sQA`O z6WZ-|EtiC@Bpf|bwa2@(1H92)L z-*1I^C-bgx|PNZ{Z94`4mg6Ed0L z-yg_B!Ogq=rMZ)mxCpn~cz$^%$6Jlt>o2DPB*WBQ8L zPJ)U_S9$?`@WBVa-c_<^&vxjjITMwb^us-U<+M@l+@oGG zG*K47K}n)YP!%TP{wX@@rG!ZtQ4@wlr3%b#B%}a;9D$`vVy0BxtskB~b4_!&n>s>5 zROwaStQs=dVV|*htYoeN650M}B8T)};o&I{Pk-=^S5U++hvxP&-iI^p$)+Z|-ftK)ZlYK395t z`n$I2+RZi888%ad`04oy@@i7Diyar3yp^T#jGEgsCN_-Oty8lfXcoK4gLx_KL|7Ad zx*6yDj;Or;cJL~lhe?WW9063O=JdQo^~Y)rdPqn2J=wgw+ZE#4L?)|hLBAGLsY9RR zSEBR~26XQ3k**_7VO#}^T^?z#vW3Op)JC?7iDh5o;U!1Je3L}o8%%D&0hD6!&F0fx zr-?5h9;dx*o=`c$b6Qrhr+l#&$V|MAd@_#kY8pjcxQ3YxxW2sE)nBAv7F$WOyy(DYT8s?1qvi!U*Pszqi^c;05ch*Pa_^(&- z2IQWcT(a{qg%{|Ewx%nZbl^4UOG(a9KMl=f(xvbclkMn)O^kFJ9OU_7su!9{ITh5} zv&aZ3Q@Py-N=l2;R%MSb9vzUfZj32O9D*fjZ7E$LY>x8ED}$D8Ng>(Rtg;y3B$osx z`zZtqKnS2x=U04ug?;7sYN;~4$|!yIwiO2F>k`EIDx3f%GHw%rr~8sq1oF_w^Hjxe zww(X)oxc6*%zb$kO|%BzSoa;wYh7ZJqW-s34y`omX>b+Owp93p=_gfxXTVK^mYrG> zx{l-1CbR@2nSwJ}A<4AHxgrq5{Q8%)P_v8|cn(|aj3zglcv zU-$F}-Q!hXU1?5wIYT;Qyy+o;i1vi`O~P z5d_fb5IVV~7M5-MEzk-LMgKT+D&fjBoIQf&Q$S4!9m?ouP6rs&=Vg7#^b*e2n0G!) zZ`0HnxPmGWSl-{~c`0I}VP-9#wyx?xxzHOT*PD7%N1&UVM1CEUwmMM)pR>t)E?aMw zkun^8)>tWxqfgLJG1^lT`V2U1&|bzU^A-E3o4Ydn4l>BZqhV$dS+`o}l;V`FtRadbIlsh$RTQGCmbJ( zykDu-sQi`ec4pxRdO6*lLA+iDH_S5l$yjlCJ`ha;bw*L|k?cJ-U;ygs4M@4kp;us2P7n^&dN;Wv8EbP+^8$<*K zy%v494nwt$08}qWoZ>sl0mM>HEx{4j$@~O*i!46E*&W>3fdkJNd2}4Zs@}Sc?sLXA zK+p(kgJ z%6|E#UO#C;5d$PL{%W6c(XkoG_u2z&PW|3Og&29H zt`8XTg?MbO!gtf~jJz&QQL}06kfwQ`J(D&Ahk_$*3@NwGl@9#3n7f02BRU<E zk;0+}?fcoH;wy^HWehH>5X(c=rm0Ogx2A z(Z)$8dRsYvgSz2+McsKLwcPH1cAuT%15<{O#*WtWjJrs#fp-Wxt!wSHL>V2A(0snF zpM>St*4M>-_f|asS7*J5ZqPZ6=JS#j=brv;N_(EtW%d0#vnGZ%Kr=a5U#pv=*fiSB z<@1k#0$ha=>hJXPZ0>s9zn`GXHyW1|2))pG#33)zz+b#`Sq8tl4jAZ;>%dq!J6*fZ zv3`YCZC3YHNA(6^b4cpo;JB1w5MnE$Ia65cs)T9$H#YN|o1)7wrke!WQou^lbpd-9 z6{WI|p(Bc(z5(`|?JqWpK`E<0JE<8YPRfDeMBXNmor@RO5BRH?OIMgM#v`}#>0 zr}2>PwgHPKrnI8Yih~DU9SaJ$5Dg3c#0{Eze&n&?dSjYvz5hPDl2A)uHR*+}=qiiP06q~a%$TF9Ux*uGVe%z0eNP7L4_zhzg*~>cq6#28jE*F7#viYRgQ5GJmq>~LTE&vrHEKWDjtaFcGnPpelJ3$d8T+^@b=I9uf4a>7gNE`R9X<*bg`NBgjJ6% zs|@LsK=PgA_an`P@x9Z~OZM;n{ek9di6`UERBQ(gLyD`%;#}Mzqll)+nd{F&NzW7T zAEK3@GwV0t%am#ZzPlR_6SM=$j7jmlRbJn_i;rp*oB4e%k+-{!{b%%lQ8_}<+t*1T zJZh>vx>)EbG@zG=B<06$hfhU6!XTb5(FF7l3I$t3<%SeK#+A~2T7EJ#npt{D_W6~2 z{lD2>=Ke$f%VhsPSpa7yj{4*9FRTB5ZVPTh9aeGKzFazJp7aHbcvpA($hBRW4KcG` z{rFFD2*Rgr2nzXtYtQj4hKJL3LG6f*Nco7g_L-zSy+}JHkFqAc_tD#`Q`b<|hrz&# zC!d26w_c!;zG*kQ+03>_>$J45QM(b~HnQ1d2dUrD+BEaSH{dd=JqI4wszhz_Q*E05 zyjIEzr2wUDDq%HbNe-!;dQj|ZpF}X-ygqSL)m4fL$FN#8(dAktv8>~x zs=}`JcQagKoS!C+4UGl(N+d_@_iakOCCsbOE_SQ;ikxggi~Vt>qREhmDsre*k%c}4 z-}KF2RI=S{pV3}aF1KdDb$I2eU9#MTsk4MzSr!n>PoP`+E8t9F0qXle7NYMk8vH$) ztq*5ZA%g6(#28i60}Ko-=EhMjSf$z}1t}P*pwLG2H)HuH#RONWOLdCAm~}$^TimZz zP&==2#AYIX<-iC0ju6~i|C?ukcMo1FW++fl!vqN`E*vDvkCQ|5;@^wka>>u|f{CV| z;c_p<6^HvZMe;s5F>mP#vt0D~h(B_Dc=|dhk*S{)tB7YcE&N3@-`C(2m8_g>?#5Vuwf6VC z^sPbxwT(5^wIS|z<*YavhGqK4hoA7|?EvcIz@&nj-rl~jPO*bi^~b&*tyzi%%De^Y zqv*FHq2N;VH|UyDkKXv%AEq*USgBxH%H}3AFAV3Oj9?Q8v>B5Ln~MSl4F(BHZdeW9 zkLUI?BbX8&nRUVIpNuY#wdY)?`S5Eo8V}Y=lt+tLJpF9WFYpO z?CYas_{b}fTWwBXsSJ0h{_Q1^SwBL4Bgy_5z!z_j$3q!yaL;R}N7|x~ZGf1|*%S7u zFj#l{H+#y7z*tz6(A!5#q3EpHaPHq=Xv)!om*dgf<>&do>@#Px6>+TjM^s*a75kN0 zM8E4^`N-a!tE%rJg?dt(A*zf2U^IPQDXn<}b99mEh+*wdwCm_&QL(|mbyA?$Fy}ns*XSb+GIZ54G6<1QMlJB}4_R76{$fLSf zcf+w2GcgI8fEGh5*TIX135k5dB_kk5YjhZWjw>0f5^kp0pQCSZX5(Q%D$nEk`OZun zb4v8BIgU>5&}V5FR^!A+Pxn^9s{jxQ?~i2k1^(bk^l3@_Kh(PHqM;c{HPnabywome z2UH)ceKErfq>fk#E8jsex?B3(na&(j*$yu-e==re%H|F5 z=TPgtMOT<4xkK?bEblFY=BnRzey4K550fT+Ir1FIQzMY@!{Q!e{OOrK-1GUznLyVC zm9R0sP@0J_FFHY;?wQxIZR1Mtd^lSZ)?QUhj1}+`Jb3^xItP&H52(xVZF3~LJG(ke zMUg3NE#rMVtPtRD!EjYTS+{uM9q&&pz-pD#{9lV9g|mf@=^vtNHSs%Gej!ra+u_S0 zw~wDnElIZZ&9tWs(=z1*J;^kH4rIM22j6U|No|6Ix_)!14}|ez5*{Pjla~lKUq<`R zAp}v|5it*@4%#g15(AL}W-8{wh{ih2@Y1!O>QRvC|v> zL@{~bjPd!~I-0N4Spm}hEm0~ov{6H(NA<*3f>e69gm~Mxcc(Y}eWk>W5X(W7gV^w^TDj2R2dmV4{V3iDC zX5&OSK|!muHDiZT@8SZEhuDQ`3QxYr=3MI3!LelcuHGA| zu~Kd@fjAQlcUT57JXAgkAFc9X%OL&LlIN}*gQ>xUHNq2|1@E~|t}Feiyok6ZSP#Bo zny*y@?1?9NX)&6}ZDO!Rw#4ti^2`umo{;KxI!{M@+Jqw!d^1R1u$xZ)7~(Noi8ETH z=ne7PycksQn5_PY;+jFkz}q~7ntGAG)HJj#ZL4?hd@Mp5m()7ML#|;Q@r~Zxzz^{C zue^f7e<$4S1rugp70(bh(Z_#~%KsNCo1z)_=hoQS%lDTYRPCa#n*j-`9V=iiK0wO` zIHJ2=?TSPq?Ax>HE!xQLLm+<-`-TiI$o`6Hgfv`~lu`+jISXvP@)wq1=P&pve91 zXWNKqhS0{Vsl(i!+&mE?t`zd;NpRe831O;>Zs7y>4LPg92Ip0bT&empb;@?hkld{$ zzVFu`;Dy)oQ@aIzzi!rxit(kgu-3sJ++otF96RiFNuVKx_>kRR2xp@}``I-^UGYg! zow{PaC-yx_cQHQM(GdP&5p-|9^#DvW>OX}D)nj`sFA5McVQwGB1P5h^wo<3;houZU z;#Ws5?ScL7VzHL}`U=O0@KbIwr?_HkbEc^Vy<7c=Oxw&f$IFL0#t>pChI>BzqIOLIotKPXe1p42K2E%~?il|VyaS$ry2E5eS|RS2g&EsOGgsR7n}eHdwA*v! z{T%^q$n`aT%QOZ zor)<0Y$+omR-9(@c?R{9;9k>E8hw|^y4HMq_g{tv=GwpOi1D^VKl#Z?Akwro6jRFS zc@8{#Mf(->o>o`dL%%%J&E`if^@E);EXo_uHMp`%YodVGWcKI)ua>IwHe7+D;hO;T zDhXJpJN1wxjx-@Mkg&R9;y-0{1UQcwap8vGQ2pu z+N{WTj1R*)j9!J>5_r)LG(6SEDXhIxK{{ixaG3zkt3>hJS{0 z{ZWNVExOadhNPC3f^YH777>5X&G65hHzZ`eVXE`iWseP10=_OO)@WKV%QyurXunM% z93etk@G=6t+RXR1My@AQ`KLdN2-QU6wLV*({nG(Tp6Q zl~cEbhVm*{B)#7(2iX4MO%f6@F%7Y(u```>?r&%_#}KxT$5guOVr`6N#vDB$>?JN= zGLf;={lmg|qW^CysN7_-88U_+iiHJXQWluD;R+^>~S>jvF#;^F&yIfKj2ixBpb?KKzQ`^M8 zdpuHS)6fyMetlJiL)(yATxaHQNBkwO$08A>fboCYYM}KYGkEt<+%WTqXEIf@vjk@Z zkR$K2vL*V+J&@0nfy<+du(H*?B&v#0RHEIi90cTYGW`=<%(5zz>EFRYH3|U^33#&6 zY+qBHkU5sedPwemX*X)%iO6YUK2rK-KC)MFEKAng313FS=L-$hL!I zp2TWqO@=>4)u`k1_LD#U>`g-YW9Y5`R}2{o>QOfuhI?nQn?w!#h(ITaf;3tv#{E*P zhxs;zdZ~WV*8$6QRknBoIVx_Bpn7#{+|+ZeJ%WnWa%=1lt3&@m3lHz0aRSM#<-6F;OF_6U_?WOIG_SfL#{Cht*UnXB1K z@vmseh?wMRvM%BM`%(^7g(fShE9N@VCt5`lU!N5%WS41-#?t9*Tv5MH8H3Hiobf;iSswAIecP3c2yNJh`^_BXw02C@IfT1M@Of|jw;Dyygu)iVf^@E zgowxzlWRFK$*U9@>vT7z^7=y_(K_;F9#t@#E$ThNyjk$=e$@MuiHUs;vk}z6#M_Mo zE|EBVE+3;>cx9v<9yaIRg<4R2V=r_~TedMn@Nf!=LL9*HWPi3$8Oh0>HsE+;Q zziWkW!rf$H&HFH&_SA%Dct< z@L;m?fHwexxC5#uTlp4}c`ah)N2o?=>6=zyNmZLR`T9t~*S~yQdb5sLeDKvle`sTk zZeh!ZBUQH3@;(PS9}$CO^6TL8AblJ+n93n^W$*fKO!>9&RcpE2MzvI@Fi&-{!KrVN zo)mpsFbJ@J0iBErGOw@f5-nQL|DocfzfFV1@U9ka8zVnJfic;y1I-d$Nb^|_E`6cB zR8^vw*TNMJC7bq@G;qGw^ANf^fU#Xw=s9i|(fV8m6(1nQ0Q4;`9laje`hC9CVwH{{ zyFZ+(9laKMdy81q34+VpKC8hUp~BkQ5@YDnHB)FU1f#5I)9>CL9`F?UUzi?=B*QEJ zmIV`Ju&{*i?Zxx8U6IzGCcH!FfcP*G8&0;+v^MoNa@IZJcZRElC_&7c$@mvINopF~D3S8B8@rT~an4r~ytpB1klSzSCX%+_7T1TGzTFId#T}}%{<4rn(yT@P zQPRuz*OuN5HHnLB{&&GFP+5$^6J7v+Z$7%%=^#$Q(BX$f5X35yk$Fc%I8Y%Y94?Tx zSaJPpJSF)_Pch1Mo}yf*sS`oa_&GiJGBH>Jx;y+nHsgnk+7jwUTqh7Ms6|@FXo0{l za0lFP!w0ZYmDv{r+oGpJ0RG;%+;|6dA{R0$-TGDG@F)x?)t`@ao|FMDwQvn?gcE!| z{@O(~SN`SQii`c-+-KESyb^;wYxm-dRVDv8VTPBlDh|08!4@yjPVujoh~eaTD7xX9 ze#qImfYhxAuhqQJn$$r_m()&Ma^2yxW)19~i!rPqxif); z$#%UeVMH2pR-#q--5W6h+p9`Z{`mOCe`u=U2b>=TRF%B&2Ub$G7ghE7^QnU6li^(J zfzXbJOBLqb=cBG*u1qN<=^IkfYQQDh6U)y1e4)Dx_!-Vx4Q~LTm5S90Ku<6tyM1TT zo)?)y?LzyGKF8_*fb^VyAwBrDdb6Db`d94E*ufojD-t}+nhAsK;+JU6&KPblv;{>n zN)-YdzX?X&X)F_55H~F|Q6Bxt%Tj=9xpDtD zOz(d_gD7EboTC{p7aPJ-6fUPbko>-ejy*HlAE)HE1Ln#8h2W2B-ER1SI5IkzQOY*- zW1RAUz^`r-j|zdj#2f-*3ylja&3Dne$XjI1Q#VxBeBxj%UQ=r}#VooUIEOe+BtC03 zfpXzrjGwJj!q>cf*-;4%i1JEQ22~N6L7X-|#|Q{+4)XVJzPns(1Yhp3Zlg={-o1yn z4FdMk;Y7qUoNNG(;8ifuLo?j=@9X)5!cN#6g39@imt>pZpNNW{v0Zf)^$bCJ2^s-R za}?5+DRA<<3|*k2rui*rzPN%Ml-iy#td*Vg_z3^ROqdM4D3w>qZb^}(TYPyTR`Q)! z2}Eht;7me0~Ds6>i1`L0Z>730M>e_HoI;W-X=?4i18nG^EE;DG1a>& z*g%Rk{y-=(+%?}hoJ)jsP4m>aM&~Itl7=RV3DajorfSwHLtC#h*uT+!(}AWCNr(no z=yb~nm~Ju`Hm6lwqAK%@?BBhC=VfIh!E(^W-N?%5vTI1+j1Np6LYmR-Xwm)mB!Kd) z)2sfJE%Q?x`{dJ?WDT9+$^N}Ka{xrfDET7F^@O-?1A>kS+OU2fdWhaSJLn8{! zY>Yk^M0+wlVKaCA&meXvW2B=z@mCstNb|aQ=*h|b*iGdDGMTXE5%gN{goa+sq{x|f z8ojKrP3@4;u%s%9uAz-ys8%I%6B{~kgoEf7fWn!@bQjVh%50P1Zp%@5S`9N^{XkY&dDh8&}sj=dt#&0*UZLLgsQLxlU(3o1i@ayM{W7!e#ha9TaHOd(^Ka04DO>IYwj zW*I5?afTEo-$lfJ*uL1U8*-@?YaoBwx04jnDh&)#nMAfm`?Q?~Z3uS@(&LGk%M!&@ zzD7KGUm>Txd9fyUX5rl}3?6|o^_g-*cNQwFz9jd(+@@OMZLvTvTIldskyyIYoEs_q zMHcz_vuU(Q0SV2a@X^v)E@drFuBmznijUn?`1t>MAV(Ha6-dPd46AIi8X~IuLHz7XkjgmFDwXF&pYJT~5 z#sXBCg*ZJ-UHx-fc(VAYK04G6zNVWfQM|kE>LcT=3-F6!!iWSEZLfnK^}u!!#c;f; z*Mtisp_I`GWuJsoRwRm-pc>X_qqOPb{`_lz*p&luWFm05bhQrr5|XF!QzZ94f2W)N z2;on)>R5Hs+WEX~nHxb$C1AqnM_P%friI{AeG~mU1QA}U8iT8-O~V~o^jdW-+0@ls zjzV@mjL=1pg8qJ(Y91+du(bTu;O6G!_XG~eR2@qKOR;%xCN*wtZjYF2PRLhps*h&m zp`|PZ2S3Sp&}wOYRv=m$n@!jOrf@7=g9v#W6nK676Kz3aX>oBey8el_mG zInUk15JIKnOOW0E0*O$hIF*@dEfyQImQjbPxpS41*jLEK{K&@iZO;7u$7;cY96q^GEy@S_u=X6qJ zSB{}8nDuw<4u=(4o)&@WVZ3<<$Om+Oc!yEMMk$GgIr!y-!fFD%0T|%b zy^qB37~37ie5U7A2l}ZB3TawxqOIgm=nggk|4TXF7Y<=aHriF6?bW*fwqBnmWVV8W9-N z81w~OB?!v?wJpfk_`{>2nbP9yF(kR{hd4BTP$mDu`EnEEc^kq71mo!)9Z&;Idln=GYk%mAm&!++gfK2*5XPC>!)AEV97_?{sg8wI(tb4)V380Q z!fInrP+Ty*(>w(JL3>reoAQ8ut=Lc{vkiFhKDu-LmI!!Ql_W0ZxM$Ib823V#RT}#j zY1P1xhs)>fH(;-a6Ut#j^qi+uF0f&TS!bBbSufRlvt?&k#_}>!-2)%d+%}KIuO;9& zDY4d*ubf+Ux%@TIF7k*{<@Sc)4JYq5dYTE)HRbb3zF=#Y=Uz!MDuq!0OCfW}5&esh zTel0cPO0E^v*nQMlT%=2RjOR1I4H{PDjafxL}zHMeX&W>pc^hKG`{`83cZB<<=aX< zYxtC(=?e-WW{*+?ixpZ#;gNaoe$zO3aZ9$c7A;i!+al}dN#;Ho0{G;rfnzo1qxNIr zh@-Q|r&>?w?9%*`IXi=)S; zf2;_cQKC^qwLg9h!@5j4dx#HN`vY|4?X@BFo#Ji%%O{)q1+l>RoaVLI3Y^NxBfjz) zh>=fw+bgapXp$M9s+j^LGw}`|{608qS;kM*7{{%uZ6>Z>RLM?J4EfReBqFkq&}KJ{ zu;8#xHs_q|Pl`NLiHWauLGkNvjs89l|I5Ee z$&R9|_?MK=hWFQf|1$NJP%5T>i`OlxPiCf&Gb`TOWwOi(bd;mSj4)D|Hqi%n1*r8_z*E%URf$B_dO9=U}QieVNMFV_Lx+xRt( z6W(0HT3e)C;l>Q{uOy_MSib{)}Gv)#faUtrZ5X zxS=fmiXc-jP@IAx>(K?coAP`Ya#I1?QlvDsfk&}+L2M&|8oQH_fz3F`&l768>^CW> zW+|Ai7WvEZGvh6Jk8{ScaON z6Qb&M%+VsU8E^}M+^PANwI1qVetF%YCq}{SC)LOA-3!F*E zjEtN`I#vC1h>?k@uR;SFfOd8L)I%ycJyeZMvdKDeJ&Wt7gt7TBrj(Bpl1B)u_hT2)<>vPZ3aIT!~jFVkmFncAQaYYr@utcJ3f_1 zG{jok73=*T912Zo#6_H+^Eq>UxA_rB8)Us#g^<&FOhg3A0t$-PpU$YHm+TjywTnJpmOgN~rC2M$ zlrDr*H}^QU&X;y9ugUeg)Ry!CL)m)*fvYp}^Of|TyEhWA*q?U+#<=b zG>UW2uXs_?q`v%S^M=ugAwEJccz4bLx3hIsFM2Kf%3q3nC;}bjQ@0nW@GG>tba;{I z8!YS!=a{d3SIyWQ0F-L~BDv&vX@mz5wlO<#%5iz!nbzaF`}73cb}|C3Rp)sCqXMU? z!4xrfZGv4h)`^#*>@!C?21|HHwd+NhGX@$}?*oeT)YBa?c|=GodoB0@!o+cU?!9F) z%5Z?|D_BG;Yo!3}s?D)GgO;+3jEYf>_9QPLZ!zhq$JO3L<%(1C5!Jmyfrk1Tw%*sx zK&g(bp~K;#IVVpz?SV`19ZYX?=h9S2X#Dnnt$E4m;Fo{q+QoS+-~7)je$(XoWjpp> zO86mH_cv~D{^mDpuYd4=mCnK-^{>dp=Gu!k|GQ4sp^L8rk9zxVe)D>E>U?+LMVLu- z|B5Thc4SYA{Z@Xjop*lP{^rt(8y_aOcW?eVuWkOt0tS;m0zmEa!XI%kOkjDu@FB;W z=yqm?NeMP4GK^Au3@44`r1}_m*&9+M`FY(N+L#?S^|ZGsI{**Ki9F_fSa88Zh6y?# zZ5Ij{Jf?lTP{5L5!Ju-wBEy2oM22BfD)o$M{D0-cDp7_8;3a+!H@cbpSs~FUyfR|t zW}ROXH@#@PApE*9v%TKQ?$luygnwY9BR{ad;1;kJoV+6)Z5^8G;R%O94;ZvPfI>q`I5*V6k6 zZeKiF%$t8TQI?MZco8vgzv;4vtJV}x3fq?R)=euXF*gSHs*%@Hu%s z>W3wl-e+u{9ea3t)IVM357YNrn-xj4E!5Chq5Hi`)uPb%)#Ic?Ts?&eJUgNf%kN2a z>2p53f6>EG;Q4CrzE;@D*8@Z3pC#{lEt5SWg`DgcK1hMtk5nHrNX0FF82V3+HA7oW z%5Tv_hTNl0hdoVX7OaiPu;^@K-XhA)tA4SdVO!F|hbmHh7s7N*=C~YYyw%m(HaWw> zA$sG50wG>@Y?@D=RawW}z_t!(4v={c$UFyP{#LO$!Wgw9Y3V~1^T`5*Km{HqbDrc0 zDe-+M4o{KtE3@wmKFV14!s>Bv+vFSr&IZk6@;SWgZzc#a1oznAkc!)UP=#TcMEwTS zJ!#FJ3_gbc60$4KvQ1`~k@V-_wGXp+)ff$q{%BtN&{W!oDFJwiU-aQ@vl%Q0L>}{R zYrBraz#sYR`MMYw5(L_QmfQ0Fp60?F-q2OEq4vl511bz!pALR|XwN*EVZ{md+wK2( me3%v}$>+%bGX^>iS&`kZw;bsahq-eYfWXt$&t;ucLK6T20C(pA diff --git a/docs/static/img/tagging_trace.png b/docs/static/img/tagging_trace.png index 3cc1231d865d0a2b7e4cf7ba3fd5a75cc34c642e..f7fa158d615f4ebe3bb80f9e5cc2de50e1c9f36f 100644 GIT binary patch literal 416206 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 z

R{qEpfkw>qpFmo1D% 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 literal 132811 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

28HFEOoXrM7hL5sHbBl@8X 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

yy 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

rNHFBisS(;!c4L$h3a#8g<-k5p5=m-XvHNhg7W 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 E11eZxFaQ7m diff --git a/docs/vercel.json b/docs/vercel.json index b77af82516a..b52dabe02e2 100644 --- a/docs/vercel.json +++ b/docs/vercel.json @@ -152,10 +152,6 @@ "source": "/docs/modules/data_connection/document_transformers/text_splitters/:path*", "destination": "/docs/modules/data_connection/document_transformers/:path*" }, - { - "source": "/docs/modules/model_io/prompts/example_selectors/:path*", - "destination": "/docs/modules/model_io/prompts/example_selector_types/:path*" - }, { "source": "/docs/modules/model_io/prompts/prompt_templates(/?)", "destination": "/docs/modules/model_io/prompts/" @@ -974,8 +970,144 @@ "destination": "/docs/integrations/platforms/google#google-document-ai" }, { - "source": "/docs/integrations/tools/metaphor_search", + "source": "/docs/integrations/tools/metaphor_search(/?)", "destination": "/docs/integrations/tools/exa_search" + }, + { + "source": "/docs/expression_language/how_to/fallbacks(/?)", + "destination": "/docs/guides/productionization/fallbacks" + }, + { + "source": "/docs/expression_language/cookbook/retrieval(/?)", + "destination": "/docs/use_cases/question_answering" + }, + { + "source": "/docs/expression_language/cookbook/agent(/?)", + "destination": "/docs/modules/agents/agent_types/xml_agent" + }, + { + "source": "/docs/modules/model_io/prompts/message_prompts(/?)", + "destination": "/docs/modules/model_io/prompts/quick_start#message-prompts" + }, + { + "source": "/docs/modules/model_io/prompts/pipeline(/?)", + "destination": "/docs/modules/model_io/prompts/composition#using-pipelineprompt" + }, + { + "source": "/docs/expression_language/cookbook/memory(/?)", + "destination": "/docs/modules/memory" + }, + { + "source": "/docs/expression_language/cookbook/tools(/?)", + "destination": "/docs/use_cases/tool_use/quickstart" + }, + { + "source": "/docs/expression_language/cookbook/sql_db(/?)", + "destination": "/docs/use_cases/sql/quickstart" + }, + { + "source": "/docs/expression_language/cookbook/moderation(/?)", + "destination": "/docs/guides/productionization/safety/moderation" + }, + { + "source": "/docs/expression_language/cookbook/embedding_router(/?)", + "destination": "/docs/expression_language/how_to/routing" + }, + { + "source": "/docs/modules/model_io/prompts/example_selector_types/:path*", + "destination": "/docs/modules/model_io/prompts/example_selectors/:path*" + }, + { + "source": "/docs/modules/agents/tools/:path*", + "destination": "/docs/modules/tools/:path*" + }, + { + "source": "/docs/guides/structured_output(/?)", + "destination": "/docs/modules/model_io/chat/structured_output" + }, + { + "source": "/docs/modules/agents/how_to/structured_tools(/?)", + "destination": "/docs/modules/tools" + }, + { + "source": "/docs/use_cases/csv(/?)", + "destination": "/docs/use_cases/sql/csv" + }, + { + "source": "/docs/guides/debugging(/?)", + "destination": "/docs/guides/development/debugging" + }, + { + "source": "/docs/guides/deployments/:path*", + "destination": "/docs/guides/productionization/deployments/:path*" + }, + { + "source": "/docs/guides/evaluation/:path*", + "destination": "/docs/guides/productionization/evaluation/:path*" + }, + { + "source": "/docs/guides/extending_langchain(/?)", + "destination": "/docs/guides/development/extending_langchain" + }, + { + "source": "/docs/guides/fallbacks(/?)", + "destination": "/docs/guides/productionization/fallbacks" + }, + { + "source": "/docs/guides/privacy/:path*", + "destination": "/docs/guides/productionization/safety/:path*" + }, + { + "source": "/docs/guides/safety/:path*", + "destination": "/docs/guides/productionization/safety/:path*" + }, + { + "source": "/docs/guides/model_laboratory(/?)", + "destination": "/docs/guides/productionization/evaluation" + }, + { + "source": "/docs/guides/pydantic_compatibility(/?)", + "destination": "/docs/guides/development/pydantic_compatibility" + }, + { + "source": "/docs/guides/local_llms(/?)", + "destination": "/docs/guides/development/local_llms" + }, + { + "source": "/docs/modules/model_io/quick_start(/?)", + "destination": "/docs/modules/model_io" + }, + { + "source": "/docs/expression_language/how_to/generators(/?)", + "destination": "/docs/expression_language/primitives/functions" + }, + { + "source": "/docs/expression_language/how_to/functions(/?)", + "destination": "/docs/expression_language/primitives/functions" + }, + { + "source": "/docs/expression_language/how_to/passthrough(/?)", + "destination": "/docs/expression_language/primitives/passthrough" + }, + { + "source": "/docs/expression_language/how_to/map(/?)", + "destination": "/docs/expression_language/primitives/parallel" + }, + { + "source": "/docs/expression_language/how_to/binding(/?)", + "destination": "/docs/expression_language/primitives/binding" + }, + { + "source": "/docs/expression_language/how_to/configure(/?)", + "destination": "/docs/expression_language/primitives/configure" + }, + { + "source": "/docs/expression_language/cookbook/prompt_llm_parser(/?)", + "destination": "/docs/expression_language/get_started" + }, + { + "source": "/docs/contributing/documentation(/?)", + "destination": "/docs/contributing/documentation/technical_logistics" } ] } diff --git a/libs/langchain/README.md b/libs/langchain/README.md index bd16bdf6e6f..d6eae5e11dc 100644 --- a/libs/langchain/README.md +++ b/libs/langchain/README.md @@ -34,20 +34,20 @@ Large language models (LLMs) are emerging as a transformative technology, enabli This library aims to assist in the development of those types of applications. Common examples of these applications include: -**❓ Question Answering over specific documents** +**❓ Question answering with RAG** - [Documentation](https://python.langchain.com/docs/use_cases/question_answering/) -- End-to-end Example: [Question Answering over Notion Database](https://github.com/hwchase17/notion-qa) +- End-to-end Example: [Chat LangChain](https://chat.langchain.com) and [repo](https://github.com/langchain-ai/chat-langchain) -**πŸ’¬ Chatbots** +**🧱 Extracting structured output** -- [Documentation](https://python.langchain.com/docs/use_cases/chatbots/) -- End-to-end Example: [Chat-LangChain](https://github.com/langchain-ai/chat-langchain) +- [Documentation](https://python.langchain.com/docs/use_cases/extraction/) +- End-to-end Example: [SQL Llama2 Template](https://github.com/langchain-ai/langchain-extract/) -**πŸ€– Agents** +**πŸ€– Chatbots** -- [Documentation](https://python.langchain.com/docs/modules/agents/) -- End-to-end Example: [GPT+WolframAlpha](https://huggingface.co/spaces/JavaFXpert/Chat-GPT-LangChain) +- [Documentation](https://python.langchain.com/docs/use_cases/chatbots) +- End-to-end Example: [Web LangChain (web researcher chatbot)](https://weblangchain.vercel.app) and [repo](https://github.com/langchain-ai/weblangchain) ## πŸ“– Documentation @@ -60,29 +60,25 @@ Please see [here](https://python.langchain.com) for full documentation on: ## πŸš€ What can this help with? -There are six main areas that LangChain is designed to help with. +There are five main areas that LangChain is designed to help with. These are, in increasing order of complexity: -**πŸ“ƒ LLMs and Prompts:** +**πŸ“ƒ Models and Prompts:** -This includes prompt management, prompt optimization, a generic interface for all LLMs, and common utilities for working with LLMs. +This includes prompt management, prompt optimization, a generic interface for all LLMs, and common utilities for working with chat models and LLMs. **πŸ”— Chains:** Chains go beyond a single LLM call and involve sequences of calls (whether to an LLM or a different utility). LangChain provides a standard interface for chains, lots of integrations with other tools, and end-to-end chains for common applications. -**πŸ“š Data Augmented Generation:** +**πŸ“š Retrieval Augmented Generation:** -Data Augmented Generation involves specific types of chains that first interact with an external data source to fetch data for use in the generation step. Examples include summarization of long pieces of text and question/answering over specific data sources. +Retrieval Augmented Generation involves specific types of chains that first interact with an external data source to fetch data for use in the generation step. Examples include summarization of long pieces of text and question/answering over specific data sources. **πŸ€– Agents:** Agents involve an LLM making decisions about which Actions to take, taking that Action, seeing an Observation, and repeating that until done. LangChain provides a standard interface for agents, a selection of agents to choose from, and examples of end-to-end agents. -**🧠 Memory:** - -Memory refers to persisting state between calls of a chain/agent. LangChain provides a standard interface for memory, a collection of memory implementations, and examples of chains/agents that use memory. - **🧐 Evaluation:** [BETA] Generative models are notoriously hard to evaluate with traditional metrics. One new way of evaluating them is using language models themselves to do the evaluation. LangChain provides some prompts/chains for assisting in this.

w>rh1WSXvg?;Jx-nBiiwZP9EJwww46Oo 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≧7IvO>JE662T;fPQT;U3a}TzV>5= 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≈>SfuFIn{0;`hVd@7?Bm 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