Iপ্রশ্নের খাতা

লিখিত উত্তর।

SQAI কোনো এজেন্টকে দেওয়ার আগে দলগুলো যা জিজ্ঞেস করে — এটি কী করতে পারে না, মেশিন থেকে কী বের হয়, রিপ্লে কী প্রমাণ করে, খরচ কত। সংক্ষিপ্ত উত্তর, প্রকৃত সংখ্যা এবং পূর্ণ বিবরণ ধারণকারী পৃষ্ঠাগুলো।

IIএটি কী, কত দ্রুত, কোথায় চলে

পণ্য

Q01–Q05
Q01

SQAI কী?

Structured Query AI — AI এজেন্টের জন্য পরিচালিত, রিড-অনলি স্ট্রাকচার্ড-ডেটা টুল। একটি প্রশ্ন টাইপড, পলিসি-যাচাইকৃত পরিকল্পনায় পরিণত হয়; পরিকল্পনা একটি নির্ধারণবাদী ইঞ্জিনে চলে; উত্তর হ্যাশসহ ফেরত আসে যা পুনরায় চালানো যায়।

একটি সারফেস ফাইল ও লাইভ ডেটাবেস এবং 445টি মডিউলে 4,778টি রিড-অনলি কম্পিউট ক্যাপাবিলিটি কভার করে — মিডিয়ান থেকে অপশন প্রাইসিং পর্যন্ত।

stats.median · finance.npv · option_pricing.black_scholes_call

Q02

এটি কি দ্রুত?

প্রতি-কোয়েরি কোল্ড স্টার্ট নেই। কোয়েরি প্লেন ইন-প্রসেসে চলে — সাধারণ ফাইলে সাব-মিলিসেকেন্ড।

কম্পিউট একবার প্রভিশন হয়: প্রথম কলে সাইন করা রানটাইম ডাউনলোড ও ইনিশিয়ালাইজ হতে প্রায় 110 সেকেন্ড লাগে। এরপর ডেমন উষ্ণ ও সক্রিয় থাকে, এবং একটি উষ্ণ কম্পিউট কল 0.83–0.93 ms পরিমাপ করে।

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

Q03

কোন প্ল্যাটফর্মগুলো সমর্থিত?

সাইন করা রানটাইম Apple-silicon macOS এবং x64 Linux-এর জন্য শিপ হয়। Windows-এ, একটি ম্যানেজড-কম্পিউট কল ক্র্যাশ না করে একটি কাঠামোবদ্ধ, নামযুক্ত ত্রুটি ফেরত দেয়।

কোয়েরি প্লেন যেকোনো জায়গায় চলে। সেলফ-হোস্টেড ও হোস্টেড মোডও চলে, কারণ কম্পিউট একটি রিমোট ইঞ্জিনে পোস্ট হয়। Node 20 বা নতুন; Python 3.10 বা নতুন।

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

Q04

আমি কি একটি ছোট রানটাইম শিপ করতে পারি?

হ্যাঁ। ডিফল্টে SQAI পুরো উন্মুক্ত সারফেস কভার করা পিন করা বান্ডেল ইনস্টল করে। শুধু প্রয়োজনীয় মডিউলগুলো নাম দিলে বিল্ড সার্ভিস সেই সাবসেটের জন্য একটি সাইন করা, sha256-পিন করা বান্ডেল কম্পাইল করে, ফিল্টার হ্যাশ দিয়ে ক্যাশ করা।

ফিল্টার করা ডেমনগুলো নিজস্ব সকেট ও পোর্ট পায়, তাই সেগুলো কখনো পূর্ণ ডেমনের সাথে সংঘর্ষ করে না।

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

Q05

কিছু ব্যর্থ হয়েছে। কীভাবে ডিবাগ করব?

এজেন্ট টুলগুলো কখনো থ্রো করে না। ত্রুটি একটি status এবং একটি code সহ কাঠামোবদ্ধ আউটপুট হিসেবে ফেরত আসে যা অস্বীকারের কারণ জানায় — পলিসি অস্বীকার, অজানা ক্যাপাবিলিটি, অনুপস্থিত সিড।

টুলের নিচের সবকিছুর জন্য, একটি কমান্ড একটি পাসে ইনস্টল, রানটাইম এবং ক্রস-ল্যাঙ্গুয়েজ প্যারিটি যাচাই করে।

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

IIIফ্ল্যাগ নয়, নির্মাণগতভাবে রিড-অনলি

নিরাপত্তা

Q06–Q10
Q06

এটি কি সত্যিই রিড-অনলি?

হ্যাঁ — অনুমতি নয়, নির্মাণগতভাবে। মডেল লেখক টাইপড ইন্টেন্ট দেয়, কখনো SQL নয়; SQAI এটি হ্যাশ-পিন করা ক্যাপাবিলিটি কন্ট্র্যাক্টের বিপরীতে যাচাই করে, আপনার পলিসি প্রয়োগ করে, তারপরই এক্সিকিউট করে।

4,778টি ক্যাপাবিলিটির মধ্যে 4,574টি উন্মুক্ত: কেবল সেগুলো যা রিড-অনলি ও নির্ধারণবাদী, বা সিডযুক্ত হলে নির্ধারণবাদী। 204টি যা পরীক্ষায় ব্যর্থ — প্রতিটি রাইটসহ — প্যাকেজড সারফেস থেকে অনুপস্থিত। কোনো সেটিং দিয়ে যা কখনো শিপ হয়নি তা নাগালে আনা যায় না।

