Iप्रश्न-सूची

लिखित उत्तर।

वह सब जो टीमें SQAI को किसी एजेंट को सौंपने से पहले पूछती हैं — यह क्या कभी नहीं कर सकता, मशीन से क्या बाहर जाता है, replay क्या सिद्ध करता है, इसकी लागत क्या है। संक्षिप्त उत्तर, वास्तविक संख्याएँ, और वे पृष्ठ जो पूरी कहानी रखते हैं।

IIयह क्या है, कितना तेज़, कहाँ चलता है

उत्पाद

Q01–Q05
Q01

SQAI क्या है?

Structured Query AI — AI एजेंटों के लिए शासित, read-only structured-data टूल। एक प्रश्न एक typed, policy-checked plan बनता है; plan एक deterministic इंजन पर चलता है; उत्तर उन hashes के साथ लौटता है जो इसे replay कर सकते हैं।

एक ही इंटरफ़ेस फ़ाइलों और लाइव डेटाबेस को 445 मॉड्यूलों में 4,778 read-only कंप्यूट क्षमताओं के साथ कवर करता है — median से options pricing तक।

stats.median · finance.npv · option_pricing.black_scholes_call

Q02

क्या यह तेज़ है?

प्रति-query कोई cold start नहीं है। Query plane in-process चलता है — सामान्य फ़ाइलों पर sub-millisecond।

Compute एक बार प्रावधानित होता है: पहली कभी की गई कॉल signed रनटाइम को लगभग 110 सेकंड में डाउनलोड और इनिशियलाइज़ करती है। उसके बाद daemon warm और resident रहता है, और एक warm compute कॉल 0.83–0.93 ms मापती है।

finance.npv = 0.83–0.93 ms (warm) · first provision ≈ 110 s

Q03

कौन से प्लेटफ़ॉर्म समर्थित हैं?

Signed रनटाइम Apple-silicon macOS और x64 Linux के लिए उपलब्ध है। Windows पर, एक managed-compute कॉल क्रैश होने के बजाय एक संरचित, नामित त्रुटि लौटाती है।

Query plane कहीं भी चलता है। Self-hosted और hosted मोड भी, क्योंकि compute एक remote इंजन को भेजा जाता है। Node 20 या नया; Python 3.10 या नया।

darwin-arm64 · linux-x64 · node ≥ 20 · python ≥ 3.10

Q04

क्या मैं एक छोटा रनटाइम भेज सकता हूँ?

हाँ। डिफ़ॉल्ट रूप से SQAI पूरी उजागर surface को कवर करने वाला pinned bundle इंस्टॉल करता है। केवल आवश्यक मॉड्यूल नाम करें और build सेवा उस subset के लिए एक signed, sha256-pinned bundle संकलित करती है, जो filter hash द्वारा कैश होती है।

Filtered daemons को अपना socket और port मिलता है, इसलिए वे पूर्ण daemon से कभी टकराते नहीं।

SQAI_RUNTIME_MODULES → POST /v1/runtime/build · sha256-pinned

Q05

कुछ विफल हो गया। मैं इसे कैसे debug करूँ?

एजेंट टूल कभी throw नहीं करते। त्रुटियाँ एक status और एक code के साथ structured output के रूप में वापस आती हैं जो अस्वीकृति का नाम बताता है — policy अस्वीकृति, अज्ञात क्षमता, गायब seed।

टूल के नीचे की हर चीज़ के लिए, एक कमांड एक ही पास में इंस्टॉल, रनटाइम, और cross-language समानता की जाँच करता है।

output.status === "error" · sqai doctor --parity --json

IIIसंरचना द्वारा read-only, flag द्वारा नहीं

सुरक्षा

Q06–Q10
Q06

क्या यह वास्तव में read-only है?

हाँ — संरचना द्वारा, अनुमति द्वारा नहीं। मॉडल typed intent लिखता है, कभी SQL नहीं; SQAI इसे hash-pinned capability contract के विरुद्ध सत्यापित करता है, आपकी policy लागू करता है, और तभी निष्पादित करता है।

4,778 क्षमताओं में से 4,574 उजागर हैं: केवल वे जो read-only और deterministic हैं, या seeded होने पर deterministic हैं। 204 जो परीक्षण में विफल होती हैं — हर write सहित — packaged surface से अनुपस्थित हैं। कोई सेटिंग उस तक नहीं पहुँच सकती जो कभी भेजी ही नहीं गई।

read_only && (deterministic || deterministic_when_seeded)

Q07

मैं किसी एजेंट को अपने डेटा तक read-only पहुँच कैसे दूँ?

अपने स्रोत कोड में पंजीकृत करें और मॉडल को टूल सेट दें — ठीक तीन टूल। एक सूचीबद्ध करता है कि क्या मौजूद है, एक बिना चलाए plan का पूर्वावलोकन करता है, और एक read-only surface के विरुद्ध निष्पादित करता है।

