Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
|
|
|
# Key Concepts
|
|
|
|
|
|
|
|
## Text Splitter
|
|
|
|
This class is responsible for splitting long pieces of text into smaller components.
|
|
|
|
It contains different ways for splitting text (on characters, using Spacy, etc)
|
|
|
|
as well as different ways for measuring length (token based, character based, etc).
|
|
|
|
|
|
|
|
## Embeddings
|
|
|
|
These classes are very similar to the LLM classes in that they are wrappers around models,
|
|
|
|
but rather than return a string they return an embedding (list of floats). These are particularly useful when
|
|
|
|
implementing semantic search functionality. They expose separate methods for embedding queries versus embedding documents.
|
|
|
|
|
|
|
|
## Vectorstores
|
|
|
|
These are datastores that store embeddings of documents in vector form.
|
|
|
|
They expose a method for passing in a string and finding similar documents.
|
|
|
|
|
|
|
|
## Python REPL
|
|
|
|
Sometimes, for complex calculations, rather than have an LLM generate the answer directly,
|
|
|
|
it can be better to have the LLM generate code to calculate the answer, and then run that code to get the answer.
|
|
|
|
In order to easily do that, we provide a simple Python REPL to execute commands in.
|
|
|
|
This interface will only return things that are printed -
|
2023-01-13 05:36:03 +00:00
|
|
|
therefore, if you want to use it to calculate an answer, make sure to have it print out the answer.
|
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
|
|
|
|
|
|
|
## Bash
|
|
|
|
It can often be useful to have an LLM generate bash commands, and then run them.
|
|
|
|
A common use case this is for letting it interact with your local file system.
|
|
|
|
We provide an easy component to execute bash commands.
|
|
|
|
|
|
|
|
## Requests Wrapper
|
|
|
|
The web contains a lot of information that LLMs do not have access to.
|
|
|
|
In order to easily let LLMs interact with that information,
|
|
|
|
we provide a wrapper around the Python Requests module that takes in a URL and fetches data from that URL.
|
|
|
|
|
|
|
|
## Google Search
|
|
|
|
This uses the official Google Search API to look up information on the web.
|
|
|
|
|
|
|
|
## SerpAPI
|
|
|
|
This uses SerpAPI, a third party search API engine, to interact with Google Search.
|