read_only && (deterministic || deterministic_when_seeded)

Q07

আমার ডেটায় এজেন্টকে রিড-অনলি অ্যাক্সেস কীভাবে দেব?

কোডে আপনার সোর্সগুলো নিবন্ধন করুন এবং মডেলকে টুল সেট দিন — ঠিক তিনটি টুল। একটি বিদ্যমান সোর্স তালিকা করে, একটি না চালিয়ে পরিকল্পনার প্রিভিউ দেয়, এবং একটি রিড-অনলি সারফেসে এক্সিকিউট করে।

রিড-অনলি ডেটাবেস রোল একটি ফ্ল্যাগ যা কেউ আনসেট করতে পারে। রাইট ক্যাপাবিলিটি ছাড়া কম্পাইল করা সারফেস নয়।

sqai.tools() → listSources · explainQuery · queryData

Q08

LLM-জেনারেটেড SQL-এ DELETE বা DROP কীভাবে ব্লক করব?

SQL ফিল্টার করবেন না। এটি তৈরি করা বন্ধ করুন।

স্ট্রিং ফিল্টার ও রিড-অনলি ফ্ল্যাগ এমন একটি ভাষা রক্ষা করে যা সবসময় রাইট প্রকাশ করতে পারে — এবং প্রম্পট-ইনজেক্টেড SQL মডেলের আউটপুটে আসে, আপনার ইনপুট স্যানিটাইজারের পরে। SQAI-এর মডেল এমন একটি গ্রামারে টাইপড পরিকল্পনা লেখে যেখানে কোনো রাইট ফর্ম নেই: DELETE প্রত্যাখ্যাত নয়, এটি লেখাই অসম্ভব।

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

Q09

মডেল কি আমার পলিসি প্রসারিত করতে পারে?

না। পলিসি ক্লায়েন্ট তৈরির সময় কোডে নির্ধারিত এবং প্রতিটি এক্সিকিউশনের আগে ইন-প্রসেসে যাচাই করা হয়। টুল স্কিমায় কোনো ধরনের অ্যালাউ-লিস্ট ফিল্ড নেই, তাই প্রম্পটের নাগালে কিছু নেই।

একটি স্পষ্ট অ্যালাউ-লিস্ট কেবল সংকুচিত করতে পারে। যোগ্য সারফেসের বাইরে কোনো ক্যাপাবিলিটির নাম দিলেও ব্যর্থ হয় — প্যাকেজড সারফেস হলো সর্বোচ্চ সীমা।

policy_denied_source · policy_denied_field · policy_denied_function

Q10

কোনো এস্কেপ হ্যাচ আছে কি?

হ্যাঁ — মানুষের জন্য, কখনো মডেলের জন্য নয়। অরক্ষিত রানটাইম একটি আলাদা ইম্পোর্টের পেছনে থাকে যা কন্ট্র্যাক্ট, পলিসি ও সিড চেক বাইপাস করে, এবং এটি কখনো এজেন্ট টুল সেটে উন্মুক্ত নয়।

একজন ইঞ্জিনিয়ার ইচ্ছাকৃতভাবে অপ্ট আউট করতে পারেন। কোনো ইনপুট দিয়ে এজেন্ট এটি নাগালে আনতে পারে না।

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 API, এবং Git রিপো।

প্রতিটি সোর্স একই টাইপড আকারে উপস্থাপিত হয়, তাই ডাউনস্ট্রিম কোড CSV ও Snowflake-এর পার্থক্য বুঝতে পারে না। সোর্সগুলো নিবন্ধনের পর অপরিবর্তনীয়।

SqaiSource { fields, typed_fields, row_count, schema_revision }

Q13

SQAI কি আমার স্কিমা বা ডেটায় প্রশিক্ষণ নেয়?

কখনো না। SQAI কোনো মডেল নয় এবং কিছুই প্রশিক্ষণ নেয় না — কোনো লার্নিং লুপ নেই। লোকাল মোডে আপনার ডেটা মেশিন ছেড়ে যায় না।

লুপে একমাত্র মডেল হলো আপনার আনা মডেল, এবং এটি প্রতি ফলাফলে সর্বোচ্চ 25টি রো দেখে। এর বেশি কিছু ছাঁটা হয় — ঘোষিতভাবে, নীরবে নয় — পূর্ণ মান একটি অস্বচ্ছ রেজাল্ট আইডির অধীনে থাকে যা 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-তে উন্নীত হয়েছে।

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, তিনটি ডিভাইস, বাণিজ্যিক ব্যবহার, অ্যাসিঙ্ক জব, ওয়েবহুক, অডিট ট্রেইল। Team: মাসে $99, দশটি ডিভাইস, রোল-ভিত্তিক অ্যাক্সেস ও সিট যোগ করে।

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

VIIআরও একটি প্রশ্ন

সরাসরি জিজ্ঞেস করুন।

উপরে উত্তর না থাকলে, এটি একজন মানুষের কাছ থেকে প্রকৃত উত্তর পাওয়ার যোগ্য।

দলের সাথে কথা বলুনডকুমেন্টেশন পড়ুন