एक read-only डेटाबेस role एक flag है जिसे कोई हटा सकता है। write क्षमताओं के बिना संकलित surface नहीं।

sqai.tools() → listSources · explainQuery · queryData

Q08

मैं LLM-generated SQL में DELETE या DROP को कैसे रोकूँ?

आप SQL को फ़िल्टर नहीं करते। आप इसे उत्पन्न करना बंद करते हैं।

String filters और read-only flags एक ऐसी भाषा की रक्षा करते हैं जो हमेशा एक write व्यक्त कर सकती है — और prompt-injected SQL मॉडल के आउटपुट में आता है, आपके input sanitizer से आगे। SQAI का मॉडल एक ऐसे grammar में typed plan लिखता है जिसमें कोई write form नहीं है: DELETE अस्वीकृत नहीं है, यह लिखा ही नहीं जा सकता।

kind: "query" | "computation" · version: "1"

Q09

क्या मॉडल मेरी policy को विस्तृत कर सकता है?

नहीं। Policy कोड में तब निश्चित होती है जब आप client बनाते हैं और प्रत्येक निष्पादन से पहले in-process जाँची जाती है। टूल schemas में किसी भी प्रकार का कोई allow-list field नहीं है, इसलिए किसी prompt के लिए पहुँचने को कुछ नहीं है।

एक स्पष्ट allow-list केवल सीमित कर सकती है। पात्र surface के बाहर किसी क्षमता का नाम लेना फिर भी विफल होता है — packaged surface ही सीमा है।

policy_denied_source · policy_denied_field · policy_denied_function

Q10

क्या कोई escape hatch है?

हाँ — मनुष्यों के लिए, मॉडलों के लिए कभी नहीं। असुरक्षित रनटाइम एक अलग import के पीछे है जो contract, policy, और seed जाँच को bypass करता है, और यह कभी भी एजेंट टूल सेट को उजागर नहीं होता।

एक इंजीनियर जानबूझकर opt out कर सकता है। कोई एजेंट किसी भी इनपुट से इस तक नहीं पहुँच सकता।

import { getUnsafeRuntime } from "@thyn-ai/sqai/unsafe"

एजेंटों को SQL क्यों नहीं लिखना चाहिए

IVक्या जाता है, क्या जुड़ता है, क्या प्रशिक्षित होता है

डेटा

Q11–Q13
Q11

मेरी मशीन से क्या डेटा बाहर जाता है?

डिफ़ॉल्ट लोकल मोड में, कुछ नहीं। क्वेरी प्लेन इन-प्रोसेस रिज़ॉल्व होता है और कंप्यूट रनटाइम आपकी मशीन पर एक साइन्ड डेमन है। एकमात्र आउटबाउंड कॉल पहली बार उपयोग पर रनटाइम बंडल का डाउनलोड है — इंजन कोड, आपकी पंक्तियाँ नहीं।

किसी एनवायरनमेंट वेरिएबल को सेल्फ-होस्टेड या होस्टेड इंजन पर इंगित करें और प्लान वहाँ पोस्ट होते हैं — क्रेडेंशियल एन्क्रिप्टेड रहते हैं, कोई डेटा कॉपी नहीं होता।

local: in-process · self_hosted: SQAI_ENGINE_URL · api: SQAI_API_KEY

Q12

मैं कौन से डेटा स्रोत क्वेरी कर सकता हूँ?

बिना किसी की के इन-प्रोसेस: CSV, TSV, JSON, इन-मेमोरी पंक्तियाँ, और SQLite — Python में Excel और Parquet भी। इंजन के माध्यम से: PostgreSQL, MySQL, Oracle (बंडल्ड Thin-mode ड्राइवर सहित), SQL Server, Snowflake, BigQuery, ClickHouse, Redshift, ऑब्जेक्ट स्टोर, Redis, Neo4j, Elasticsearch, REST APIs, और Git रिपो।

हर स्रोत एक ही टाइप्ड आकार प्रस्तुत करता है, इसलिए डाउनस्ट्रीम कोड CSV और Snowflake में अंतर नहीं कर सकता। स्रोत एक बार पंजीकृत होने के बाद अपरिवर्तनीय होते हैं।

SqaiSource { fields, typed_fields, row_count, schema_revision }

Q13

क्या SQAI मेरे स्कीमा या डेटा पर प्रशिक्षण लेता है?

कभी नहीं। SQAI कोई मॉडल नहीं है और कुछ भी प्रशिक्षित नहीं करता — कोई लर्निंग लूप नहीं है। लोकल मोड में आपकी पंक्तियाँ मशीन से बाहर जाती ही नहीं।

लूप में एकमात्र मॉडल वह है जो आप लाते हैं, और वह अधिकतम 25 पंक्तियाँ प्रति परिणाम देखता है। इससे बड़ा कुछ भी ट्रंकेट होता है — घोषित रूप से, कभी चुपचाप नहीं — पूर्ण मान एक अपारदर्शी रिज़ल्ट id के अंतर्गत रखा जाता है जो 15 मिनट बाद समाप्त हो जाता है।

