Skip to main content

Add your description here

Project description



Sinapsis Langchain Splitters

Templates for easy integration of LangChain text splitters with Sinapsis.

🐍 Installation🚀 Features📚 Usage example📙 Documentation 🔍 License

The sinapsis-langchain-splitters module adds support for all the text splitters supported by LangChain

🐍 Installation

Install using your package manager of choice. We encourage the use of uv

Example with uv:

  uv pip install sinapsis-langchain-splitters --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-langchain-splitters --extra-index-url https://pypi.sinapsis.tech

[!IMPORTANT] The langchain readers 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.

🚀 Features

Templates Supported

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: my_test_agent
  description: Agent to split text using the RecursiveCharacterTextSplitter class from LangChain
templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}
- template_name: RecursiveCharacterTextSplitterWrapper
  class_name: RecursiveCharacterTextSplitterWrapper
  template_input: InputTemplate
  attributes:
    add_document_as_text_packet: false
    generic_key: WikipediaLoaderWrapper
    recursivecharactertextsplitter_init:
      separators: [" "]
      keep_separator: true
      is_separator_regex: false

A complete list of available document loader classes in LangChain can be found at: LangChain Text Splitters

📚 Usage example

The following example demonstrates how to use the RecursiveCharacterTextSplitterWrapper template to chunk the Documents from a WikipediaLoaderWrapper template.

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
- template_name: InputTemplate
  class_name: WikipediaLoaderWrapper
  attributes: {}
- template_name: RecursiveCharacterTextSplitterWrapper
  class_name: RecursiveCharacterTextSplitterWrapper
  template_input: InputTemplate
  attributes:
    add_document_as_text_packet: false
    generic_key: WikipediaLoaderWrapper
    recursivecharactertextsplitter_init:
      separators: null
      keep_separator: true
      is_separator_regex: false

To run, simply use:

sinapsis run name_of_the_config.yml

📙 Documentation

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

🔍 License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sinapsis_langchain_splitters-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sinapsis_langchain_splitters-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file sinapsis_langchain_splitters-0.1.0.tar.gz.

File metadata

File hashes

Hashes for sinapsis_langchain_splitters-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d7ccbf80a61df76a52109a0786ef8cfcdde28c7dea5b1a2f3d01b015fa4c748
MD5 3bc7fb95ba19e9777be00fb5b101890b
BLAKE2b-256 ebd4e560b8ea0e9a61e3253b2cda8eadceb83c34d837170480a48d16be3e0844

See more details on using hashes here.

File details

Details for the file sinapsis_langchain_splitters-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sinapsis_langchain_splitters-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 073488f1088c6c1a9b446e2d9909860b743e514ac20e72969f8e89e0896d2837
MD5 574962f756311450e8304b111476aa4c
BLAKE2b-256 535f3d86a94eaa5e22d44c64f908e0f7050705526d1f1e36c38d8025c916a3d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page