Generate per-session LoRA adapters for inference tasks using hypernetwork synthesis
Project description
Tessera Hypernetwork
Generate per-session LoRA adapters for inference tasks using hypernetwork synthesis.
Version: 1.3.0
Features
- Metadata-to-LoRA: Generate adapters from structured user metadata (JSON)
- Text-to-LoRA: Generate adapters from natural language descriptions
- Doc-to-LoRA with SHINE: Generate adapters from document content using SHINE (ICML 2026) for long-context internalization
- Base Model Management: Download, cache, and serve base models with vLLM integration
- FastAPI: Modern async Python web framework
- OpenAI-compatible API: Easy integration with existing tooling
Installation
pip install tessera-hypernetwork
Quick Start
Generate LoRA Adapters
From metadata (JSON string or file):
tessera generate \
--from-metadata '{"task": "classification", "domain": "medical"}' \
--base-model mistralai/Mistral-7B-Instruct-v0.2 \
--rank 16 \
--save ./adapter.safetensors
From text description:
tessera generate \
--from-text "Medical diagnosis assistant" \
--base-model mistralai/Mistral-7B-Instruct-v0.2 \
--rank 16 \
--save ./adapter.safetensors
From document:
tessera generate \
--from-doc ./document.txt \
--base-model mistralai/Mistral-7B-Instruct-v0.2 \
--rank 16 \
--save ./adapter.safetensors
Base Model Management
Download a base model from HuggingFace Hub:
tessera model pull mistralai/Mistral-7B-Instruct-v0.2
tessera model pull meta-llama/Llama-3.1-8B-Instruct
tessera model pull deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Start vLLM with a base model:
tessera model serve-model mistralai/Mistral-7B-Instruct-v0.2 --port 8000
tessera model serve-model mistralai/Mistral-7B-Instruct-v0.2 --gpu-memory-utilization 0.9
tessera model serve-model mistralai/Mistral-7B-Instruct-v0.2 --quantization awq
List cached base models:
tessera model list-models
Remove a cached model:
tessera model remove mistralai/Mistral-7B-Instruct-v0.2
Start Tessera Server
Start the hypernetwork server (with auto vLLM):
tessera serve --port 8080 --base-model mistralai/Mistral-7B-Instruct-v0.2
Start the hypernetwork server (standalone):
tessera serve --port 8080 --host 0.0.0.0
Check Server Health
tessera health --url http://localhost:8080
List Available Models
tessera list
Commands
Generate
Generate LoRA adapters from metadata, text, or documents.
Options:
--from-metadata: JSON metadata string or file path--from-text: Natural language description--from-doc: Document content or file path--base-model: Base model identifier (default: mistralai/Mistral-7B-Instruct-v0.2)--rank: LoRA rank (default: 16)--save: Output path for safetensors file (required)--mode: Generation mode: doc, metadata, or text (auto-inferred if not specified)
Model Management
Manage base models for vLLM serving.
tessera model pull <model_id>
Download a base model from HuggingFace Hub and cache locally.
tessera model serve-model <model_id>
Start vLLM with a specified base model.
Options:
--port: Port to serve on (default: 8000)--gpu-memory-utilization: GPU memory utilization fraction (e.g., 0.9)--tensor-parallel-size: Tensor parallel size (default: 1)--quantization: Quantization method (e.g., awq, gptq, bitsandbytes)--max-model-len: Maximum model length (default: 8192)
tessera model list-models List all locally cached base models.
tessera model remove <model_id>
Remove a cached base model to free disk space.
Serve
Start the Tessera hypernetwork server.
Options:
--port: Port to serve on (default: 8080)--host: Host to bind to (default: 0.0.0.0)--qdrant-url: Qdrant vector database URL (optional)--workers: Number of worker processes (default: 1)--base-model: Base model to auto-start vLLM with (e.g., mistralai/Mistral-7B-Instruct-v0.2)--vllm-port: Port for vLLM server (default: 8000)
Health
Check server health status.
Options:
--url: Server URL (default: http://localhost:8080)
List
List available base models and their dimensions, plus cached models.
LoRAX Adapter Management
Import, list, and unload adapters:
Import an adapter:
tessera lorax import-adapter \
--path ./adapter.safetensors \
--name my-adapter \
--base-model mistralai/Mistral-7B-Instruct-v0.2 \
--server-url http://localhost:8080
List loaded adapters:
tessera lorax list-adapters --server-url http://localhost:8080
Unload an adapter:
tessera lorax unload --name my-adapter --server-url http://localhost:8080
API Endpoints
The hypernetwork service provides a FastAPI server with the following endpoints:
POST /v1/generate- Generate a LoRA adapter for a given promptGET /health- Health check endpointPOST /v1/adapters- Import adapter safetensorsGET /v1/adapters- List loaded adaptersDELETE /v1/adapters/{name}- Unload adapter
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tessera_hypernetwork-1.3.5.tar.gz.
File metadata
- Download URL: tessera_hypernetwork-1.3.5.tar.gz
- Upload date:
- Size: 51.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b90b74d81a9a7a5bd0f7fe44842eb5759b1fb7fa0e2d2661365b7fdd9436cf8
|
|
| MD5 |
e5cc32b4f7a22c43eaaaf570932bd8e1
|
|
| BLAKE2b-256 |
ca81593f3cbbcc329c9b52c482e5af49b2cecd85923ca3b9b87eaa7664784f13
|
File details
Details for the file tessera_hypernetwork-1.3.5-py3-none-any.whl.
File metadata
- Download URL: tessera_hypernetwork-1.3.5-py3-none-any.whl
- Upload date:
- Size: 57.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbe1294645700399476cde7ed4b4c1dc25c63034048da60cad9a54b74de08d1c
|
|
| MD5 |
fbcb4b2e47006737fc14c455ce2f877b
|
|
| BLAKE2b-256 |
18c503b40509882a9a4c97f081effec6030e133ed211c991131fd5b5c02be094
|