Verified-on-Spark patterns lifted from the ai-field-notes blog into one importable Python package.
Project description
fieldkit
Verified-on-Spark patterns lifted from the ai-field-notes blog into one importable Python package.
Every essay in ai-field-notes ends with evidence/ — a folder of working code that produced the article's numbers. After 25+ articles the same patterns kept reappearing: the same NIM client wrapper, the same chunk-embed-store dance, the same bench harness. fieldkit is what those evidence/ folders look like once the boilerplate is lifted into a real package.
The blog stays the long-form rationale. fieldkit is the pip install-able surface so you can reproduce — and extend — the work without re-pasting 80 lines of NIM-client setup per article.
Install
pip install fieldkit
For the bleeding edge between releases, install from the git tag instead:
pip install "git+https://github.com/manavsehgal/ai-field-notes.git@fieldkit/v0.1.0#subdirectory=fieldkit"
Quickstart
from fieldkit.nim import NIMClient
client = NIMClient(base_url="http://localhost:8000/v1", model="meta/llama-3.1-8b-instruct")
print(client.chat([{"role": "user", "content": "Hello, Spark."}]))
What's in v0.1.0
| Module | Purpose | Source articles |
|---|---|---|
fieldkit.capabilities |
Typed Python facade over spark-capabilities.json — KV cache math, weight bytes, inference envelope. |
kv-cache-arithmetic-at-inference, gpu-sizing-math-for-fine-tuning |
fieldkit.nim |
OpenAI-compatible NIM client wrapper with retry, chunking, and the 8192-token context guard. | nim-first-inference-dgx-spark and friends |
fieldkit.rag |
Pipeline(embed_url, rerank_url, pgvector_dsn, generator) — ingest → retrieve → rerank → fuse. |
naive-rag-on-spark and friends |
fieldkit.eval |
Bench, Judge, Trajectory — the recurring eval harness shapes. |
every article with a bench.py or benchmark.py |
fieldkit.cli |
fieldkit bench rag, fieldkit feasibility <id>, fieldkit envelope <size>. |
discoverability |
Modules deferred to v0.2: retriever, ft, guardrails, agents. To v0.3: train, observe.
Hardware
v0.1 is Spark-only. Every code path is verified on a DGX Spark (GB10, 128 GB unified memory, NIM 8B + embed NIM + pgvector co-resident). Portability to other CUDA 12.x boxes lands in v0.2+ when there's demand.
License
Apache-2.0. See LICENSE.
Links
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 fieldkit-0.1.0.tar.gz.
File metadata
- Download URL: fieldkit-0.1.0.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4312a6424b1fa7fb655d7c18c0a4c6813b91722664dc1f946e6185f8903d48c9
|
|
| MD5 |
2874cc569ef032d2f18c98a7fd4fe0fa
|
|
| BLAKE2b-256 |
a12dadff589d21127961a5f361658a43685f722cf1659876c197124bc9315b93
|
File details
Details for the file fieldkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fieldkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77dfe4dd7ea70ffcd17847982058b8431ad07e081cef9373b22809c43af04221
|
|
| MD5 |
9340df4cc8a9ff635654603c62cd0d9a
|
|
| BLAKE2b-256 |
1b38243f5592c556e74d76472f71177e9a2537a7df73b89a215b36497b2e8e79
|