🐍 Installation • 🚀 Packages • 📚 Usage example • 📙 Documentation • 🔍 License
The sinapsis-langchain
module adds support for the Langchain framework, in particular, Langchain community data loaders and text splitters.
We add support for the following packages:
* sinapsis-langchain-readers
* sinapsis-langchain-splitters
uv
Example with uv
:
uv pip install sinapsis-langchain-readers --extra-index-url https://pypi.sinapsis.tech
or with raw pip
:
pip install sinapsis-langchain-readers --extra-index-url https://pypi.sinapsis.tech
Note
Change the name of the package accordingly
Important
The langchain templates may require extra dependencies. For development, we recommend installing the package with all the optional dependencies:
uv pip install sinapsis-langchain-readers[all] --extra-index-url https://pypi.sinapsis.tech
Important
Some langchain templates require additional system dependencies. Please refer to the official LangChain Document Loaders documentation for additional requirements.
Note
Change the name of the package accordingly
Tip
you can also install the full mono repo
uv pip install sinapsis-langchain[all] --extra-index-url https://pypi.sinapsis.tech
The Sinapsis Langchain module provides wrapper templates for Langchain's community data loaders, making them seamlessly usable within Sinapsis.
Note
Each loader template supports one attribute:
add_document_as_text_packet
(bool
, default:False
): Whether to add the loaded document as a text packet. Other attributes can be dynamically assigned through the class initialization dictionary (class init attributes
).
Tip
Use CLI command sinapsis info --all-template-names
to show a list with all the available Template names installed with Sinapsis Langchain.
Tip
Use CLI command sinapsis info --example-template-config TEMPLATE_NAME
to produce an example Agent config for the Template specified in TEMPLATE_NAME.
For example, for WikipediaLoaderWrapper use sinapsis info --example-template-config WikipediaLoaderWrapper
to produce the following example config:
agent:
name: agent to load Wikipedia documents using WikipediaLoaderWrapper template
templates:
- template_name: InputTemplate
class_name: InputTemplate
attributes: {}
- template_name: WikipediaLoaderWrapper
class_name: WikipediaLoaderWrapper
template_input: InputTemplate
attributes:
add_document_as_text_packet: false
wikipedialoader_init:
query: the query for wikipedia
lang: en
load_max_docs: 5000
load_all_available_meta: False
doc_content_chars_max: 4000,
A complete list of available document loader classes in LangChain can be found at: LangChain Community Document Loaders
🚫 Excluded Loaders
Some base classes or loaders that required additional configuration have been excluded and support for this will be included in future releases.
- Blob
- BlobLoader
- OracleTextSplitter
- OracleDocLoader
- TrelloLoaderExecute
- TwitterTweetLoader
- TrelloLoader
- GoogleApiYoutubeLoader
- GoogleApiClient
- DiscordChatLoader
- AssemblyAIAudioTranscriptLoader
- ArcGISLoader
For all other supported loaders, refer to the LangChain API reference linked above.
The following example demonstrates how to use the WikipediaLoaderWrapper template for loading documents from Wikipedia within Sinapsis. Below is the full YAML configuration, followed by a breakdown of each component.
configuration
agent:
name: my_test_agent
description: "Wikipedia loader example"
templates:
- template_name: InputTemplate
class_name: InputTemplate
attributes: {}
- template_name: WikipediaLoaderWrapper
class_name: WikipediaLoaderWrapper
template_input: InputTemplate
attributes:
add_document_as_text_packet: false
wikipedialoader_init:
query: GenAI
lang: en
load_max_docs: 1
load_all_available_meta: false
doc_content_chars_max: 4000
To run, simply use:
sinapsis run name_of_the_config.yml
Documentation for this and other sinapsis packages is available on the sinapsis website
Tutorials for different projects within sinapsis are available at sinapsis tutorials page
This project is licensed under the AGPLv3 license, which encourages open collaboration and sharing. For more details, please refer to the LICENSE file.
For commercial use, please refer to our official Sinapsis website for information on obtaining a commercial license.