Skip to main content

The missing protocol between user requests and AI actions. Standardized intent parsing for every AI system.

Project description

⟁ Null Lens

The missing protocol between user requests and AI actions.
Standardized intent parsing for every AI system.
Converts any input into a deterministic schema — [Motive] [Scope] [Priority].


🧩 What it does

Null Lens turns unstructured natural-language input into a fixed three-line intent block:

[Motive] — what the user wants to achieve
[Scope] — where the request applies (context or domain)
[Priority] — what must be done first or resolved

One ambiguous paragraph in → three structured fields out.


⚙️ Quick Start

Install

pip install null-lens

Get your API key

You’ll need an API key to use Lens.

https://null-core.ai → sign up → get 100 free queries instantly.
No credit card. No approval delay.

export NULL_LENS_API_KEY="your_api_key_here"
# or on Windows PowerShell
setx NULL_LENS_API_KEY "your_api_key_here"

Use

from null_lens import NullLens

lens = NullLens(api_key="your_api_key_here")

result = lens.parse("Summarize Q4 strategy across LATAM markets.")
print(result)

Response

[Motive] Summarize strategic direction for Q4  
[Scope] LATAM markets  
[Priority] Identify key actions for planning cycle

🧠 Why it matters

AI systems don’t fail at inference — they fail at interpretation. Lens removes ambiguity before reasoning begins.

Without Lens

  • Prompt retries
  • Context drift
  • RAG scaffolding debt

With Lens

  • Stable input schema
  • Consistent reasoning
  • Deterministic orchestration

🔌 API Access

Endpoint

POST https://null-core.ai/api/lens

Headers

Authorization: Bearer <API_KEY>  
Content-Type: application/json

Body

{
  "messages": [
    {
      "role": "user",
      "content": "Summarize the latency impact of our RAG pipeline for 100k qps"
    }
  ]
}

Response

{
  "object": "chat.completion",
  "org_id": "xxxx-xxxx-xxxx",
  "response": "[Motive] Identify latency impact of RAG pipeline\n[Scope] RAG pipeline, 100k QPS scenario\n[Priority] Optimize for performance stability"
}

🧩 Parsing Helpers

JavaScript

function parseLensResponse(responseText) {
  const lines = responseText.split(/\r?\n/).map(l => l.trim()).filter(Boolean);
  const find = (prefix) => {
    const line = lines.find(l => l.toLowerCase().startsWith(prefix));
    return line ? line.split(']').slice(1).join(']').trim() : null;
  };
  return {
    motive: find('[motive]'),
    scope: find('[scope]'),
    priority: find('[priority]')
  };
}

Python

def parse_lens_response(text):
    lines = [l.strip() for l in text.splitlines() if l.strip()]
    def find(prefix):
        for l in lines:
            if l.lower().startswith(prefix):
                return l.split(']', 1)[1].strip()
        return None
    return {
        "motive": find("[motive]"),
        "scope": find("[scope]"),
        "priority": find("[priority]")
    }

🧩 Example cURL

curl -X POST https://null-core.ai/api/lens \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"We migrated API to v2 and uptime dropped — logs show auth timeouts. Root cause & mitigation before Friday?"}]}'

🧠 Best Practices

  • One call per semantic input — send full text in messages[0].content.
  • Persist outputs — store Motive / Scope / Priority as fields in your DB.
  • Cache identical inputs — identical input → identical output.
  • Use Lens before RAG / agents — treat its output as your canonical intent layer.
  • Test with messy inputs — long emails, transcripts, logs; the schema holds.

🔐 Security & Compliance

  • Stateless — no inputs stored or retained.
  • You manage your own API keys.
  • Rotate keys if compromised.
  • Don’t send confidential or PII data unless necessary.
  • Provided as-is, without warranties; you own compliance and handling.

❓ FAQ

Q: Is Lens stateful? A: No — each call is independent. Inputs are transient and not stored.

Q: Is the output deterministic? A: Yes. Same input → same 3-line output. Determinism by design.

Q: Will the format ever change? A: Never. The [Motive] / [Scope] / [Priority] schema is permanent.

Q: Average latency? A: ~1–5 s per call, depending on region and load.

Q: Enterprise pricing? A: Contact support@null-core.ai for volume or dedicated environments.


🩶 License

MIT License — see LICENSE


API-first. Stateless. Deterministic. Every call, every time.

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

null_lens-0.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

null_lens-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file null_lens-0.1.0.tar.gz.

File metadata

  • Download URL: null_lens-0.1.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for null_lens-0.1.0.tar.gz
Algorithm Hash digest
SHA256 384b3008afc0d000097077fb2d1f4028d869f2d9e594e84bc8e785bdd473db02
MD5 45c8135e5efeb8563c6dad056fc77950
BLAKE2b-256 9b9f31676c8fecd81b550a4a026b9de3cfc06bbef518ee7ba78575a169584679

See more details on using hashes here.

File details

Details for the file null_lens-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: null_lens-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for null_lens-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7db555289cdc371feaf6405f6123e253bb38c9c03ac69943124073b74e89edf
MD5 22159e11d15c065d1ed74f907a77b954
BLAKE2b-256 381b3639de1b78ffcda73453c0534c196993672888994a75faef40223e167676

See more details on using hashes here.

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