File ingestion, batch retain, Go SDK, and DiskANN
· 2 min read
Ingest documents without pre-extracting text, run cheaper async retain, call Atulya from Go, and index large banks with DiskANN-class vector backends.
File ingestion
Retain PDFs, images, and Office formats (DOCX, PPTX, XLSX) directly.
from atulya_sdk import AtulyaClient
client = AtulyaClient()
with open("report.pdf", "rb") as f:
client.retain_files("my-bank", files=[("file", ("report.pdf", f, "application/pdf"))])
REST:
curl -X POST http://localhost:8888/v1/default/banks/my-bank/files/retain \
-F "file=@report.pdf;type=application/pdf"
Parsers: Markitdown (default) or Iris for harder layouts:
export ATULYA_API_FILE_PARSER=iris # or markitdown
Batch API for async retain
~50% token discount on OpenAI and Groq batch APIs when async retain is enabled:
export ATULYA_API_RETAIN_BATCH_ENABLED=true
Requires async=true on retain. Atulya submits extraction jobs, polls, and processes results. Ideal for backfills and large archives where background latency is acceptable.
Go client SDK
Generated from OpenAPI 3.1:
import atulya "github.com/eight-atulya/atulya/atulya-clients/go"
cfg := atulya.NewConfiguration()
cfg.Servers = atulya.ServerConfigurations{{URL: "http://localhost:8888"}}
client := atulya.NewAPIClient(cfg)
retainReq := atulya.RetainRequest{
Items: []atulya.MemoryItem{
{Content: "The deployment succeeded at 14:32 UTC.", Tags: []string{"ops"}},
},
}
client.MemoryAPI.RetainMemories(ctx, "my-bank").RetainRequest(retainReq).Execute()
DiskANN vector indexing
pgvectorscale (DiskANN) for self-hosted scale:
docker compose -f docker/docker-compose/timescale/docker-compose.yml up
Azure pg_diskann on Azure Database for PostgreSQL Flexible Server.
export ATULYA_API_VECTOR_INDEX_BACKEND=diskann # pgvectorscale
export ATULYA_API_VECTOR_INDEX_BACKEND=azure_diskann # Azure
Drop-in for default pgvector HNSW at large recall volumes.
Also worth knowing
- Vercel AI SDK integration: cleaner types and tool definitions
- Python client: async consistency and keepalive fixes under load
- OpenClaw: safer
execFile, HTTP dual mode, per-user bank isolation, reinit cooldown