Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alter docs to improve context on past and future developments #186

Open
vmesel opened this issue May 11, 2024 · 1 comment
Open

Alter docs to improve context on past and future developments #186

vmesel opened this issue May 11, 2024 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@vmesel
Copy link
Member

vmesel commented May 11, 2024

As we spoke on #175, we are altering a little bit our path of the project. In order to do this, we need to update our docs with more details:

Now we need to publicly communicate this 'change of course', making it clear:

  • why it started as a 'humanized conversation API'
  • why we changed the direction of the project
  • and that 'humanized conversation API' will become a RAG (plugin) and no longer the only core of the project
@vmesel vmesel added the documentation Improvements or additions to documentation label May 11, 2024
@vmesel vmesel self-assigned this May 11, 2024
@vmesel
Copy link
Member Author

vmesel commented May 12, 2024

As well as adding some context on naming conventions we are using, as remembered by @lgabs:

I'd like to take the opportunity here to point something important: the taxonomy we use when speaking about LLM Applications is important for our communication. There are many confusing terms and many recent concepts, so I just want to help us to use the same names for the same things:

  • LLM (Large Language Models): this is the model per-se, not the chains, not an agent. We sometimes use llm to denote a chain that calls an llm (even langchain's example call instances of chains by llm in this case), but it's important to us to keep this in mind.
  • LangChain Expression Language, or LCEL, is a declarative way to easily compose chains together. It's the a way to build chains, so we could avoid calling chains by this name.
  • Chains are a more abstract concept from langchain (it's its base concept), of "Chains refer to sequences of calls - whether to an LLM, a tool, or a data preprocessing step". They are built preferably with LCEL joining one or more runnables.
  • Runnables: the new protocol used by most of langchain components, making it easier to compose chains like runnable1 | runnable2. It's kind of okay to call a chain by runnable since it is its subclass, but the name makes it easier to understand that chains are compositions, and runnables are components. For example, langchain's prompt templates, memory components (like RunnableWithMessageHistory) and retrievers (like PGVector) are also runnables.
  • RAG: RAG is a technique for augmenting LLM knowledge with additional data. It's just the technique, so it'd not be good to call chains or runnables by RAG. A chain uses RAG technique to enhance it's performance and knowledge of the world.
  • LLM Applications: BTW this is a better name for what dialog project produces: an application that uses LLM to power its capability. It's not only a LLM, but a whole infrastructure around it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant