Skip to content

Commit

Permalink
redo intro docs page (#3288)
Browse files Browse the repository at this point in the history
* redo intro docs page

* chore: lint files

* fix langserve link
  • Loading branch information
bracesproul committed Nov 15, 2023
1 parent 420fab2 commit f9853c1
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 31 deletions.
7 changes: 7 additions & 0 deletions docs/core_docs/docs/contributing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Developer Guide
---

import Contributing from "../../../CONTRIBUTING.md";

<Contributing />
88 changes: 57 additions & 31 deletions docs/core_docs/docs/get_started/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,73 +3,99 @@ title: Introduction
sidebar_position: 0
---

# Introduction

**LangChain** is a framework for developing applications powered by language models. It enables applications that:

- **Are context-aware**: connect a language model to other sources of context (prompt instructions, few shot examples, content to ground it's response in)
- **Reason**: rely on a language model to reason (about how to answer based on provided context, what actions to take, etc)
- **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.)

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](https://python.langchain.com/docs/templates)**: A collection of easily deployable reference architectures for a wide variety of tasks. (_Python only_)
- **[LangServe](https://python.langchain.com/docs/langserve)**: A library for deploying LangChain chains as a REST API. (_Python only_)
- **[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.

![LangChain Diagram](/img/langchain_stack.png)

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.

The main value props of LangChain are:
## LangChain Libraries

1. **Components**: abstractions for working with language models, along with a collection of implementations for each abstraction. Components are modular and easy-to-use, whether you are using the rest of the LangChain framework or not
2. **Off-the-shelf chains**: a structured assembly of components for accomplishing specific higher-level tasks
The main value props of the LangChain packages are:

Off-the-shelf chains make it easy to get started. For more complex applications and nuanced use-cases, components make it easy to customize existing chains or build new ones.
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.

## Get started

[Here’s](/docs/get_started/installation) how to install LangChain, set up your environment, and start building.
[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.

_**Note**: These docs are for the LangChain [JS/TS package](https://github.com/langchain-ai/langchainjs). For documentation on [the Python version](https://github.com/langchain-ai/langchain), [head here](https://python.langchain.com/docs)._
Read up on our [Security](/docs/security) best practices to make sure you're developing safely with LangChain.

## Modules
:::note

LangChain provides standard, extendable interfaces and external integrations for the following modules, listed from least to most complex:
These docs focus on the JS/TS LangChain library. [Head here](https://python.langchain.com) for docs on the Python LangChain library.

#### [Model I/O](/docs/modules/model_io/)
:::

Interface with language models
## LangChain Expression Language (LCEL)

#### [Retrieval](/docs/modules/data_connection/)
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.

Interface with application-specific data
- **[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/routing)**: Key features of LCEL
- **[Cookbook](/docs/expression_language/cookbook)**: Example code for accomplishing common tasks

#### [Chains](/docs/modules/chains/)
## Modules

Construct sequences of calls
LangChain provides standard, extendable interfaces and integrations for the following modules:

#### [Agents](/docs/modules/agents/)
#### [Model I/O](/docs/modules/model_io/)

Let chains choose which tools to use given high-level directives
Interface with language models

#### [Memory](/docs/modules/memory/)
#### [Retrieval](/docs/modules/data_connection/)

Persist application state between runs of a chain
Interface with application-specific data

#### [Callbacks](/docs/modules/callbacks/)
#### [Agents](/docs/modules/agents/)

Log and stream intermediate steps of any chain
Let models choose which tools to use given high-level directives

## Examples, ecosystem, and resources

### [Use cases](/docs/use_cases/)

Walkthroughs and best-practices for common end-to-end use cases, like:
Walkthroughs and techniques for common end-to-end use cases, like:

- [Chatbots](/docs/use_cases/chatbots/)
- [Answering questions using sources](/docs/use_cases/question_answering/)
- [Analyzing structured data](/docs/use_cases/tabular)
- [Document question answering](/docs/use_cases/question_answering/)
- [RAG](/docs/use_cases/rag/code_understanding)
- [Agents](/docs/use_cases/autonomous_agents/)
- and much more...

### [Guides](/docs/guides/)
### [Integrations](/docs/integrations/platforms/)

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/platforms/).

### [API reference](https://api.js.langchain.com)

Learn best practices for developing with LangChain.
Head to the reference section for full documentation of all classes and methods in the LangChain and LangChain Experimental packages.

### [Additional resources](/docs/additional_resources/tutorials)
### [Developer's guide](/docs/contributing)

Our community is full of prolific developers, creative builders, and fantastic teachers. Check out [our tutorials section](/docs/additional_resources/tutorials) for guides on how to get started with various concepts, and [Gallery](https://github.com/kyrolabs/awesome-langchain) for a list of awesome LangChain projects, compiled by the folks at [KyroLabs](https://kyrolabs.com).
Check out the developer's guide for guidelines on contributing and help getting your dev environment set up.

### [Community](/docs/community)

Head to the [Community navigator](/docs/community) to find places to ask questions, share feedback, meet other developers, and dream about the future of LLM’s.
Head to the [Community navigator](/docs/community) to find places to ask questions, share feedback, meet other developers, and dream about the future of LLM's.
4 changes: 4 additions & 0 deletions docs/core_docs/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,10 @@ const config = {
to: "/docs/additional_resources/tutorials",
label: "Tutorials",
},
{
to: "/docs/contributing",
label: "Contributing",
},
],
},
{
Expand Down
Binary file added docs/core_docs/static/img/langchain_stack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

1 comment on commit f9853c1

@vercel
Copy link

@vercel vercel bot commented on f9853c1 Nov 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

langchainjs-docs – ./docs/core_docs/

langchainjs-docs-langchain.vercel.app
langchainjs-docs-ruddy.vercel.app
langchainjs-docs-git-main-langchain.vercel.app
js.langchain.com

Please sign in to comment.