langchain/libs/cli/langchain_cli/integration_template
Lincoln Stein c314222796
Add a conversation memory that combines a (optionally persistent) vectorstore history with a token buffer (#22155)
**langchain: ConversationVectorStoreTokenBufferMemory**

-**Description:** This PR adds ConversationVectorStoreTokenBufferMemory.
It is similar in concept to ConversationSummaryBufferMemory. It
maintains an in-memory buffer of messages up to a preset token limit.
After the limit is hit timestamped messages are written into a
vectorstore retriever rather than into a summary. The user's prompt is
then used to retrieve relevant fragments of the previous conversation.
By persisting the vectorstore, one can maintain memory from session to
session.
-**Issue:** n/a
-**Dependencies:** none
-**Twitter handle:** Please no!!!
- [X] **Add tests and docs**: I looked to see how the unit tests were
written for the other ConversationMemory modules, but couldn't find
anything other than a test for successful import. I need to know whether
you are using pytest.mock or another fixture to simulate the LLM and
vectorstore. In addition, I would like guidance on where to place the
documentation. Should it be a notebook file in docs/docs?

- [X] **Lint and test**: I am seeing some linting errors from a couple
of modules unrelated to this PR.

If no one reviews your PR within a few days, please @-mention one of
baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17.

---------

Co-authored-by: Lincoln Stein <lstein@gmail.com>
Co-authored-by: isaac hershenson <ihershenson@hmc.edu>
2024-06-25 20:17:10 -07:00
..
docs [docs]: split up tool docs (#22919) 2024-06-25 13:15:08 -07:00
integration_template Add a conversation memory that combines a (optionally persistent) vectorstore history with a token buffer (#22155) 2024-06-25 20:17:10 -07:00
scripts
tests
.gitignore
LICENSE
Makefile couchbase: Add the initial version of Couchbase partner package (#22087) 2024-06-07 14:04:08 -07:00
pyproject.toml cli: model name substitution fix, release 0.0.23 (#22089) 2024-05-23 13:09:38 -07:00
README.md

package_name

This package contains the LangChain integration with ModuleName

Installation

pip install -U __package_name__

And you should configure credentials by setting the following environment variables:

  • TODO: fill this out

Chat Models

Chat__ModuleName__ class exposes chat models from ModuleName.

from __module_name__ import Chat__ModuleName__

llm = Chat__ModuleName__()
llm.invoke("Sing a ballad of LangChain.")

Embeddings

__ModuleName__Embeddings class exposes embeddings from ModuleName.

from __module_name__ import __ModuleName__Embeddings

embeddings = __ModuleName__Embeddings()
embeddings.embed_query("What is the meaning of life?")

LLMs

__ModuleName__LLM class exposes LLMs from ModuleName.

from __module_name__ import __ModuleName__LLM

llm = __ModuleName__LLM()
llm.invoke("The meaning of life is")