Current collected state Current
Observed since 20 Oct, 19:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Private Document AI Platform with AdaptHex compression
Private Document AI Platform — Upload, index, and search your documents with AI. 100% self-hosted, no external APIs.
pip install adaptensor
from adaptensor import Adaptensor
# Initialize client
client = Adaptensor(api_key="your-api-key")
# Upload documents
client.documents.upload("contract.pdf")
client.documents.upload("report.docx")
# Build search index
result = client.documents.index()
print(f"Indexed {result.total_chunks} chunks")
# Search
results = client.query("liability clauses", top_k=5)
for chunk in results:
print(f"[{chunk.score:.2f}] {chunk.text[:100]}...")
Set your API key via environment variable or pass directly:
# Environment variable
export ADAPTENSOR_API_KEY="your-api-key"
# Or pass directly
client = Adaptensor(api_key="your-api-key")
doc = client.documents.upload("report.pdf")
print(f"Uploaded: {doc.doc_id} ({doc.size_bytes:,} bytes)")
docs = client.documents.upload_many([
"doc1.pdf",
"doc2.pdf",
"doc3.pdf"
], on_progress=lambda c, t, d: print(f"{c}/{t}: {d.filename}"))
.pdf).docx).txt).html).md).csv)After uploading documents, build the search index:
result = client.documents.index()
print(f"Status: {result.status}")
print(f"Documents: {result.documents_processed}")
print(f"Chunks: {result.total_chunks}")
print(f"Time: {result.elapsed_seconds:.1f}s")
results = client.query("contract termination", top_k=5)
for chunk in results:
print(f"Score: {chunk.score:.3f}")
print(f"Text: {chunk.text}")
print(f"Source: {chunk.metadata.get('filename')}")
print("---")
results = client.query("machine learning")
print(f"Query: {results.query}")
print(f"Results: {results.count}")
print(f"Time: {results.elapsed_ms:.1f}ms")
# Iterate through results
for chunk in results:
print(chunk.text)
Generate embeddings with optional AdaptHex compression:
# With compression (default)
result = client.embed("machine learning algorithms")
print(f"Dimensions: {result.dimensions}")
print(f"Hex: {result.hex_embedding[:50]}...")
# Without compression
result = client.embed("machine learning", quantize=False)
print(f"Vector: {result.embedding[:5]}...")
| Mode | Compression | Accuracy |
|---|---|---|
hex8 | 4x | 99.6% |
hex4 | 8x | 95.8% |
binary | 32x | ~85% |
# Use different compression modes
result = client.embed("text", mode="hex4") # 8x compression
response = client.chat("What are the key terms in the contract?")
print(response)
from adaptensor import (
Adaptensor,
AdaptensorError,
AuthenticationError,
DocumentNotFoundError,
APIError
)
try:
client = Adaptensor(api_key="invalid-key")
client.query("test")
except AuthenticationError:
print("Invalid API key")
except APIError as e:
print(f"API error: {e} (status: {e.status_code})")
except AdaptensorError as e:
print(f"General error: {e}")
client = Adaptensor(
api_key="your-api-key",
base_url="https://your-instance.adaptensor.com", # Custom endpoint
timeout=600 # Request timeout in seconds
)
if client.health():
print("API is healthy")
else:
print("API is down")
stats = client.stats()
print(f"Documents: {stats['documents']}")
print(f"Chunks: {stats['chunks']}")
print(f"Queries: {stats['queries']}")
from adaptensor import Adaptensor
# Initialize
client = Adaptensor()
# Upload a batch of legal documents
docs = client.documents.upload_many([
"contracts/agreement_2024.pdf",
"contracts/amendment_1.pdf",
"contracts/amendment_2.pdf",
])
print(f"Uploaded {len(docs)} documents")
# Index everything
result = client.documents.index()
print(f"Indexed {result.total_chunks} chunks in {result.elapsed_seconds:.1f}s")
# Search for specific clauses
results = client.query("indemnification obligations", top_k=10)
print(f"\nFound {results.count} results in {results.elapsed_ms:.1f}ms:\n")
for i, chunk in enumerate(results, 1):
print(f"{i}. [{chunk.score:.2f}] {chunk.metadata.get('filename')}")
print(f" {chunk.text[:150]}...")
print()
MIT License - see LICENSE for details.
Adaptensor — Your Data. Your Infrastructure. Your AI.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 2 Dec 2025 | 6 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 19:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:3e10751d68bb3369c1dd1525fbb9fc29dd31e72bf7fac78ecbc4dad40ba409c5