maxRowsToModel 25 · maxCellsToModel 250 · maxBytesToModel 32,000

अपना डेटा कनेक्ट करें

Vएक ही प्रश्न, एक ही बाइट्स

निर्धारकता

Q14–Q16
Q14

यह निर्धारक कैसे है — और TypeScript और Python में समान कैसे?

घोषित एक्ज़ीक्यूशन स्कोप के भीतर निर्धारक — 64-बिट फ्लोट, एकल थ्रेड, पिन्ड रनटाइम — और हर परिणाम उस स्कोप को रिकॉर्ड करता है, अतिरिक्त दावे नहीं करता।

कैनोनिकल सीरियलाइज़र दोनों SDK में कन्फ़ॉर्मेंस-लॉक्ड है, इसलिए एक ही कंप्यूटेशन TypeScript और Python में समान संख्या और बाइट-समान हैश लौटाता है।

finance.npv(0.1, [-1000, 300, 420, 560, 680]) = 505.020148896933computation_hash b74f67d0… · TS ≡ PY

Q15

आप किसी LLM को संख्याएँ गढ़ने से कैसे रोकते हैं?

उसे अंकगणित करने ही न देकर। किसी मॉडल से 200 पंक्तियों का योग माँगें और आपको एक प्रशंसनीय संख्या मिलती है — इस बात का कोई संकेत नहीं कि वह गलत है।

SQAI के साथ मॉडल केवल कंप्यूटेशन चुनता है; इंजन उसे निष्पादित करता है। हमारे एक्यूरेसी A/B में, उसी मॉडल ने मात्रात्मक प्रश्नों पर 16 में से 0 से 16 में से 16 का स्कोर किया — जैसे ही इंजन ने कंप्यूटिंग संभाली।

accuracy A/B: 0/16 → 16/16

Q16

क्या आप किसी एजेंट के उत्तर को दोबारा चला सकते हैं?

हाँ — हैश इसी के लिए हैं। हर परिणाम एक प्लान हैश, एक इनवोकेशन हैश (एक्ज़ीक्यूशन से पहले ज्ञात), एक कंप्यूटेशन हैश (बाद में ज्ञात), और एक डिटर्मिनिज़्म एनवेलप लेकर आता है जो रनटाइम वर्शन, प्लेटफ़ॉर्म, प्रिसिज़न और सीड रिकॉर्ड करता है।

महीनों बाद उसी स्कोप में इनवोकेशन दोबारा चलाएँ — हैश बाइट-दर-बाइट मेल खाता है। यदि अंतर्निहित स्कीमा बदल गई हो, तो चुपचाप अलग संख्याओं की बजाय एक नामित स्कीमा-रिविज़न मिसमैच मिलता है।

run1 b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8run2 b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8identical: true

निर्धारकता, पूर्ण विवरण में

VIक्या मुफ़्त है, क्या सशुल्क

मूल्य निर्धारण

Q17–Q18
Q17

क्या मुझे API की या अकाउंट चाहिए?

नहीं। लोकल मोड ज़ीरो-कॉन्फ़िग है — कोई की नहीं, कोई अकाउंट नहीं, कोई कार्ड नहीं। रनटाइम पहली कंप्यूट कॉल पर स्वयं प्रोविज़न हो जाता है।

साइन इन वैकल्पिक है और डिवाइस कोड का उपयोग करता है; यह एक ऑफ़लाइन लाइसेंस जारी करता है जो एक साइन्ड टोकन स्थानांतरित करता है, आपका डेटा नहीं। की केवल किसी भिन्न इंजन की ओर इंगित करने के लिए होती हैं।

sqai login → RFC 8628 device code · WDJB-MJHT

Q18

क्या SQAI मुफ़्त है या सशुल्क?

लोकल डेवलपमेंट और मैनेज्ड कंप्यूट मुफ़्त हैं — SDK में कहीं कोई लाइसेंस जाँच नहीं है।

सशुल्क टियर मशीनें, सीट और व्यावसायिक अधिकार गेट करते हैं, कंप्यूट फ़ीचर नहीं। Developer: मुफ़्त, एक डिवाइस, गैर-व्यावसायिक। Pro: $25 प्रति माह, तीन डिवाइस, व्यावसायिक उपयोग, async जॉब, वेबहुक, ऑडिट ट्रेल। Team: $99 प्रति माह, दस डिवाइस, रोल-आधारित एक्सेस और सीट।

Developer $0 · Pro $25/mo · Team $99/mo

VIIएक और प्रश्न

सीधे पूछें।

यदि उत्तर ऊपर नहीं मिला, तो वह एक वास्तविक उत्तर का हकदार है — किसी व्यक्ति से।

टीम से बात करेंदस्तावेज़ पढ़ें