Skip to main content

Easily distribute language models across multiple systems

Project description

Language Pipes (Beta)

A privacy focused distributed algorithm for llm inference

GitHub license Release

Language Pipes is an open-source distributed network application designed to increase access to local language models by allowing for privacy protected computation between peer to peer nodes.

Disclaimer: This software is currently in Beta. Please be patient and if you encounter an error, please fill out a github issue!


Overview

Over the past few years open source language models have become much more powerful yet the most powerful models are still out of reach of the general population because of the extreme amounts of RAM that is needed to host these models. Language Pipes allows multiple computer systems to host the same model and move computation data between them so that no one computer has to hold all of the data for the model. Our privacy preserving architecture

Features

  • Quick Setup
  • Decentralized peer to peer network
  • OpenAI compatible API
  • Privacy-focused architecture
  • Download and use models by HuggingFace ID

What Does Language Pipes do?

In a basic sense, language models work by passing information through many layers. At each layer, several matrix multiplicatitons between the layer weights and the system state are performed and the data is moved to the next layer. Language pipes works by hosting different layers on different machines to split up the RAM cost across the system.

Installation

Ensure that you have Python 3.10.18 (or any 3.10 version) installed. For an easy to use Python version manager use pyenv. This specific version is necessary for the transformers library to work properly.

If you need gpu support, first make sure you have the correct pytorch version installed for your GPU's Cuda compatibility using this link:
https://pytorch.org/get-started/locally/

To download the models from Huggingface, ensure that you have git and git lfs installed.

To start using the application, install the latest version of the package from PyPi.

Using Pip:

pip install language-pipes

Quick Start

The easiest way to get started is with the interactive setup wizard:

language-pipes

This launches a menu where you can create, view, and load configurations:

Main Menu
[0] View Config
[1] Load Config
[2] Create Config
[3] Delete Config
Select number of choice: 

Select Create Config to walk through the setup wizard, which guides you through:

  • Node ID — A unique name for your computer on the network
  • Model selection — Choose a HuggingFace model ID (e.g., Qwen/Qwen3-1.7B)
  • Device & memory — Where to run the model and how much RAM to use
  • API server — Enable an OpenAI-compatible endpoint
  • Network settings — Ports and encryption options

After creating a config, select Load Config to start the server.


Two Node Example

This example shows how to distribute a model across two computers using the interactive wizard.

Node 1 (First Computer)

language-pipes
  1. Select Create Config

  2. Enter a name (e.g., node1)

  3. Follow the prompts:

    • Node ID: node-1
    • Model ID: Qwen/Qwen3-1.7B
    • Device: cpu
    • Max memory: 1 (loads part of the model)
    • Load embedding/output layers: Y
    • Enable OpenAI API: Y
    • API port: 8000
    • First node in network: Y
    • Encrypt network traffic: N
  4. Select Load Config → choose node1 to start the server

Node 2 (Second Computer)

Install Language Pipes, then:

language-pipes
  1. Select Create Config

  2. Enter a name (e.g., node2)

  3. Follow the prompts:

    • Node ID: node-2
    • Model ID: Qwen/Qwen3-1.7B
    • Device: cpu
    • Max memory: 3 (loads remaining layers)
    • Load embedding/output layers: N (node-1 has them)
    • Enable OpenAI API: N
    • First node in network: N
    • Bootstrap node IP: 192.168.0.10 (node-1's local IP)
    • Bootstrap port: 5000
    • Encrypt network traffic: N
  4. Select Load Config → choose node2 to start the server

Node-2 connects to node-1 and loads the remaining model layers. The model is now ready for inference!

Test the API

The model is accessible via an OpenAI-compatible API. Using the OpenAI Python library:

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8000/v1",  # node-1 IP address
    api_key="not-needed"  # API key not required for Language Pipes
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-1.7B",
    max_completion_tokens=100,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Write a haiku about distributed systems."}
    ]
)

print(response.choices[0].message.content)

Install the OpenAI library with: pip install openai

Dependencies

Documentation

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

language_pipes-0.18.1.tar.gz (87.9 kB view details)

Uploaded Source

Built Distribution

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

language_pipes-0.18.1-py3-none-any.whl (54.3 kB view details)

Uploaded Python 3

File details

Details for the file language_pipes-0.18.1.tar.gz.

File metadata

  • Download URL: language_pipes-0.18.1.tar.gz
  • Upload date:
  • Size: 87.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for language_pipes-0.18.1.tar.gz
Algorithm Hash digest
SHA256 1b9028baaf328a10c787faa0a52fa01ef6b165862dde7612001347b861ed5dfc
MD5 42e22a47ee80c2a92897283915782926
BLAKE2b-256 9fdc054ab0d2333252419d892fbc2e2ede980afc4df1402c48000ab085ddab4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for language_pipes-0.18.1.tar.gz:

Publisher: publish.yml on erinclemmer/language-pipes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file language_pipes-0.18.1-py3-none-any.whl.

File metadata

File hashes

Hashes for language_pipes-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df3fb38922af0b99d2fe8992585a0cb81c057c1085dc9583179296decfc1cc2d
MD5 0cc280d1e05c038b70218c281332db5d
BLAKE2b-256 d122e43a0e6b14a58a3e5bfa37040ae8467e6832a2af666820f6f2bc460782d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for language_pipes-0.18.1-py3-none-any.whl:

Publisher: publish.yml on erinclemmer/language-pipes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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