Sindh IT Portal — Facilitation DeskSpecification documents
Englishاردوسنڌي
← All documents

اے آئی / او سی آر اسپیسفیکیشن

سندھ آئی ٹی پورٹل — سہولت ڈیسک (SITP) پر تمام اے آئی صلاحیتوں، پلگ ایبل انجن تجرید، پرامپٹ/پائپ لائن ڈیزائن، PII حذف و ترمیم، حکمرانی، تشخیص اور اخلاقیات کے لیے مستند انجینئرنگ اسپیسفیکیشن۔

فیلڈ ویلیو
دستاویز آئی ڈی 07
حیثیت مسودہ
مالک S&ITD / MAAHIR
زبانیں EN (master) · UR · SD
منحصر ہے ان پر /specs/ur/15-tech-architecture/، /specs/ur/05-data-model/، /specs/ur/11-security-compliance/، /specs/ur/06-ticket-workflow/، /specs/ur/21-mom-meetings/، /specs/ur/18-knowledge-base-sop/، _glossary.md، _context.md
ان ماڈیولز پر لاگو ہوتا ہے E (AI)، D (FILE)، B (TKT)، M (MTG)، J (KB)، A (PUB)، I (ANL)
نفاذ کی سطح FastAPI اے آئی سروس (Python) + NestJS ai-bridge ماڈیول + BullMQ ورکرز

1. دائرہ کار اور اصول

یہ دستاویز اس بات کا واحد مستند ماخذ ہے کہ SITP کے اندر اے آئی کس طرح استعمال ہوتا ہے۔ یہ ان انٹرفیسز کی تعریف کرتا ہے جن سے ہر اے آئی کال گزرتی ہے، انجنز جو انہیں نافذ کرتے ہیں، گیارہ پروڈکٹ صلاحیتیں جو انہیں استعمال کرتی ہیں، پرامپٹ/پائپ لائن حکمرانی، PII حذف و ترمیم پائپ لائن، لاگت/استعمال ماڈل، تشخیصی نظام، اور اخلاقی حفاظتی نقاب۔ یہ _context.md §3 میں مستحکم "پلگ ایبل AI/OCR" فیصلے اور /specs/ur/15-tech-architecture/ §6 میں بیان کردہ اے آئی آرکیٹیکچر کو نافذ کرتا ہے۔

ریکارڈ کا نظام MariaDB 10.11 ہے (PostgreSQL نہیں)۔ سیمینٹک/ویکٹر سرچ Meilisearch اور اے آئی سروس کے اپنے ایمبیڈنگ اسٹور کو سونپی گئی ہے؛ اسٹیک میں کہیں بھی کوئی pgvector انحصار موجود نہیں۔ اے آئی سروس ایک Python FastAPI مائیکرو سروس ہے جسے NestJS API گیٹ وے اور BullMQ ورکرز بلاتے ہیں — کلائنٹس کبھی براہِ راست نہیں۔

1.1 اے آئی اصول

# اصول SITP میں اس کا مطلب
P1 اے آئی آسان کرنے والا ہے، فیصلہ ساز نہیں۔ ہر اے آئی آؤٹ پٹ ایک مشورہ ہے جو انسان کو دکھایا جاتا ہے۔ کوئی بھی اے آئی آؤٹ پٹ واضح انسانی تصدیق (یا کم خطرے والے معاملات تک محدود، لاگ ہونے والی، آپٹ-ان آٹو-ایپلائی رول) کے بغیر حالت کی تبدیلی، اطلاع، روٹنگ فیصلہ، یا عوامی بیان نہیں بن سکتا۔
P2 ہر جگہ انسان فیصلہ ساز (HITL)۔ مسودات قابلِ ترمیم ہیں؛ درجہ بندیاں قابلِ تصدیق ہیں؛ فوریتیں قابلِ نظرثانی ہیں؛ MoM ایکشن آئٹمز صرف افسر کی منظوری کے بعد ذیلی ٹاسک بنتی ہیں۔ HITL چیک پوائنٹ §5 میں فی صلاحیت نامزد کیا گیا ہے۔
P3 پلگ ایبل اور تبادلہ قابل انجنز۔ ہر LLM، OCR، ٹرانسکرپشن، اور ترجمہ کال ایک مستحکم انٹرفیس سے گزرتی ہے۔ انجنز فی فیچر اور فی ڈیٹا حساسیت طبقے کے لحاظ سے منتخب کیے جاتے ہیں اور کنزیومر کوڈ کو چھوئے بغیر تبدیل کیے جا سکتے ہیں۔
P4 ڈیٹا حساسیت آگاہ (کلاؤڈ بمقابلہ سیلف ہوسٹڈ)۔ خودمختار ڈیٹا (خام CNIC، نادرا پے لوڈز، خفیہ/VIP ٹکٹ باڈیز، مالی تفصیلات) آن پریم انجنز کی طرف بھیجا جاتا ہے؛ کلاؤڈ انجنز صرف ان ڈیٹا کلاسز کے لیے استعمال ہوتے ہیں جن کی پالیسی اجازت دیتی ہے۔
P5 کسی بھی کلاؤڈ کال سے پہلے PII حذف و ترمیم۔ حذف و ترمیم کی ایک تہہ CNIC، فون، ای میل، اور مالی وجودیات کو پے لوڈ کے قابلِ اعتماد حد سے نکلنے سے پہلے چھپا دیتی ہے، اور واپسی پر انہیں دوبارہ شامل کرتی ہے۔
P6 لاگت کنٹرول شدہ۔ ہر کال میٹر کی جاتی ہے (ٹوکنز، سیکنڈز، صفحات، لاگت)؛ فی فیچر اور فی ٹیننٹ بجٹ نافذ کیے جاتے ہیں؛ ریٹ لیمیٹس بے قابو خرچ کو روکتے ہیں۔
P7 آڈٹ شدہ اور وضاحت قابل۔ ہر کال ایک غیر تبدیل شدہ ai_runs قطار لکھتی ہے (انجن، لیٹنسی، لاگت، حذف و ترمیم، پرامپٹ ورژن، آؤٹ پٹ ہیش) اور آؤٹ پٹس کو اپنے ماخذات (ٹکٹ آئی ڈیز، اٹیچمنٹ آئی ڈیز، KB آرٹیکل آئی ڈیز) کا حوالہ دینا چاہیے تاکہ انسان تصدیق کر سکے۔
P8 تعمیر کے لحاظ سے کثیر لسانی۔ EN/UR/سندھی فرسٹ کلاس ہیں۔ پرامپٹس، لغات، OCR tessdata، اور تشخیصی سیٹ تینوں زبانوں پر محیط ہیں۔ RTL رینڈرر کے ذریعے سنبھالا جاتا ہے۔
P9 معاون، کبھی روکنے والا نہیں۔ اگر ہر اے آئی انجن ڈاؤن ہو تو پورٹل دستی موڈ میں کام کرتا رہتا ہے۔ اے آئی ناکامی "کوئی مشورہ نہیں" پر آ جاتی ہے، کبھی "کوئی سروس نہیں" پر نہیں۔
P10 انصاف اور شفافیت۔ کسی شہری یا کمپنی کو متاثر کرنے والا کوئی خودکار حتمی فیصلہ نہیں؛ معیار علیحدہ علیحدہ EN/UR/سندھی کے لیے ناپا جاتا ہے؛ تعصب کی نگرانی کی جاتی ہے؛ ہر نتیجے کے لیے ایک انسان ذمہ دار ہے۔

1.2 غیر اہداف


2. پلگ ایبل انجن آرکیٹیکچر

2.1 انٹرفیس کنٹریکٹس

FastAPI اے آئی سروس چار مستحکم انٹرفیس خاندانوں کو ظاہر کرتی ہے۔ ہر کنزیومر (NestJS ماڈیول یا BullMQ ورکر) انٹرفیس کے لیے پروگرام کرتا ہے، کبھی وینڈر SDK کے لیے نہیں۔ نیچے دیے گئے کنٹریکٹس TypeScript انداز میں سیوڈو کوڈ ہیں؛ Python نفاذات اسی شکل کو پورا کرتے ہیں۔

// ---- LLM family -----------------------------------------------------------
interface LLMClient {
  /** Single-turn completion (instructions + input → text). */
  complete(req: LLMRequest): Promise<LLMResponse>;
  /** Multi-turn chat (system + user/assistant turns → assistant text). */
  chat(req: ChatRequest): Promise<ChatResponse>;
  /** Embedding vectors for retrieval / similarity (on-prem by default). */
  embed(req: EmbedRequest): Promise<EmbedResponse>;
}

interface LLMRequest {
  promptTemplateId: string;        // e.g. "summary.v3" — versioned (§8)
  variables: Record<string, unknown>;
  locale: "en" | "ur" | "sd";
  sensitivityClass: "public" | "internal" | "confidential" | "restricted";
  maxOutputTokens: number;
  temperature: number;             // capability-default unless overridden
  responseFormat?: "text" | "json"; // json → schema-validated output
  jsonSchema?: object;             // required when responseFormat = "json"
  citationsRequired: boolean;      // force the model to cite source IDs
}

interface LLMResponse {
  text: string;
  structured?: object;             // populated when responseFormat = "json"
  citations: Citation[];           // [{type:"ticket"|"attachment"|"kb", id, span}]
  finishReason: "stop" | "length" | "content_filter" | "error";
  usage: { promptTokens: number; completionTokens: number; };
  engineUsed: string;              // e.g. "azure-openai:gpt-4o"
  redactionsApplied: number;       // count of PII tokens masked in input
  latencyMs: number;
}

// ---- OCR family -----------------------------------------------------------
interface OCRClient {
  /** Extract text + layout from a scanned/image/PDF document. */
  extract(req: OCRRequest): Promise<OCRResult>;
}

interface OCRRequest {
  objectKey: string;               // MinIO key (already AV-scanned)
  languages: ("en" | "ur" | "sd")[]; // drives tessdata / cloud language hint
  preserveLayout: boolean;         // keep reading order + table structure
  confidenceFloor: number;         // 0..1; below this → review queue
  sensitivityClass: SensitivityClass;
}

interface OCRResult {
  text: string;                    // plain text, reading-order preserved
  blocks: OCRBlock[];              // paragraphs/tables/lines with bbox + confidence
  languageDetected: "en" | "ur" | "sd" | "mixed";
  meanConfidence: number;          // 0..1
  lowConfidenceSpans: OCRSpan[];   // text spans below confidenceFloor
  needsManualReview: boolean;      // true iff meanConfidence < floor OR spans>threshold
  pageCount: number;
  engineUsed: string;
  latencyMs: number;
}

// ---- Transcription family -------------------------------------------------
interface TranscriptionClient {
  /** Speech-to-text for meeting recordings / voice notes. */
  transcribe(req: AudioRequest): Promise<Transcript>;
}

interface AudioRequest {
  objectKey: string;
  languages: ("en" | "ur" | "sd")[];
  diarize: boolean;                // separate speakers (Company / S&ITD / Dept)
  sensitivityClass: SensitivityClass;
}

// ---- Translation family ---------------------------------------------------
interface TranslationClient {
  /** Translate text between EN/UR/Sindhi with glossary constraints. */
  translate(req: TranslationRequest): Promise<TranslationResult>;
}

interface TranslationRequest {
  text: string;
  sourceLocale: "en" | "ur" | "sd" | "auto";
  targetLocale: "en" | "ur" | "sd";
  domain: "general" | "legal" | "technical" | "official-letter";
  glossaryId?: string;             // injected from _glossary.md constraints
  preserveFormatting: boolean;
  sensitivityClass: SensitivityClass;
}

type SensitivityClass = "public" | "internal" | "confidential" | "restricted";

interface Citation {
  type: "ticket" | "attachment" | "kb" | "mom" | "comms";
  id: string;
  span?: { start: number; end: number }; // char offsets in output text
}

2.2 انجن رجسٹری اور انتخاب

انجنز اعلانیہ طور پر رجسٹرڈ ہوتے ہیں اور کال کے وقت فی فیچر اور فی حساسیت طبقے کے لحاظ سے منتخب کیے جاتے ہیں۔ انتخاب کے ان پٹس: (a) فیچر فلیگ سروس، (b) ان پٹ کی ڈیٹا درجہ بندی، اور (c) ماحولیاتی سطح کی اجازت نامہ فہرست تاکہ ایک "خودمختار" ماحول کلاؤڈ انجنز کو مکمل طور پر منع کر سکے۔

// ai_engine_configs — stored in MariaDB, cached in Redis, audited on change.
// One row per (capability, sensitivityClass) → ordered fallback chain.
type EngineConfig = {
  capability: CapabilityId;          // "ocr" | "summary" | "routing" | ...
  sensitivityClass: SensitivityClass;
  primary: EngineRef;                // first choice
  fallback: EngineRef[];             // ordered; tried on primary failure
  costBudgetPerCall?: Money;         // hard ceiling; call rejected if exceeded
  rateLimitPerMin?: number;          // per-tenant throttle
  enabled: boolean;                  // kill switch
};

type EngineRef = {
  family: "llm" | "ocr" | "transcription" | "translation";
  provider: "azure-openai" | "gemini" | "bedrock"
          | "ollama" | "vllm"              // self-hosted LLM
          | "tesseract"                     // self-hosted OCR
          | "google-doc-ai" | "azure-di" | "textract"  // cloud OCR
          | "zoom" | "meet"                 // cloud transcription
          | "whisper";                      // self-hosted transcription
  model: string;                      // e.g. "gpt-4o", "llama-3.1-70b", "qwen2.5-32b"
  residency: "cloud" | "on-prem";
};

رجسٹری قطاروں کی مثال (ڈیفالٹس — §4 یوز کیسز کے ذریعے تصدیق شدہ):

صلاحیت public/internal confidential restricted
ocr Google Document AI → Azure DI → Tesseract Azure DI → Tesseract Tesseract (صرف آن پریم)
summary Azure OpenAI GPT-4o → Gemini Azure OpenAI → آن پریم Llama 3 آن پریم Llama 3 / Qwen (صرف)
routing کلاؤڈ LLM → آن پریم Llama کلاؤڈ LLM → آن پریم آن پریم Llama (صرف)
embeddings آن پریم (ہمیشہ) آن پریم آن پریم
translation کلاؤڈ LLM (لغت) → آن پریم آن پریم LLM آن پریم LLM
transcription Zoom/Meet API → Whisper Whisper (آن پریم) Whisper (آن پریم)

غیر متغیرہ: restricted ان پٹس کے لیے، اجازت نامہ فہرست میں صرف residency: "on-prem" انجنز شامل ہیں۔ سلیکٹر ایک restricted طبقے کے لیے کلاؤڈ انجن خارج کرنے سے انکار کرتا ہے حتیٰ کہ اگر کوئی ایڈمن رجسٹری غلط ترتیب بھی کر دے — ایک سخت پالیسی چیک کال کو بند ناکامی کی طرف لے جاتا ہے۔

2.3 درخواست کا بہاؤ

ہر اے آئی کال اسی شکل پر عمل کرتی ہے: پالیسی حل کریں → انجن منتخب کریں → PII حذف کریں → کال کریں → ناکامی پر فال بیک → لاگ + آڈٹ → جواب دیں۔

flowchart TD R["Request from NestJS module / worker<br/>(capability + sensitivityClass + locale + payload)"] FF{"Feature flag<br/>enabled?"} POL["Policy & allow-list check<br/>(residency permitted for this sensitivity?)"] BUD["Budget & rate-limit check"] SEL["Select engine chain<br/>(primary → fallback[])"] RED["PII redaction<br/>(CNIC · phone · email · financial)"] CALL["Call engine adapter"] FB{"OK + within budget?"} FALL["Try next fallback engine"] DERED["De-redact (re-hydrate) into output"] VAL["Output validation<br/>(schema · guardrails · citations)"] LOG["Structured log + immutable ai_runs row<br/>(engine · latency · tokens · cost · redactions · promptVersion)"] RESP["Return result to caller"] FAIL["Return structured failure<br/>(caller degrades gracefully — §11)"] R --> FF FF -- no --> FAIL FF -- yes --> POL POL -- denied --> FAIL POL -- ok --> BUD BUD -- over --> FAIL BUD -- ok --> SEL SEL --> RED RED --> CALL CALL --> FB FB -- no --> FALL FALL --> RED FB -- yes --> DERED DERED --> VAL VAL -- invalid --> FALL VAL -- ok --> LOG LOG --> RESP

تحریری وضاحت۔ ایک درخواست اپنی صلاحیت آئی ڈی، حساسیت طبقے، لوکیل، اور پے لوڈ لے کر داخل ہوتی ہے۔ گیٹ کیپر پہلے فیچر فلیگ چیک کرتا ہے (ایک غیر فعال صلاحیت ایک ڈھانچے والی "کوئی مشورہ نہیں" لوٹاتی ہے — کبھی کالر کو استثنٰی نہیں)۔ پھر یہ رہائشی اجازت نامہ فہرست نافذ کرتا ہے: ایک restricted پے لوڈ کبھی کلاؤڈ انجن منتخب نہیں کر سکتا۔ یہ فی کال لاگت بجٹ اور فی ٹیننٹ ریٹ لیمٹ چیک کرتا ہے۔ سلیکٹر ai_engine_configs سے ترتیب شدہ انجن چین کو حل کرتا ہے۔ اگر کلاؤڈ انجن منتخب ہو تو PII پے لوڈ کے قابلِ اعتماد حد سے نکلنے سے پہلے حذف کر دیا جاتا ہے؛ آن پریم انجنز کے لیے، دفاعی گہرائی کے لیے حذف و ترمیم اب بھی لاگو کی جاتی ہے لیکن دوبارہ شامل کرنے کے لیے میپنگ برقرار رکھی جاتی ہے۔ ایڈاپٹر انجن کو کال کرتا ہے؛ ناکامی پر (ٹائم آؤٹ، 5xx، مواد فلٹر، بجٹ خلاف ورزی، یا آؤٹ پٹ اسکیما تصدیق ناکامی) اگلا فال بیک آزمایا جاتا ہے، اگر ضرور ہو تو تازہ دماغ سے دوبارہ حذف کیا جاتا ہے۔ کامیاب آؤٹ پٹ سے حذف و ترمیم واپس (PII ٹوکنز میموری والٹ سے دوبارہ شامل کیے گئے) کیا جاتا ہے، اس کی JSON اسکیما اور حفاظتی نقاب کے خلاف تصدیق کی جاتی ہے، اور حوالہ جاتی چیک قابلِ تتبع ماخذات یقینی بناتا ہے۔ ہر کال — کامیابی یا ناکامی — ایک غیر تبدیل شدہ ai_runs قطار لکھتی ہے جو انجن، لیٹنسی، ٹوکنز، لاگت، حذف و ترمیم شمار، پرامپٹ ورژن، اور آؤٹ پٹ ہیش قید کرتی ہے۔ اگر تمام انجنز ناکام ہوں، کالر کو ایک ڈھانچے والی ناکامی ملتی ہے اور وہ دستی موڈ میں کم ہو جاتا ہے (§11)۔

2.4 ڈیٹا ماڈل (اے آئی مخصوص ٹیبلز)

درج ذیل ٹیبلز (ai_ سے پیشFix) اسی MariaDB ڈیٹا بیس میں موجود ہیں؛ مکمل اسکیماز /specs/ur/05-data-model/ میں ہیں۔

ٹیبل مقصد
ai_engine_configs §2.2 کی رجسٹری (صلاحیت × حساسیت → انجن چین)۔
ai_runs ہر اے آئی کال کا صرف اضافہ کرنے والا آڈٹ (انجن، لیٹنسی، ٹوکنز، لاگت، پرامپٹ ورژن، حذف و ترمیم، آؤٹ پٹ ہیش، حیثیت)۔ ماہ کے لحاظ سے تقسیم شدہ۔
ai_prompt_templates ورژن شدہ پرامپٹ ٹیمپلیٹس (آئی ڈی، ورژن، باڈی، ویری ایبلز اسکیما، لوکیل، حیثیت)۔
ai_prompt_eval_results گولڈن سیٹس کے خلاف فی ٹیمپلیٹ تشخیصی رن نتائج (§10)۔
ai_pii_vault حذف و ترمیم ٹوکن ↔ اصل وجودیت کا خفیہ کردار، مختصر TTL والا میپنگ (بنیادی طور پر میموری میں؛ طویل رننگ جابز کے لیے صرف at-rest خفیہ کردہ spill)۔
ai_feedback اے آئی آؤٹ پٹس پر تھمز اپ/ڈاؤن + مفت ٹیکسٹ فیڈبیک، ai_runs.id سے جُڑا ہوا؛ بہتری کے لوپ کو کھلاتا ہے۔
ai_embeddings ریٹریول/مشابہت کے لیے ایمبیڈنگ ویکٹرز + میٹا ڈیٹا (Meilisearch بنیادی انڈیکس ہے؛ یہ ٹیبل دوبارہ انڈیکسنگ کا مستند ماخذ ہے)۔
ai_ab_assignments فی یوزر/فی ٹکٹ اے/بی پرامپٹ ورژن اسائنمنٹ (§8)۔

3. انجن کیٹلاگ

ہر انجن خاندان کے لیے، کیٹلاگ ٹھوس اختیارات، طاقتیں، اردو/سندھی معیار، اشارتی لاگت، ڈیٹا رہائشی مؤقف، اور SITP میں تجویز کردہ استعمال درج کرتا ہے۔ لاگتیں اشارتی ہیں، ایک بیس لائن کے مقابلے میں بیان کی گئیں؛ حقیقی بجٹس ai_engine_configs.costBudgetPerCall میں مقرر ہوتے ہیں۔

3.1 LLM انجنز

انجن فراہم کنندہ طاقتیں UR/SD معیار اشارتی لاگت ڈیٹا رہائش تجویز کردہ استعمال
GPT-4o Azure OpenAI مضبوط استدلال، کثیر لسانی، JSON موڈ، فنکشن کالنگ اچھی UR؛ کمزور SD؛ لغت سے تصدیق کریں $$$ کلاؤڈ (خطے میں مقرر ٹیننٹ) public/internal ان پٹس پر خلاصہ، مسودہ جوابات، MoM نکالنے کے لیے ڈیفالٹ
GPT-4o-mini Azure OpenAI سستی، تیز، کثیر لسانی مناسب UR/SD $ کلاؤڈ زیادہ حجم والے کم خطرے والے کام: فوریّت اسکورنگ، درجہ بندی پری فلٹر
Gemini 1.5 Pro / 2.x Google Vertex / Gemini API طویل کنٹیکسٹ ونڈو (طویل ٹکٹ ہسٹریز کے لیے مفید)، ملٹی موڈل اچھی UR؛ SD متغیر $$ کلاؤڈ طویل کنٹیکسٹ خلاصہ سازی؛ ملٹی موڈل OCR معاونت
Claude 3.5 / Haiku (Bedrock کے ذریعے) AWS Bedrock مضبوط ہدایات پر عمل، کم ہیلوسینیشن اچھی UR؛ SD متوازن $$ کلاؤڈ (AWS خطہ) متبادل بنیادی؛ سرکاری خطوط کا مسودہ تیار کرنا
Llama 3.1 70B / 405B Ollama + vLLM کے ذریعے سیلف ہوسٹڈ اوپن ویٹس، کوئی ڈیٹا ایگریشن نہیں، فائن ٹیون قابل UR متوازن؛ پرامپٹ پرائمنگ کے بغیر SD کمزور $ (کیپیکس amortize) آن پریم آن پریم فال بیک؛ restricted ان پٹس کے لیے واحد انجن
Qwen 2.5 32B / 72B Ollama + vLLM کے ذریعے سیلف ہوسٹڈ مضبوط عربی اسکرپٹ کارکردگی؛ لغت پرائمنگ کے بعد اچھی سندھی بیس لائن اچھی UR؛ سیلف ہوسٹڈ اختیارات میں بہترین SD $ (کیپیکس amortize) آن پریم UR/SD ورک لوڈز کے لیے ترجیحی آن پریم LLM؛ confidential/restricted ترجمہ اور خلاصہ سازی

انتخاب کی رہنمائی۔ public/internal ڈیٹا پر معیار کے لیے کلاؤڈ LLM استعمال کریں۔ اپنی مضبوط عربی اسکرپٹ ٹریننگ کی وجہ سے اردو/سندھی کے لیے Qwen 2.5 کو آن پریم بنیادی کے طور پر استعمال کریں؛ انگریزی غالب کامز کے لیے Llama 3.1 پر فال بیک کریں۔ restricted پے لوڈز کبھی کسی کلاؤڈ LLM کی طرف نہ بھیجیں۔

3.2 OCR انجنز

انجن فراہم کنندہ طاقتیں UR/SD معیار اشارتی لاگت ڈیٹا رہائش تجویز کردہ استعمال
Tesseract 5 (urd.traineddata + snd.traineddata کے ساتھ) سیلف ہوسٹڈ مفت، کوئی ایگریشن نہیں، اسکرپٹ علیحدہ پائپ لائنز کلین اپ کے ساتھ UR اچھی؛ SD قابلِ قبول؛ گھنے سکینز پر لے آؤٹ کمزور $ (کیپیکس) آن پریم restricted کے لیے واحد OCR؛ CNIC/نادرا سکینز؛ آن پریم فال بیک
Google Document AI Google Cloud اپنی قسم کا بہترین لے آؤٹ، ٹیبل نکالنا، کثیر لسانی UR بہت اچھی؛ SD اچھی $$$ کلاؤڈ public/internal سکینڈ نوٹسز اور MoM تصاویر کے لیے ڈیفالٹ OCR
Azure Document Intelligence Azure مضبوط لے آؤٹ، پہلے سے بنے ماڈلز (آئی ڈی دستاویز، انوائس، رسید) UR اچھی؛ SD متوازن $$$ کلاؤڈ (خطے میں مقرر) غیر restricted ڈیٹا پر ڈھانچے دار فارم، انوائسز، آئی ڈی دستاویزات
AWS Textract AWS پختہ ٹیبل/فارم نکالنا، AnalyzeDocument UR متوازن؛ ہاتھ کی لکھائی پر SD کمزور $$ کلاؤڈ متبادل؛ خرچ رپورٹس، ڈھانچے دار ٹیبلز

انتخاب کی رہنمائی۔ Tesseract آن پریم فرش ہے اور restricted ان پٹس (CNIC سکینز، نادرا پے لوڈز، خفیہ ثبوت) کے لیے واحد اجازت شدہ OCR ہے۔ اردو اور سندھی tessdata پیکیجز انسٹال کریں (tessdata_fast ریپوزیٹری سے tesseract-ocr-urd، tesseract-ocr-snd، اس کے علاوہ سندھ حکومت کے دستاویز نمونوں کے خلاف جائزہ لی گئی ایک منتخب کردہ snd.traineddata)۔ LLM کو ٹیکسٹ دینے سے پہلے ایک پوسٹ OCR کلین اپ پاس (Whitespace نارمالائزیشن، Diacritic مرمت، ہندسی شکل کی نارمالائزیشن Western↔Arabic-Indic) لاگو کریں۔

3.3 ٹرانسکرپشن انجنز

انجن فراہم کنندہ طاقتیں UR/SD معیار لاگت رہائش تجویز کردہ استعمال
Zoom ٹرانسکرپشن Zoom API ہائبرڈ TRI میٹنگز کے ساتھ مربوط؛ اسپیکر لیبلز UR/SD متوازن پلان کے ساتھ شامل کلاؤڈ جب میٹنگ Zoom پر ہو ڈیفالٹ
Google Meet کیپشنز/ٹرانسکرپٹ Google Meet کے ساتھ مربوط؛ کم سیٹ اپ UR/SD متوازن پلان کے ساتھ شامل کلاؤڈ جب میٹنگ Meet پر ہو ڈیفالٹ
Whisper (large-v3) سیلف ہوسٹڈ اوپن، فائن ٹیون قابل، کوئی ایگریشن نہیں، مضبوط کوڈ سوئچنگ UR اچھی؛ فائن ٹیون کے بعد SD متوازن $ (کیپیکس، GPU) آن پریم آن پریم فال بیک؛ confidential/restricted آڈیو؛ آف لائن وائس نوٹس

انتخاب کی رہنمائی۔ جب میٹنگ اس فراہم کنندہ پر ہو اور ڈیٹا کلاس کلاؤڈ پروسیسنگ کی اجازت دے تو میٹنگ فراہم کنندہ کی پہلے سے موجود ٹرانسکرپشن استعمال کریں۔ restricted آڈیو کے لیے اور عالمی فال بیک کے طور پر آن پریم Whisper استعمال کریں۔ Whisper کو §10 میں گولڈن سیٹ کے خلاف جائزہ لی گئی سندھی مخصوص فائن ٹیون سے فائدہ ہوتا ہے۔

3.4 ترجمہ انجنز

طریقہ طاقتیں UR/SD معیار لاگت رہائش تجویز کردہ استعمال
LLM بیسڈ لغت انجیکشن کے ساتھ ایک انٹرفیس تینوں لوکیلز کو سنبھالتا ہے؛ کنٹیکسٹ اور لہجہ سنبھالتا ہے اچھی UR؛ لغت پرائمنگ کے بعد SD اچھی (خصوصاً Qwen) $$ (کلاؤڈ) / $ (آن پریم) کلاؤڈ یا آن پریم پیغامات، MoM، KB آرٹیکلز، مسودہ خطوط کے لیے ڈیفالٹ
وقفہ شدہ MT (مثلاً Google Translate API، DeepL) سستا، تیز، قابلِ پیش گوئی UR اچھی؛ SD کمزور $ کلاؤڈ انسانی جائزے کے لیے بڑے کارپورا کا بیچ پری ٹرانسلیشن

انتخاب کی رہنمائی۔ LLM بیسڈ ترجمہ ڈیفالٹ ہے کیونکہ یہ _glossary.md پابندیاں قبول کرتا ہے اور لہجے کے لحاظ سے مناسب سرکاری ٹیکسٹ پیدا کرتا ہے۔ سرکاری خطوط اور شہریوں کے سامنے والے قانونی ٹیکسٹ کے لیے انجن سے قطع نظر انسانی جائزہ ضروری ہے (§5.6)۔


4. 11 اے آئی صلاحیتیں

ہر صلاحیت اس کے ساتھ مخصوص کی گئی ہے: مقصد، ان پٹ، آؤٹ پٹ، انجن تجویز، پرامپٹ ٹیمپلیٹ (جہاں قابلِ اطلاق ہو)، انسان فیصلہ ساز چیک پوائنٹ، فال بیک، لاگت تخمینہ، اور کامیابی میٹرکس۔ ہر صلاحیت کا ایک مستحکم CapabilityId ہے جو ai_engine_configs اور فیچر فلیگز (§13) میں استعمال ہوتا ہے۔

# صلاحیت CapabilityId ماڈیول MoSCoW
1 OCR ocr E (AI)، D (FILE) Must
2 خلاصہ summary E (AI)، B (TKT) Must
3 آٹو روٹنگ / درجہ بندی routing E (AI)، B (TKT) Must
4 فوریّت / جذباتی حالت اسکورنگ urgency E (AI)، B (TKT) Should
5 مسودہ جواب کی تجاویز draft_reply E (AI)، B (TKT) Should
6 ترجمہ (EN/UR/سندھی) translation E (AI)، J (KB)، A (PUB) Must
7 نقل / مشابہت کی نشاندہی dedup E (AI)، B (TKT) Should
8 عوامی چیٹ بوٹ chatbot E (AI)، A (PUB)، J (KB) Must
9 PII حذف و ترمیم pii_redaction E (AI)، تمام Must
10 رجحانات / تجزیات trends E (AI)، I (ANL) Could
11 MoM ایکشن آئٹم نکالنا mom_extract E (AI)، M (MTG) Must

4.1 صلاحیت 1 — OCR

مقصد۔ سکینڈ نوٹسز، MoM تصاویر، آئی ڈی دستاویزات، اور کوئی بھی غیر ٹیکسٹ PDF/تصویر اپ لوڈ کو لے آؤٹ محفوظ رکھنے اور اعتماد اسکورز کے ساتھ ڈھانچے دار، زبان ٹیگ شدہ ٹیکسٹ میں ڈیجیٹائز کریں۔ آؤٹ پٹ سرچ انڈیکسنگ (Meilisearch)، MoM نکالنے (§4.11)، ترجمہ (§4.6)، اور فائلز پریویو کو کھلاتا ہے۔

ان پٹ۔ ایک MinIO آبجیکٹ کلید (پہلے ہی ClamAV کے ذریعے AV-scan شدہ /specs/ur/15-tech-architecture/ §9 کے مطابق)، درخواست شدہ زبانیں، ایک لے آؤٹ محفوظ رکھنے کا فلیگ، ایک اعتماد فرش (ڈیفالٹ 0.75)، اور مالک ریکارڈ کا حساسیت طبقہ۔

آؤٹ پٹ۔ سادہ ٹیکسٹ (پڑھنے کے ترتیب کے مطابق محفوظ)، ڈھانچے دار blocks (پیراگراف/ٹیبل/لائن bbox + فی بلاک اعتماد کے ساتھ)، کی گئی زبان، اوسط اعتماد، کم اعتماد اسپینز، ایک needsManualReview فلیگ، صفحہ شمار، استعمال شدہ انجن، لیٹنسی۔

انجن تجویز۔ public/internal کے لیے کلاؤڈ فرسٹ (Google Document AI → Azure Document Intelligence → Tesseract)؛ confidential/restricted کے لیے صرف Tesseract آن پریم۔ §3.2 دیکھیں۔

انسان فیصلہ ساز چیک پوائنٹ۔ جب needsManualReview سچ ہو، دستاویز ایک فی محکمہ OCR جائزہ قطار کی طرف بھیجی جاتی ہے۔ ایک جائزہ کارگزار اصل تصویر OCR ٹیکسٹ کے ساتھ ساتھ ساتھ دیکھتا ہے، ان لائن ترمیم کرتا ہے، اور تصدیق کرتا ہے۔ تصدیق شدہ ٹیکسٹ اے آئی ٹیکسٹ کی جگہ لیتا ہے اور سرچ انڈیکس میں human_verified=true کے طور پر پرچم دار ہوتا ہے۔

فال بیک۔ کلاؤڈ OCR دستیاب نہیں → اگلا کلاؤڈ OCR → Tesseract آن پریم۔ اگر تمام OCR ناکام ہوں، فائل اب بھی منسلک اور دکھائی دینے والی ہے؛ ایک پلیس ہولڈر نوٹ ("OCR زیرِ التواء — دستی اندراج دستیاب") دکھایا جاتا ہے اور ایک دوبارہ کوشش کی جاب شیڈول کی جاتی ہے۔

لاگت تخمینہ۔ کلاؤڈ OCR ~$0.05–$0.15 فی صفحہ (فراہم کنندہ پر منحصر)؛ Tesseract مؤثر طور پر مفت (کیپیکس)۔ فی کال بجٹ ai_engine_configs میں مقرر۔

کامیابی میٹرکس۔ گولڈن سیٹ کے بمقابلہ اوسط کریکٹر لیول درستگی (≥ 97% EN، ≥ 90% UR، ≥ 85% SD)؛ دستی جائزے کی ضرورت والے دستاویزات کا % (ہدف ≤ 15%)؛ 10 صفحہ دستاویز کے لیے OCR لیٹنسی P95 ≤ 8 s۔

{{templateId: ocr.cleanup.v2}}
{{locale: en}}
You are correcting OCR output for a {{domain}} document in {{detected_language}}.
The source is OCR which may introduce: broken ligatures, dropped diacritics,
Arabic-Indic digits mixed with Western digits, broken words across lines,
spurious whitespace, and table-cell bleed.

Rules:
1. Output the corrected text only — no commentary.
2. Preserve the original paragraph and table structure.
3. Normalize all digits to Western (0-9) unless the source is a date in
   Hijri format (preserve as-is and tag [HIJRI]).
4. Repair obvious ligature/diacritic errors using context; if a word is
   ambiguous, keep the OCR reading and append [?].
5. Do NOT invent content. If a span is illegible, output [ILLEGIBLE].
6. If the document is in Urdu or Sindhi, ensure right-to-left joining is
   preserved; do not reorder words.

Raw OCR:
"""
{{raw_ocr_text}}
"""

4.2 صلاحیت 2 — خلاصہ

مقصد۔ ایک ٹکٹ اور ہر اٹیچمنٹ کا ایک مختصر خلاصہ تیار کریں، لمبائی میں تشکیل قابل، کثیر لسانی، ماخذ اسپینز کی طرف حوالہ جات کے ساتھ۔ فرز بندی مناظر، ٹکٹ فہرستوں، RAG اسسٹنٹ (§6)، اور ڈائجسٹس میں استعمال ہوتا ہے۔

ان پٹ۔ ٹکٹ آئی ڈی (لوکیل کے ساتھ)، ٹکٹ باڈی + تمام پیغام ہسٹری + اٹیچمنٹ OCR ٹیکسٹ (PII حذف شدہ)، ایک ہدف لمبائی (short ≤ 60 الفاظ، medium ≤ 150، long ≤ 400)، اور ہدف لوکیل۔

آؤٹ پٹ۔ خلاصہ ٹیکسٹ + حوالہ جات اری + ڈھانچے دار keyPoints[] (≤ 5 بلٹس) + entities[] (محکمے، کمپنیاں، حوالہ شدہ قوانین)۔

انجن تجویز۔ public/internal کے لیے کلاؤڈ LLM (Azure OpenAI GPT-4o)؛ confidential/restricted کے لیے آن پریم Qwen 2.5۔ §3.1 دیکھیں۔

انسان فیصلہ ساز چیک پوائنٹ۔ خلاصے تجاویز کے طور پر پیش کیے جاتے ہیں؛ ایک افسر ترمیم، مسترد، یا پن کر سکتا ہے۔ پن شدہ خلاصے ٹکٹ ہیڈر میں ظاہر ہوتے ہیں۔ افسر کی منظوری کے بغیر کوئی خلاصہ کسی شہریوں کے سامنے والی سطح پر آٹو پبلیش نہیں ہوتا۔

فال بیک۔ کلاؤڈ LLM → آن پریم LLM → اگر دونوں ناکام ہوں، فال بیک "پریویو" کے طور پر ٹکٹ باڈی کے پہلے 400 کریکٹرز دکھائیں۔

لاگت تخمینہ۔ ~$0.002 فی خلاصہ (GPT-4o، ~1.5k ٹوکنز ان / 300 آؤٹ)۔

کامیابی میٹرکس۔ انسانی حوالہ کے بمقابلہ ROUGE-L ≥ 0.45 گولڈن سیٹ پر؛ حوالہ جاتی درستگی 100% (ہر حوالہ شدہ اسپین موجود ہونا چاہیے)؛ افسر "جیسا ہے تھا رکھا" شرح ≥ 60%۔

{{templateId: summary.ticket.v3}}
{{locale: {{target_locale}}}}
You are summarizing a Government of Sindh facilitation-desk ticket for an
officer. Be factual, neutral, and government-formal.

Inputs:
- Ticket title: {{title}}
- Filed by: {{requester_company}} ({{entity_type}})
- Against department: {{department}}
- History (newest last):
{{message_history_redacted}}
- Attachment excerpts (PII-redacted):
{{attachment_excerpts}}

Produce JSON matching this schema:
{
  "summary":   "string, {{length}} words or fewer, in {{target_locale}}",
  "keyPoints": ["string", "..."],     // up to 5, each ≤ 20 words
  "entities":  [{"type":"dept|company|statute|person", "name":"string"}],
  "citations": [{"type":"ticket|attachment", "id":"string", "span":[start,end]}]
}

Rules:
- Cite every factual claim with a citation whose span maps into the inputs above.
- Do NOT include CNIC, phone, email, or bank details even if present in inputs.
- Do NOT speculate. If status is unclear, say so.
- Translate the summary to {{target_locale}} using the approved glossary.

4.3 صلاحیت 3 — آٹو روٹنگ / درجہ بندی

مقصد۔ مفت ٹیکسٹ شکایت سے منزل محکمہ، سیکشن، اور زمرے کی پیش گوئی کریں، ایک اعتماد اسکور اور ٹاپ 3 تجاویز کے ساتھ۔ افسر تصدیق کرتا ہے؛ تصدیق شدہ یا درست شدہ پیش گوئیاں ایک فیڈبیک لوپ کو کھلاتی ہیں جو ماڈل کو بہتر کرتا ہے۔

ان پٹ۔ ٹکٹ عنوان + باڈی + درخواست کنندہ وجودیت قسم + لوکیل۔ (روٹنگ کے لیے کوئی PII ضروری نہیں — اسے پہلے حذف کیا جاتا ہے۔)

آؤٹ پٹ۔ ڈھانچے دار: top3: [{department, category, confidence, rationale}]، overallConfidence، needsHumanReview فلیگ (سچ اگر ٹاپ 1 اعتماد < 0.70)، اس کے علاوہ ایک rulesHit[] اری (LLM سے پہلے چلنے والا تعیناتی قواعد کی تہہ)۔

انجن تجویز۔ ہائبرڈ: پہلے تعیناتی رول تہہ (کلیدی لفظ/regex/معروف پیٹرنز ٹیبل جسے S&ITD ایڈمن برقرار رکھتے ہیں) → صرف مبہم معاملات کے لیے LLM۔ public/internal کے لیے کلاؤڈ LLM؛ restricted کے لیے آن پریم۔

انسان فیصلہ ساز چیک پوائنٹ۔ ایک فرز بندی افسر ٹاپ 3 تجاویز دیکھتا ہے اور تصدیق یا تجاوز کرتا ہے۔ ہر تجاوز ai_feedback میں لاگ ہوتا ہے اور رول تہہ کو دوبارہ تربیت دینے اور ایک فائن ٹیوننگ کارپس بنانے (مرحلہ 2) کے لیے استعمال ہوتا ہے۔

فال بیک۔ اگر LLM دستیاب نہ ہو، رول تہہ تنہا تجاویز پیدا کرتی ہے؛ اگر رول تہہ بھی خالی ہو، ٹکٹ ڈیفالٹ S&ITD فرز بندی قطار میں تبدیلی کے بغیر بھیجا جاتا ہے۔

لاگت تخمینہ۔ ~$0.0005 فی درجہ بندی (GPT-4o-mini، مختصر پرامپٹ)۔

کامیابی میٹرکس۔ ٹاپ 1 درستگی ≥ 75%؛ ٹاپ 3 درستگی ≥ 92%؛ افسر تجاوز شرح ≤ 25%؛ درمیانی لیٹنسی ≤ 1.5 s۔

{{templateId: routing.classify.v2}}
{{locale: {{source_locale}}}}
You are a routing assistant for the Sindh IT Portal. Classify the complaint
into exactly one department and one category from the provided catalogs.

Departments (code → name):
{{department_catalog}}

Categories (code → name, scoped to department):
{{category_catalog}}

Complaint (PII-redacted):
Title: {{title}}
Body: {{body_redacted}}
Requester entity type: {{entity_type}}

Produce JSON:
{
  "top3": [
    {"department":"<code>","category":"<code>","confidence":0.0,
     "rationale":"≤ 25 words"}
  ],
  "overallConfidence": 0.0,
  "needsHumanReview": true,
  "signals": ["keyword matched: ...", "..."]
}

Rules:
- Confidence values are in [0,1] and must sum to ~1 across top3.
- Use ONLY departments and categories from the catalogs. Never invent codes.
- Rationale must reference specific words from the complaint.
- If the complaint is out of scope (not a GoS department matter), set
  department = "OUT_OF_SCOPE" and confidence high.

4.4 صلاحیت 4 — فوریّت / جذباتی حالت اسکورنگ

مقصد۔ ایک ترجیح (Low / Medium / High / Critical) اور فلیگز (vip، urgent، legal_deadline، media_attention) ایک بنیاد کے ساتھ تجویز کریں۔ فرز بندی ترتیب اور SLA ٹک ویٹنگ چلانے والا ہے۔

ان پٹ۔ ٹکٹ باڈی + درخواست کنندہ کنٹیکسٹ (کیا کمپنی PSEB رجسٹرڈ / بڑا آجر ہے؟ — صرف بولین، کوئی PII نہیں) + کوئی واضح ذکر شدہ آخری تاریخیں۔

آؤٹ پٹ۔ { priority, vipFlag, urgentFlag, sentimentScore (-1..1), rationale, signals[] }۔

انجن تجویز۔ زیادہ حجم پر لاگت کے لیے آن پریم Llama 3.1 70B یا Qwen 2.5؛ نادر needsHumanReview معاملات کے لیے کلاؤڈ۔ پہلے تعیناتی قواعد (RTI، قانونی آخری期限 جملوں، VIP نام فہرست کے لیے regex)۔

انسان فیصلہ ساز چیک پوائنٹ۔ تجویز فرز بندی افسر کو دکھائی جاتی ہے جو حتمی ترجیح مقرر کرتا ہے۔ تبدیلیاں ai_feedback کو کھلاتی ہیں۔

فال بیک۔ LLM دستیاب نہ ہونے پر صرف قواعد پر مبنی ترجیح؛ قواعد خالی ہوں تو ڈیفالٹ Medium۔

لاگت تخمینہ۔ ~$0.0002 فی کال (آن پریم ~0 تک amortize)۔

کامیابی میٹرکس۔ افسر کے ساتھ ترجیح متفقہ ≥ 80%؛ VIP یادداشت ≥ 95% (جھوٹے منفی مہنگے ہوتے ہیں)؛ CSAT کے ساتھ جذباتی حالت ارتباط ≥ 0.5۔

{{templateId: urgency.score.v2}}
{{locale: {{source_locale}}}}
Assess the urgency of this facilitation-desk ticket.

Ticket (PII-redacted):
{{body_redacted}}

Requester context (no PII):
- PSEB-registered: {{pseb_registered}}
- Employee-band: {{employee_band}}   // small | medium | large
- Explicit deadline mentioned: {{deadline_extracted}}

Produce JSON:
{
  "priority": "Low|Medium|High|Critical",
  "vipFlag": false,
  "urgentFlag": false,
  "legalDeadlineFlag": false,
  "mediaAttentionFlag": false,
  "sentimentScore": 0.0,   // -1 (very negative) .. 1 (very positive)
  "rationale": "≤ 30 words",
  "signals": ["..."]
}

Rules:
- "Critical" implies action today and is reserved for: legal/statutory
  deadlines within 48h, VIP requesters, or safety-of-life language.
- VIP list is provided server-side; do not infer VIP from names alone.
- Never mark Critical based on sentiment alone.

4.5 صلاحیت 5 — مسودہ جواب تجاویز

مقصد۔ درخواست کنندہ کی ترجیحی لوکیل میں، درست لہجے میں، بھیجنے سے پہلے قابلِ ترمیم، کنٹیکسٹ آگاہ افسر جواب کے مسودے تیار کریں۔ افسر ٹائپنگ کم کرتا ہے اور ایک مستقل، باوقار سرکاری انداز نافذ کرتا ہے۔

ان پٹ۔ ٹکٹ آئی ڈی، لوکیل، تازہ ترین آنے والا پیغام، ٹکٹ ہسٹری (حذف شدہ)، RAG تہہ (§6) کے ذریعے بازیافت شدہ متعلقہ KB/SOP اقتباسات، اور ایک لہجہ اشارہ (informational، apologetic، directive، closure

آؤٹ پٹ۔ 3 تک متبادل مسودے، ہر ایک { body, tone, citations[] }۔

انجن تجویز۔ کلاؤڈ LLM (Azure OpenAI GPT-4o) بنیادی؛ آن پریم Qwen فال بیک۔

انسان فیصلہ ساز چیک پوائنٹ۔ مسودے کبھی آٹو بھیجے نہیں جاتے۔ افسر ایک منتخب کرتا ہے، ترمیم کرتا ہے، اور بھیجتا ہے۔ حتمی بھیجا گیا پیغام محفوظ ہوتا ہے؛ مسودے اور حتمی کے درمیان ڈف بہتری کے لوپ کو کھالتا ہے۔

فال بیک۔ اگر LLM دستیاب نہ ہو، ایک منتخب کردہ ٹیمپلیٹ لائبریری (فی زمرہ) دکھائیں جس سے افسر دستی طور پر چن سکے۔

لاگت تخمینہ۔ ~$0.003 فی مسودہ سیٹ۔

کامیابی میٹرکس۔ مسودہ قبول (≤ 20% ترمیم کے ساتھ بھیجا) ≥ 50%؛ اے/بی میں افسر پہلے جواب کا وقت کم ہونا ≥ 30%؛ لہجہ تعمیل (جائزہ کارگزار درجہ بند) ≥ 90%۔

{{templateId: draft_reply.v3}}
{{locale: {{target_locale}}}}
You are drafting a reply for an officer of the Sindh IT Portal facilitation
desk to a company representative. Write in {{target_locale}}.

Context (PII-redacted):
- Ticket: {{ticket_ref}} ({{department}})
- Latest message from requester: {{latest_message_redacted}}
- History summary: {{history_summary}}
- Applicable SOP/KB (retrieved):
{{retrieved_context_with_ids}}
- Tone hint: {{tone_hint}}

Produce JSON:
{
  "drafts": [
    {"body":"string in {{target_locale}}, 80-200 words",
     "tone":"informational|apologetic|directive|closure",
     "citations":[{"type":"kb|sop|ticket","id":"string"}]}
  ]
}

Rules:
- Address the requester respectfully per {{target_locale}} convention.
- State the next concrete step and a realistic timeframe.
- Cite the SOP/KB used; never invent policy or commit to actions outside SOP.
- Do NOT include any PII not already in {{latest_message_redacted}}.
- Offer 2-3 variants differing in tone or length, not in substance.
- Close with the standard sign-off block (added by the caller, not the model).

4.6 صلاحیت 6 — ترجمہ (EN ↔ UR ↔ سندھی)

مقصد۔ پیغامات، MoM، KB آرٹیکلز، سرکولرز، اور سرکاری خطوط کا EN/UR/سندھی کے درمیان لغت پابندیوں اور ہدف سامعین کے مناسب لہجے کے ساتھ ترجمہ کریں۔ شہریوں کے سامنے والے اور سرکاری قانونی آؤٹ پٹس ہمیشہ انسانی جائزے سے گزرتے ہیں۔

ان پٹ۔ ماخذ ٹیکسٹ (حذف شدہ)، ماخذ لوکیل (یا auto)، ہدف لوکیل، ڈومین (general | legal | technical | official-letter)، لغت آئی ڈی۔

آؤٹ پٹ۔ { translated, detectedSourceLocale, glossaryHits[], confidence }۔

انجن تجویز۔ public/internal کے لیے لغت انجیکشن کے ساتھ کلاؤڈ LLM؛ confidential/restricted کے لیے آن پریم Qwen 2.5 (بہترین SD)۔

انسان فیصلہ ساز چیک پوائنٹ۔ ان کے لیے ضروری: سرکاری خطوط (ماڈیول L)، شہریوں کے سامنے والا قانونی ٹیکسٹ، RTI زمرے کے جوابات، اور کوئی بھی official-letter ڈومین والا ٹیکسٹ۔ اندرونی پیغامات کے لیے آپشنل۔

فال بیک۔ وقفہ شدہ MT API → آن پریم LLM → اگر تمام ناکام ہوں، اصل زبان کا ٹیکسٹ ایک بینر "ترجمہ دستیاب نہیں" کے ساتھ دکھایا جاتا ہے۔

لاگت تخمینہ۔ ~$0.001–$0.005 فی صفحہ انجن پر منحصر۔

کامیابی میٹرکس۔ گولڈن سیٹ کے بمقابلہ COMET یا BLEU: EN↔UR ≥ 0.40 BLEU؛ UR↔SD ≥ 0.35 BLEU؛ لغت اصطلاح پابندی 100%؛ انسانی جائزہ کارگزار قبولیت ≥ 80%۔

{{templateId: translation.glossary.v2}}
{{locale: {{target_locale}}}}
Translate the following {{source_locale}} text into {{target_locale}}.

Domain: {{domain}}
Use ONLY these approved term mappings (do not paraphrase the left column):
{{glossary_pairs}}

Text (PII-redacted):
"""
{{source_text}}
"""

Rules:
- Preserve paragraph breaks, list markers, and table structure.
- Preserve all numbers, dates, ticket IDs, and URLs verbatim.
- Preserve [BRACKETED_PLACEHOLDERS] verbatim — they are template tokens.
- If a term is ambiguous, choose the glossary mapping; if no mapping,
  keep the source term in parentheses after the translation on first use.
- For domain=official-letter, use formal government register and the
  approved salutation/valediction for {{target_locale}}.
- Output the translation only, no commentary.

4.7 صلاحیت 7 — نقل / مشابہت کی نشاندہی

مقصد۔ نقل یا انتہائی مشابہ ٹکٹس کی نشاندہی کریں (اسی کمپنی کا دوبارہ داخل کرنا، یا ایک ہی مسئلے سے متاثر متعدد کمپنیاں)، ضم کرنے کی تجاویز دیں، اور متعلقہ ٹکٹس افسر کے سامنے لائیں۔

ان پٹ۔ ایک نئے ٹکٹ کا عنوان + باڈی (حذف شدہ)، یا کسی موجودہ ٹکٹ پر واضح "مشابہ تلاش کریں" استفسار۔ اختیاری طور پر کمپنی، محکمے، یا وقت ونڈو کے لحاظ سے سکوپڈ۔

آؤٹ پٹ۔ candidates: [{ ticketId, score, reason }] اسکور کے مطابق ترتیب شدہ، جب اسکور ≥ threshold ہو اور اسی درخواست کنندہ/وجودیت شامل ہو mergeSuggested فلیگ کے ساتھ۔

انجن تجویز۔ ایمبیڈنگز ہمیشہ آن پریم رہتی ہیں۔ آن پریم ایمبیڈنگ ماڈل کے ساتھ ایمبیڈنگز تیار کریں؛ مشابہت سرچ Meilisearch میں چلتی ہے (جو کثیر لسانی انڈیکس کے ساتھ ساتھ ویکٹر سرچ کی حمایت کرتا ہے)۔ خفیہ/VIP ٹکٹس کے لیے، ایمبیڈنگز کمپیوٹ توڑ کی جاتی ہیں لیکن صرف اسی خفیہ یتقطع حلقے کے اندر ملائی جاتی ہیں۔

انسان فیصلہ ساز چیک پوائنٹ۔ ضم ہمیشہ ایک وجہ کے ساتھ افسر کا واضح عمل ہے۔ نظام کبھی آٹو ضم نہیں کرتا۔

فال بیک۔ اگر ایمبیڈنگز دستیاب نہ ہوں، عنوانات پر Meilisearch لیکسیکل مشابہت (BM25 نما) پر فال بیک کریں۔

لاگت تخمینہ۔ قابلِ تخطیہ (آن پریم ایمبیڈنگز amortize)۔

کامیابی میٹرکس۔ گولڈن نقل سیٹ پر Precision@10 ≥ 0.6؛ حقیقی نقل کی یادداشت ≥ 0.85؛ جھوٹی ضم تجویز شرح ≤ 5%۔

{{templateId: dedup.explain.v1}}
{{locale: {{source_locale}}}}
You are explaining why two tickets may be duplicates, to help an officer
decide whether to merge. Both ticket texts below are PII-redacted.

Ticket A ({{ticket_a_ref}}):
{{ticket_a_redacted}}

Ticket B ({{ticket_b_ref}}):
{{ticket_b_redacted}}

Cosine similarity of embeddings: {{similarity_score}}

Produce JSON:
{
  "areDuplicates": true|false,
  "confidence": 0.0,
  "sharedAspects": ["...", "..."],   // concrete shared facts
  "differences":   ["...", "..."],
  "mergeSuggested": true|false,
  "rationale": "≤ 40 words"
}

Rules:
- Two tickets are duplicates only if they describe the SAME underlying issue
  from the SAME requester (or a verifiable proxy). Similar topic ≠ duplicate.
- Never suggest merging across different companies unless evidence is strong.

4.8 صلاحیت 8 — عوامی چیٹ بوٹ

مقصد۔ پورٹل پر ایک عوامیوں کے سامنے والا اسسٹنٹ جو FAQ کا جواب دیتا ہے، داخل کرنے میں مدد کرتا ہے، اور ٹکٹ حالت تلاش کرتا ہے۔ عوامی نالج بیس (KB) پر Retrieval-Augmented Generation (RAG)؛ سخت سکوپ؛ مکمل کنٹیکسٹ کے ساتھ انسانی ہینڈ آف۔

ان پٹ۔ صارف پیغام (مفت ٹیکسٹ، کوئی بھی لوکیل)، سیشن آئی ڈی، اختیاری ticketRef حالت تلاش کے لیے (صرف اگر صارف ٹکٹ کے مالک کے طور پر تصدیق شدہ ہو)، لوکیل۔

آؤٹ پٹ۔ { answer, citations[], suggestedActions[], handoff: bool }۔ جوابات KB آرٹیکلز کو آئی ڈی اور عنوان کے حساب سے حوالہ دیتے ہیں۔

انجن تجویز۔ معیار کے لیے کلاؤڈ LLM (Azure OpenAI GPT-4o)؛ ریٹریول انڈیکس صرف عوامی KB مواد ہے (کوئی ٹکٹ باڈیز نہیں، کوئی PII نہیں)۔

انسان فیصلہ ساز چیک پوائنٹ۔ بوٹ کبھی ٹکٹ آٹو نہیں داخل، تبدیل، یا بند کرتا۔ ایک "سہولت کار سے بات کریں" ہینڈ آف گفتگو ٹرانسکرپٹ + حوالہ شدہ آرٹیکلز پیکیج کرتا ہے اور ایک انسان کے لیے ٹکٹ سکوپڈ تھریڈ بناتا ہے۔

فال بیک۔ اگر LLM ڈاؤن ہو، بوٹ KB پر خالص کلیدی لفظ سرچ پر آرٹیکل لنکس کے ساتھ کم ہو جاتا ہے۔

لاگت تخمینہ۔ ~$0.005 فی گفتگو (اوسط 4 موڑ)۔

کامیابی میٹرکس۔ انحراف شرح (انسانی ہینڈ آف کے بغیر حل) ≥ 40%؛ حوالہ جاتی درستگی 100%؛ حفاظتی نقاب خلاف ورزی شرح = 0؛ بوٹ جوابات پر CSAT ≥ 4/5۔

حفاظتی نقاب۔ سسٹم پرامپٹ نافذ کرتا ہے: صرف بازیافت شدہ KB سے جواب دیں؛ کبھی PII قبول یا محفوظ نہ کریں (اگر صارف CNIC/فون ٹائپ کرے، بوٹ انکار کرتا ہے اور تصدیق شدہ ٹکٹ حالت پیج کی طرف اشارہ کرتا ہے)؛ کبھی سیاست، مذہب، یا زیرِ التواء مقدمے پر رائے نہ دیں؛ شائع شدہ SLA سے باہر کبھی آخری期限 کا وعدہ نہ کریں؛ ہمیشہ انسانی ہینڈ آف پیش کریں۔

{{templateId: chatbot.public.v3}}
{{locale: {{user_locale}}}}
You are the Sindh IT Portal public assistant. You help IT companies and
citizens with the Sindh IT Portal — Facilitation Desk.

Retrieved Knowledge Base context (cite these by id):
{{retrieved_kb_chunks}}

Conversation so far:
{{conversation}}

User's latest message:
{{user_message}}

Produce JSON:
{
  "answer": "string in {{user_locale}}, ≤ 150 words",
  "citations": [{"type":"kb","id":"...","title":"..."}],
  "suggestedActions": [{"label":"...","action":"file|track|handoff|kb:read"}],
  "handoff": false
}

Hard rules:
- Answer ONLY using the retrieved KB context. If the answer is not there,
  say you don't know and suggest handoff.
- NEVER accept or repeat PII (CNIC, phone, email, bank). If the user sends
  any, warn them and do not store it.
- NEVER give legal advice or predict outcomes of specific cases.
- NEVER quote SLA numbers not present in the KB.
- Always offer handoff to a human facilitator as a suggested action.
- Keep answers concise and actionable.

4.9 صلاحیت 9 — PII حذف و ترمیم

مقصد۔ ذاتی شناختی معلومات (CNIC، فون، ای میل، مالی) کو کسی بھی کلاؤڈ انجن کال سے پہلے تلاش اور چھپائیں۔ صرف اندرونی طور پر مختصر TTL PII والٹ کے ذریعے قابلِ تبدیبی۔ یہ بنیادی صلاحیت ہے — ہر دوسری صلاحیت اس پر منحصر ہے۔ تفصیلی پائپ لائن §7 میں۔

ان پٹ۔ مفت ٹیکسٹ (یا دستاویز باڈی) حساسیت طبقے اور منزل رہائش (کلاؤڈ بمقابلہ آن پریم) کے ساتھ۔

آؤٹ پٹ۔ { redactedText, mappings: [{token, type, originalRef}], redactionCount }۔ originalRef خفیہ کردہ ai_pii_vault میں ایک مبہم ہینڈل ہے؛ خام ویلیوز کبھی اے آئی سروس نہیں چھوڑتے۔

انجن تجویز۔ ہمیشہ آن پریم۔ Regex + منتخب کردہ گزٹیئر + ایک چھوٹا آن پریم NER ماڈل (مثلاً ایک فائن ٹیون شدہ XLM-R یا اردو/سندھی توسیعات کے ساتھ spaCy پائپ لائن)۔ یہ صلاحیت کبھی کلاؤڈ انجن کو کال نہیں کرتی۔

انسان فیصلہ ساز چیک پوائنٹ۔ رن ٹائم پر کوئی نہیں (مکمل طور پر خودکار ہونا چاہیے)۔ ڈیٹا حکمرانی جائزہ کارگزار کے ذریعے درستگی/یادداشت آڈٹ کے لیے وقفہً وقفہً نمونہ لیا جاتا ہے (§10)۔

فال بیک۔ اگر NER ماڈل دستیاب نہ ہو، صرف regex حذف و ترمیم اب بھی چلتی ہے۔ اگر regex بھی ڈاؤن ہو، کال بند ناکامی ہے: پے لوڈ کے لیے کوئی کلاؤڈ انجن بلایا نہیں جاتا؛ آن پریم انجنز جاری رہتے ہیں۔

لاگت تخمینہ۔ قابلِ تخطیہ (آن پریم، صرف CPU)۔

کامیابی میٹرکس۔ CNIC (13 ہندسی) کے لیے یادداشت ≥ 0.99، فون/ای میل کے لیے ≥ 0.97، بینک/IBAN کے لیے ≥ 0.95؛ درستگی ≥ 0.98 (جھوٹی حذف و ترمیم پڑھنا توڑ دیتی ہے، اس لیے درستگی اہم ہے)؛ صفر خام PII ایگریشن واقعات (ایک ڈاؤن سٹریم کینری کے ذریعے نگرانی)۔

{{templateId: pii_redact.rules.v1}}
{{locale: auto}}
PII redaction is rule-and-model based, not LLM-based, to guarantee determinism.
This template documents the rule set the redaction service applies.

Entity patterns (regex, applied with Unicode case-folding):
- CNIC:            ^\d{5}-\d{7}-\d$   (and un-dashed variant)
- Phone PK:        ^(\+92|0)?3\d{2}[-\s]?\d{7}$
- Email:           RFC-5322 simplified
- IBAN PK:         ^PK\d{2}[A-Z0-9]{24}$
- Bank account:    \b\d{10,18}\b within 2 tokens of {account|a/c|bank}
- Credit card:     Luhn-valid 13-19 digit
- Vehicle reg:     3-letter city code + digit patterns (Sindh plates)

Masking format: [{{TYPE}}_{{seq}}]   e.g. [CNIC_1], [PHONE_2], [EMAIL_1]

Behaviour:
- Each distinct raw value gets a unique token within the request scope.
- The mapping {token → raw} is written to ai_pii_vault (encrypted, TTL=10 min).
- For on-prem engines, the mapping is retained in memory for re-hydration.
- For cloud engines, the mapping NEVER leaves the AI service boundary.
- Aggressive mode (sensitivity=restricted): also mask named persons not on
  the public-officials allow-list.

4.10 صلاحیت 10 — رجحانات / تجزیات

مقصد۔ غیر واضح پیٹرنز کو سامنے لائیں: موضوع کلسٹرز، بے ضابطگی (کسی زمرے میں اچانک اضافہ)، SLA خلاف ورزی پیش گوئی کار، اور پالیسی بصیرتیں۔ ان پٹس مجموعی/گمنام ہیں؛ خام ٹکٹ باڈیز کبھی کلاؤڈ LLM کو نہیں بھیجی جاتیں۔

ان پٹ۔ تجزیات ماڈیول (ماڈیول I) کے ذریعے تیار کردہ پہلے سے مجموعی ٹائم سیریز اور موضوع رول اپس — محکمے، زمرے، ضلع، SLA حیثیت، جذباتی حالت بکٹ کے لحاظ سے شمار۔ اختیاری طور پر گمنام نمونہ عنوانات (PII حذف شدہ، کمپنی نام بینڈ تک عام)۔

آؤٹ پٹ۔ { insights: [{ finding, evidence, severity, suggestedAction }], topicClusters[], anomalies[] }۔

انجن تجویز۔ صرف مجموعی پر کلاؤڈ LLM؛ کلاسیکی ML (پیش گوئی کے لیے Prophet/STL، بے ضابطگی کے لیے Isolation Forest) خام مجموعی پر آن پریم چلتا ہے۔

انسان فیصلہ ساز چیک پوائنٹ۔ بصیرتیں S&ITD تجزیات جائزہ کارگزار اور سیکریٹری بریفنگ پائپ لائن (§6) کو پیش کی جاتی ہیں۔ کوئی بصیرت آٹو کارروائی شروع نہیں کرتی۔

فال بیک۔ صرف کلاسیکی ML؛ LLM بیانیہ چھوڑ دیا جاتا ہے۔

لاگت تخمینہ۔ ~$0.01 فی ہفتہ وار بصیرتیں رن (کم تعداد)۔

کامیابی میٹرکس۔ جائزہ کارگزاروں کے ذریعہ بصیرت متعلقہ درجہ بندی ≥ 4/5؛ لیبل شدہ واقعات کے بمقابلہ بے ضابطگی نشاندہی F1 ≥ 0.7؛ 48 ghorizon پر SLA خلاف ورزی پیش گوئی AUC ≥ 0.8۔

{{templateId: trends.insights.v2}}
{{locale: en}}
You are analyzing aggregated, anonymized facilitation-desk metrics to produce
insights for S&ITD leadership. Input is AGGREGATES ONLY — no individual PII.

Aggregates (last {{window}}):
{{aggregates_json}}

Optional anonymized title samples (already PII-redacted):
{{anonymized_titles}}

Produce JSON:
{
  "insights": [
    {"finding":"≤ 30 words",
     "evidence":"reference to specific aggregate value",
     "severity":"info|watch|alert",
     "suggestedAction":"≤ 25 words"}
  ],
  "topicClusters": [{"label":"...","ticketCount":0,"trend":"up|down|flat"}],
  "anomalies":     [{"metric":"...","expected":0,"observed":0,"note":"..."}]
}

Rules:
- Cite the specific aggregate number that supports each finding.
- Do NOT name companies or individuals; refer to bands/sectors.
- Distinguish correlation from causation explicitly.
- suggestedAction must be within S&ITD's mandate (policy, escalation, SOP).

4.11 صلاحیت 11 — MoM ایکشن آئٹم نکالنا

مقصد۔ ایک اپ لوڈ کردہ اجلاس کی روداد (PDF/Word/تصاویر — سکینڈ ہونے پر پہلے OCR شدہ) سے ڈھانچے دار ایکشن آئٹمز (مالک، آخری تاریخ، فیصلہ، ترجیح) نکالیں، ایک خلاصہ تیار کریں، اور افسر کو ایکشن آئٹمز کے ذیلی ٹاسک بننے سے پہلے تصدیق کرنے دیں۔ یہ _context.md §5 میں MoM اپ لوڈ فرسٹ فیصلے کو نافذ کرتا ہے۔

ان پٹ۔ MoM فائل آبجیکٹ کلید (ضرورت ہونے پر صلاحیت 1 کے ذریعے پہلے ہی OCR شدہ)، میٹنگ میٹا ڈیٹا (تاریخ، شرکاء، سہ فریقی دھریں)، دستاویز کا/کے لوکیل۔

آؤٹ پٹ۔ { summary, decisions[], actionItems: [{ owner, ownerType, dueDate, description, priority, linkedTicket }], rawTextRef }۔ تاریخیں ISO-8601 میں پارس کی جاتی ہیں؛ ہجری تاریخیں محفوظ اور ٹیگ شدہ۔

انجن تجویز۔ public/internal کے لیے OCR + حذف و ترمیم کے بعد کلاؤڈ LLM (GPT-4o، طویل کنٹیکسٹ)؛ restricted کے لیے آن پریم Qwen 2.5 72B (کچھ MoMs خفیہ/VIP ہیں)۔

انسان فیصلہ ساز چیک پوائنٹ۔ لازمی۔ افسر ساتھ ساتھ ایڈیٹر (خام MoM ٹیکسٹ ↔ نکالا ہوا ٹیبل) میں نکالے گئے ایکشن آئٹمز کا جائزہ لیتا ہے، مالکان/تاریخوں/تفصیل کو درست کرتا ہے، جھوٹے مثبت کو ہٹاتا ہے، اور تصدیق کرتا ہے۔ تصدیق شدہ آئٹمز ٹکٹ ذیلی ٹاسک بن جاتے ہیں؛ تصدیق آڈٹ لاگ ہوتی ہے۔ حساس/VIP ٹکٹس کے لیے، پبلشنگ سے پہلے موجودہ چیئر/DG منظوری گیٹ (دیکھیں /specs/ur/21-mom-meetings/) اب بھی لاگو ہوتا ہے۔

فال بیک۔ اگر نکالنا ناکام ہو، خام OCR ٹیکسٹ دکھایا جاتا ہے اور افسر ایکشن آئٹمز دستی داخل کرتا ہے۔

لاگت تخمینہ۔ ~$0.01 فی MoM (GPT-4o، ~6k ٹوکنز ان)۔

کامیابی میٹرکس۔ ایکشن آئٹم درستگی ≥ 0.85؛ یادداشت ≥ 0.80؛ تاریخ پارس درستگی ≥ 0.90؛ افسر درمیانی ترمیم وقت ≤ 5 منٹ فی MoM۔

{{templateId: mom.extract.v3}}
{{locale: {{source_locale}}}}
You are extracting structured action items from a Minutes of Meeting (MoM)
of a tripartite review (Company + S&ITD + Department) on the Sindh IT Portal.

MoM text (OCR'd, PII-redacted):
{{mom_text}}

Meeting metadata:
- Date: {{meeting_date}}  (Hijri: {{meeting_date_hijri}})
- Parties: Company ({{company_band}}), S&ITD facilitator, {{department}}
- Linked ticket: {{ticket_ref}}

Produce JSON:
{
  "summary": "≤ 120 words in {{source_locale}}",
  "decisions": [
    {"text":"...","decidingParty":"company|sitd|dept|joint"}
  ],
  "actionItems": [
    {
      "owner":"name or role",
      "ownerType":"company|sitd|dept|external",
      "dueDate":"ISO-8601 or null",
      "dueDateHijri":"string or null",
      "description":"≤ 40 words",
      "priority":"Low|Medium|High",
      "linkedTicket":"{{ticket_ref}} or null"
    }
  ]
}

Rules:
- Extract ONLY explicit action items (verbs of commitment: will, shall, to
  complete, assigned to). Do NOT infer items from general discussion.
- If an owner is ambiguous, set ownerType and leave owner = "UNASSIGNED".
- If a due date is missing or relative ("within two weeks"), compute from
  {{meeting_date}} and tag the field dueDateInferred=true.
- Preserve Hijri dates alongside Gregorian; never silently convert.
- Link each action item to {{ticket_ref}} unless it clearly belongs elsewhere.
- Do not invent decisions; if none are explicit, return an empty decisions[].

5. درجہ بند اے آئی اسسٹنٹ (RAG)

پورٹل ایک اے آئی اسسٹنٹ کے تین درجے فراہم کرتا ہے — ایک Retrieval-Augmented-Generation (RAG) اسسٹنٹ جو کردار کے لحاظ سے سکوپڈ ہے۔ تینوں ایک ریٹریول بیک اینڈ اور ایک انجن تجرید شیئر کرتے ہیں؛ وہ کارپس، پرامپٹ، اور UI سہولیات میں مختلف ہیں۔

5.1 درجہ میٹرکس

درجہ کردار بنیادی سطح کارپس (ریٹریول سکوپ) نمائندہ استفسارات
اسٹاف اسسٹنٹ تفویض شدہ افسر / فرز بندی / سہولت کار ٹکٹ تفصیل پیج موجودہ ٹکٹ (ہسٹری + اپ لوڈز + MoM)، محکمے کے SOPs، متعلقہ KB "SRB واپسی شکایات کے لیے SOP کیا ہے؟"، "کمپنی نے اب تک کیا فراہم کیا ہے اس کا خلاصہ کریں"، "مزید معلومات کے لیے ایک درخواست کا مسودہ تیار کریں"
DG اسسٹنٹ ڈائریکٹر جنرل (نگرانی) DG ڈیش بورڈ ان کے محکموں میں SLA/خطرہ رول اپس، خطرے میں ٹکٹس کے خلاصے، اسکیلیشن ہسٹری "کون سے ٹکٹس اس ہفتے SLA خلاف ورزی کریں گے؟"، "مجھے لیبر محکمے میں دو بار اسکیلیٹ شدہ ٹکٹس دکھائیں"
سیکریٹری اسسٹنٹ سیکریٹری S&ITD / محکمہ سیکریٹری سیکریٹری بریفنگ منظر مجموعی، عہدیداروں، پالیسیوں، اور MoMs پر پورٹ فولیو لیول قدرتی زبان کے استفسارات "اس سہ ماہی میں آئی ٹی سیکٹر پچھلے بمقابلہ کیسا کر رہا ہے؟"، "ٹاپ 5 نظامی مسائل پر مجھے بریف کریں"

5.2 RAG آرکیٹیکچر

ریٹریول بیک اینڈ کثیر لسانی لیکسیکل سرچ کے لیے Meilisearch ہے اس کے علاوہ سیمینٹک مشابہت کے لیے ایک ویکٹر انڈیکس (Meilisearch ہائبرڈ سرچ کی حمایت کرتا ہے؛ اے آئی سروس میں ایک بیرونی ایمبیڈنگ اسٹور دوبارہ انڈیکسنگ کے لیے مستند ویکٹرز رکھتا ہے)۔ کوئی pgvector استعمال نہیں ہوتا؛ ریکارڈ کا نظام MariaDB ہے اور ویکٹر سرچ Meilisearch/اے آئی سروس کو سونپی گئی ہے۔

flowchart LR Q["User question<br/>(locale + role + scope)"] EMB["Embed query<br/>(on-prem embedding model)"] RET["Hybrid retrieval<br/>Meilisearch (lexical + vector)<br/>scoped by RBAC + ABAC"] RER["Rerank top-K<br/>(cross-encoder or LLM rerank)"] ASM["Prompt assembly<br/>(system + retrieved chunks + question)"] LLM["LLM<br/>(cloud or on-prem by sensitivity)"] CIT["Citation binding<br/>(map output spans → source ids)"] POST["Post-guardrails<br/>(no PII leak · scope check · policy)"] A["Answer + citations<br/>to caller"] Q --> EMB --> RET --> RER --> ASM --> LLM --> CIT --> POST --> A

تحریری وضاحت۔ صارف کا سوال ایک آن پریم ایمبیڈنگ ماڈل کے ذریعے ایمبیڈ کیا جاتا ہے (ایمبیڈنگز کبھی حد نہیں چھوڑتیں)۔ Meilisearch پر ایک ہائبرڈ ریٹریول لیکسیکل (کثیر لسانی ٹوکنائزیشن، اردو/سندھی کے لیے اچھی) اور ویکٹر مشابہت کو ملاتی ہے، صارف کے RBAC + ABAC کے لحاظ سے سکوپڈ تاکہ ایک اسٹاف افسر کسی دوسرے محکمے کے خفیہ ٹکٹس میں ریٹریو نہ کر سکے اور DG اپنے پورٹ فولیو سے باہر ٹکٹ باڈیز نہ دیکھ سکے۔ ٹاپ K چنکس کو دوبارہ درجہ بند کیا جاتا ہے (کراس انکوڈر یا LLM ریرینک) تاکہ درستگی بہتر ہو۔ پرامپٹ ایک درجہ مخصوص سسٹم پرامپٹ، بازیافت شدہ چنکس (ہر ایک اپنا ماخذ آئی ڈی لے کر: ٹکٹ، اٹیچمنٹ، KB، MoM، comms)، اور سوال سے اسمبل کیا جاتا ہے۔ LLM جواب تیار کرتا ہے؛ حوالہ جاتی بائنڈر دعووں کو اسپن کے ذریعے ماخذ آئی ڈیز کی طرف واپس میپ کرتا ہے۔ پوسٹ حفاظتی نقاب نافذ کرتے ہیں: جواب میں کوئی ایسی PII نہیں جو (حذف شدہ) بازیافت شدہ کنٹیکسٹ میں نہ ہو، سکوپ تعمیل (صرف اسکوپ میں موجود ماخذات سے جواب)، اور پالیسی تعمیل (کوئی وضع کردہ SLA نہیں، کوئی قانونی مشورہ نہیں)۔ جواب حوالہ جات کے ساتھ لوٹایا جاتا ہے جنہیں UI ماخذ ریکارڈ کی طرف کلک قابل لنکس کے طور پر رینڈر کرتا ہے۔

5.3 فی درجہ پرامپٹس

{{templateId: assistant.staff.v2}}
{{locale: {{user_locale}}}}
You are the staff AI assistant for an officer working ticket {{ticket_ref}} on
the Sindh IT Portal. Answer the officer's question using ONLY the retrieved
context, which is scoped to this ticket and the officer's department SOPs/KB.

Retrieved context (each chunk has a source id):
{{retrieved_chunks_with_ids}}

Officer's question:
{{question}}

Produce JSON:
{
  "answer": "≤ 200 words in {{user_locale}}",
  "citations": [{"type":"ticket|attachment|kb|sop|mom","id":"...","span":[s,e]}],
  "followups": ["optional clarifying question", "..."],
  "confidence": 0.0
}

Rules:
- Cite every factual claim.
- If the answer is not in the retrieved context, say so and suggest where to look.
- Never reveal data from tickets outside this officer's scope.
- Offer to draft a reply or action item when the question implies one.
{{templateId: assistant.dg.v2}}
{{locale: {{user_locale}}}}
You are the DG oversight assistant on the Sindh IT Portal. The DG oversees
departments: {{dg_departments}}. Inputs are SLA/risk rollups and anonymized
ticket summaries within the DG's portfolio.

Retrieved rollups + summaries:
{{retrieved_rollups_with_ids}}

DG's question:
{{question}}

Produce JSON:
{
  "answer": "≤ 250 words, executive register",
  "citations": [{"type":"rollup|ticket|mom","id":"...","span":[s,e]}],
  "atRiskTickets": ["ticket_ref", "..."],
  "recommendedActions": ["≤ 25 words each"]
}

Rules:
- Quantify (use the rollup numbers); avoid vague language.
- Flag SLA-breaches and double-escalations explicitly.
- Do not propose actions outside the DG's configured oversight powers
  (notify-only vs action) — check {{dg_powers_summary}}.
{{templateId: assistant.secretary.v2}}
{{locale: {{user_locale}}}}
You are the Secretary briefing assistant on the Sindh IT Portal. Produce
concise, decision-ready briefings from portfolio aggregates, policy docs,
officials records, and MoMs. Inputs are anonymized aggregates unless the
Secretary is explicitly viewing a named record.

Retrieved context:
{{retrieved_context_with_ids}}

Secretary's question:
{{question}}

Produce JSON:
{
  "briefing": "≤ 400 words, structured with headings",
  "citations": [{"type":"aggregate|policy|mom|official","id":"...","span":[s,e]}],
  "portfolioStatus": "improving|stable|declining",
  "topIssues": ["≤ 20 words each"],
  "policyImplications": ["≤ 25 words each"]
}

Rules:
- Distinguish operational issues from policy/structural issues.
- Cite the specific aggregate or policy document.
- Where data is incomplete, say so rather than extrapolating.
- Match the officials/branding records by effective-date for any referenced
  official (see Module P — historical accuracy).

5.4 "ٹکٹ پوچھیں" سوال و جواب

ایک مخصوص اسٹاف اسسٹنٹ سہولت: ایک افسر کھلے ٹکٹ کے بارے میں ایک سوال ٹائپ کرتا ہے — "کمپنی نے کیا ثبوت فراہم کیا ہے؟"، "ہم نے آخری بار کب مزید معلومات مانگی تھیں؟"، "منسلک نوٹس واقعی کیا کہتا ہے؟" — اور اسسٹنٹ ٹکٹ ہسٹری، اٹیچمنٹ OCR ٹیکسٹ، اور MoM میں حوالہ جات کے ساتھ جواب دیتا ہے۔ ریٹریول سکوپ اس واحد ٹکٹ اور اس کی اپ لوڈز تک مقفل ہے؛ کسی بھی کلاؤڈ LLM کال سے پہلے PII حذف کی جاتی ہے۔ یہ افسر پیداواریت کے لیے واحد سب سے زیادہ اثر والا RAG فیچر ہے۔


6. PII حذف و ترمیم پائپ لائن

PII حذف و ترمیم ہر اے آئی بہاؤ میں پہلا قدم ہے جو کلاؤڈ انجن کو چھو سکتا ہے، اور آن پریم انجنز کے لیے بھی دفاعی گہرائی کا قدم۔ یہ تعیناتی، آن پریم، اور آڈٹ شدہ ہے۔

6.1 تلاش شدہ وجودیات

وجودیت پیٹرن / ڈیٹیکٹر مثالیں
CNIC 13 ہندسی \d{5}-\d{7}-\d (ڈیش شدہ اور غیر ڈیش شدہ تبدیلیاں) 42101-1234567-1
فون (PK) `+92 0+3\d{2}` + 7 ہندسی؛ خالی جگہ/ڈیش قبول کرتا ہے
ای میل RFC-5322 simplified regex name@example.pk
IBAN (PK) PK + 24 الفا نیومرک PK36SCBL0000001123456702
بینک اکاؤنٹ نمبر 10–18 ہندسی {account, a/c, bank} کے 2 ٹوکنز کے اندر a/c 01234567890
کریڈٹ کارڈ Luhn درست 13–19 ہندسی 4111 1111 1111 1111
نامزد شخص (جارحانہ موڈ) آن پریم NER، عوامی عہدیداروں کی اجازت نامہ فہرست کے خلاف cross-referenced اجازت نامہ فہرست پر نہ ہونے والے شخصیت نام
پتہ (جارحانہ موڈ) NER + سندھ اضلاع/گلیوں کا گزٹیئر (صرف restricted موڈ) گلی + شہر

6.2 پائپ لائن

flowchart TD IN["Inbound payload<br/>(text or OCR'd doc body)"] CLS["Classify sensitivity<br/>(public/internal/confidential/restricted)"] MODE{"Destination residency?"} ONP["On-prem engine path<br/>(redaction optional,<br/>mapping kept in-memory)"] RED["Redact (regex + gazetteer + on-prem NER)"] TOK["Tokenize each distinct raw value<br/>e.g. [CNIC_1], [PHONE_2]"] VAULT["Write encrypted mapping to ai_pii_vault<br/>(TTL = call duration + 10 min)"] OUT["Send redacted payload to engine"] RESP["Receive engine output"] DE["De-redact: replace tokens with originals<br/>using the vault mapping"] PURGE["Purge mapping (TTL or explicit)"] RET["Return re-hydrated result to caller"] IN --> CLS --> MODE MODE -- on-prem --> ONP --> RED MODE -- cloud --> RED RED --> TOK --> VAULT --> OUT --> RESP --> DE --> PURGE --> RET

تحریری وضاحت۔ آنے والے پے لوڈ کی حساسیت کے لیے درجہ بندی کی جاتی ہے (درجہ بندی کالر کے ذریعے مالک ریکارڈ کی ڈیٹا کلاس کی بنیاد پر فراہم کی جاتی ہے — دیکھیں /specs/ur/11-security-compliance/)۔ منزل رہائش انجن سلیکٹر (§2.3) کے ذریعے فیصلہ کی جاتی ہے۔ آن پریم منازل کے لیے، حذف و ترمیم اب بھی چلتی ہے لیکن میپنگ میموری میں برقرار رکھی جاتی ہے اور اصل ویلیوز آن پریم انجن کو بھیجی جا سکتی ہیں اگر اس کی پالیسی اجازت دے (تجارتی سمجھوتا: نامزد وجودیات کے لیے بہتر ترجمہ معیار)۔ کلاؤڈ منازل کے لیے، حذف و ترمیم لازمی ہے اور میپنگ کبھی اے آئی سروس نہیں چھوڑتی۔ ہر الگ خام ویلیو کو ایک مستحکم ٹوکن ([CNIC_1]، [PHONE_2]…) سے درخواست سکوپ کے اندر بدلا جاتا ہے؛ میپنگ خفیہ کردار ai_pii_vault میں مختصر TTL (کال دورانیہ + 10 منٹ) کے ساتھ لکھی جاتی ہے۔ حذف شدہ پے لوڈ انجن کو بھیجا جاتا ہے؛ واپسی پر، ڈی ریڈیکٹر والٹ میپنگ کا استعمال کرتے ہوئے ٹوکنز کو اصل سے بدل دیتا ہے؛ پھر میپنگ ختم کر دی جاتی ہے۔ خام ویلیو کبھی لاگز، ai_runs، Meilisearch، یا Loki میں نہیں لکھا جاتا۔ ایک ڈاؤن سٹریم کینری (ایک شیڈولڈ جاب جو خام CNIC پیٹرنز کے لیے Loki + ai_runs اسکین کرتی ہے) کسی بھی لیک کو ایک P0 واقعہ کے طور پر پکڑتی ہے۔

6.3 غیر متغیرہ


7. پرامپٹ مینجمنٹ

7.1 اسٹوریج اور ورژننگ

پرامپٹ ٹیمپلیٹس ورژن شدہ آرٹیفیکٹس ہیں جو سورس ریپوزیٹری میں ai-service/prompts/ کے تحت محفوظ ہیں (فی ٹیمپلیٹ آئی ڈی ایک فائل، ai_prompt_templates میں فی ورژن ایک قطار)۔ ایک ٹیمپلیٹ آئی ڈی summary.ticket.v3 جیسا لگتا ہے — نام + بڑا ورژن۔ ہر تبدیلی ایک نیا ورژن ہے؛ ورژنز کبھی جگہ میں تبدیل نہیں کیے جاتے۔ ڈپلائمنٹ فیچر فلیگ/کنفیگ سروس کے ذریعے فی ماحول ایک مخصوص ورژن کو ٹیمپلیٹ آئی ڈی سے جوڑتا ہے۔

type PromptTemplate = {
  id: string;                  // "summary.ticket"
  version: number;             // 3
  locale: "en" | "ur" | "sd" | "multi";
  body: string;                // the fenced template with {{variables}}
  variablesSchema: object;     // JSON Schema for the variables map
  responseSchema?: object;     // JSON Schema for the structured output (if any)
  guardrails: Guardrail[];     // per-template output checks
  status: "draft" | "shadow" | "active" | "retired";
  evalResultsRef?: string;     // latest evaluation run on the golden set
  authoredBy: string;
  authoredAt: UTCDateTime;
};

7.2 ویری ایبلز اور رینڈرنگ

ٹیمپلیٹس {{variable}} پلیس ہولڈرز استعمال کرتے ہیں جو رینڈر ٹائم پر variablesSchema کے خلاف تصدیق شدہ ہوتے ہیں۔ نامعلوم ویری ایبلز بند ناکامت ہوتے ہیں۔ لوکیلز یا تو علیحدہ فی لوکیل ٹیمپلیٹ ورژنز (مسودہ جوابات جیسے زیادہ خطرے والے آؤٹ پٹس کے لیے ترجیحی) یا {{target_locale}} انجیکٹ کردہ ایک واحد ٹیمپلیٹ (خلاصوں جیسے سستے، کم خطرے والے آؤٹ پٹس کے لیے ترجیحی) سے سنبھالے جاتے ہیں۔

7.3 اے/بی ٹیسٹنگ

ai_ab_assignments ریکارڈ کرتا ہے کہ کوئی دیا گیا یوزر یا ٹکٹ کس پرامپٹ ورژن کا سامنا کرتا ہے، تعیناتی طور پر (کنفیگ کردہ اسپلٹ میں user_id یا ticket_id کا ہیش)۔ نتائج (جیسا ہے رکھا گیا شرح، تجاوز شرح، CSAT) تجزیے کے لیے اسائنمنٹ کے ساتھ جوڑے جاتے ہیں۔ اے/بی رنز ٹائم باکسڈ ہوتے ہیں؛ جیتنے والا ورژن active میں ترقی پاتا ہے اور ہارنے والا ایک دستاویزی فیصلے کے بعد retired میں۔

7.4 تشخیصی سیٹ

ہر ایکٹو ٹیمپلیٹ کا ایک گولڈن ٹیسٹ سیٹ ہے — منتخب کردہ ان پٹ/متوقع آؤٹ پٹ جوڑے جو EN/UR/سندھی، کنارے کے معاملات (خالی ان پٹ، بہت طویل ان پٹ، ملے جلے اسکرپٹ، مخالف ان پٹ)، اور عام ناکامی موڈز پر محیط ہیں۔ یہ سیٹ ai-service/prompts/eval/<template_id>.golden.jsonl میں ہے۔ CI ہر ٹیمپلیٹ تبدیلی پر سیٹ چلاتا ہے؛threshholds سے آگے ریگریشن active میں ترقی کو روکتی ہے۔ §10 دیکھیں۔

7.5 حفاظتی نقاب

ہر ٹیمپلیٹ آؤٹ پٹ حفاظتی نقاب کا اعلان کرتا ہے جو جنریشن کے بعد نافذ ہوتے ہیں:


8. لاگت اور استعمال حکمرانی

8.1 فی کال لاگنگ

ہر اے آئی کال ai_runs میں ایک غیر تبدیل شدہ قطار لکھتی ہے:

کالم مثال
id uuid
requested_at UTC datetime
capability summary
feature_flag_snapshot کال کے وقت متعلقہ فلیگز کا JSON
sensitivity_class internal
prompt_template_id summary.ticket.v3
engine_used azure-openai:gpt-4o
engine_residency cloud
status success / fallback_used / failed_closed / budget_exceeded
latency_ms 1840
prompt_tokens 1432
completion_tokens 287
pages (OCR) / audio_seconds (ٹرانسکرپشن)
cost_pkr_paisa 815 (integer minor units؛ دیکھیں /specs/ur/05-data-model/)
redactions_applied 4
output_hash حذف شدہ آؤٹ پٹ کا sha256 (dedup / replay کے لیے)
caller_module tickets.summary
tenant_dept_id محکمہ کنٹیکسٹ (فی محکمہ لاگت attribution کے لیے)
user_id درخواست کنندہ یوزر (سسٹم جابز کے لیے nullable)

8.2 بجٹس اور ریٹ لیمیٹس

8.3 ڈیش بورڈز اور رپورٹس


9. تشخیص اور معیار

9.1 گولڈن ٹیسٹ سیٹس

ہر صلاحیت کا پروڈکٹ/اے آئی ٹیم کے ذریعے منتخب کردہ ایک گولڈن سیٹ ہے، جو تینوں لوکیلز اور کنارے کے معاملات پر محیط ہے۔ سیٹس ریپو میں پرامپٹ ٹیمپلیٹس کے ساتھ ورژن شدہ ہیں۔ کم سے کم سائز:

صلاحیت گولڈن سیٹ سائز اہم سلیسز
OCR 200 دستاویزات EN/UR/SD سکینڈ نوٹسز؛ CNIC سکینز؛ گھنے ٹیبلز؛ ملے جلے اسکرپٹ
خلاصہ 150 ٹکٹس short/medium/long؛ mono/bilingual؛ اٹیچمنٹس کے ساتھ/بغیر
روٹنگ 300 ٹکٹس تمام محکمے؛ مبہم؛ اسکوپ سے باہر؛ UR/SD غالب
فوریّت 150 ٹکٹس VIP، قانونی آخری期限، منفی جذباتی حالت، غیر جانبدار
مسودہ جواب 100 منظرنامے informational/apologetic/directive/closure × 3 لوکیلز
ترجمہ 200 حصس × 6 جوڑے general/legal/technical/official-letter ڈومینز
نقل نشاندہی 100 استفسار سیٹس حقیقی نقل، قریبی نقل، ایک ہی موضوع مگر نقل نہیں، کراس کمپنی
چیٹ بوٹ 200 گفتگو KB میں، KB سے باہر، PII انجیکشن کوششیں، ہینڈ آف
PII حذف و ترمیم 500 حصس CNIC/فون/ای میل/IBAN/شخص/پتہ؛ جارحانہ موڈ
رجحانات 12 ماہانہ ونڈوز لیبل شدہ بے ضابطگیاں اور معروف واقعات
MoM نکالنا 60 MoMs UR/SD/EN؛ سہ فریقی؛ واضح تاریخیں ساتھ/بغیر

9.2 میٹرکس

9.3 مسلسل تشخیص

ایک رات وار جاب موجودہ active ٹیمپلیٹس کو گولڈن سیٹ کے خلاف دوبارہ چلاتا ہے اور نتائج ai_prompt_eval_results میں لکھتا ہے۔ threshhold سے آگے ریگریشن ایک Grafana الرٹ اٹھاتی ہے اور، اہم صلاحیتوں کے لیے، ٹیمپلیٹ کو shadow (اب بھی چل رہا ہے لیکن صارفین کو نہیں دکھایا جا رہا) میں آٹو پلٹ دیتی ہے جب تک جائزہ نہ ہو۔


10. فال بیک اور کمزوری

اے آئی معاون ہے، کبھی روکنے والا نہیں۔ نظام تین درجوں سے بہترین طریقے سے کم ہوتا ہے:

درجہ ٹرگر برتاؤ
T1 — انجن فال بیک بنیادی انجن ناکام (ٹائم آؤٹ/5xx/محتوا فلٹر) یا آؤٹ پٹ تصدیق میں ناکام ai_engine_configs فال بیک چین میں اگلا انجن آزمائیں۔ status=fallback_used کے طور پر لاگ کریں۔
T2 — آن پریم فال بیک تمام کلاؤڈ انجنز ناکام یا فلیگ سے ڈس ایبل آن پریم انجنز (Llama/Qwen/Tesseract/Whisper) کی طرف روٹ کریں۔ restricted ان پٹس کے لیے یہ واحد درجہ ہے۔
T3 — دستی موڈ تمام اے آئی انجنز ناکام، یا صلاحیت فلیگ آف ہے پورٹل دستی موڈ میں جاری رہتا ہے: کوئی خلاصہ نہیں، دستی روٹنگ ضروری، دستی MoM اندراج، بوٹ کلیدی لفظ سرچ پر کم، مسودے منتخب کردہ ٹیمپلیٹ لائبریری سے آتے ہیں۔ صارف کو ایک "تجاویز عارضی طور پر دستیاب نہیں" بینر دکھائی دیتا ہے — کبھی ایرر نہیں۔

غیر متغیرہ:


11. اخلاقیات اور تعصب

اصول نفاذ
کوئی خودکار حتمی فیصلے نہیں کوئی اے آئی آؤٹ پٹ انسانی تصدیق کے بغیر حالت کی تبدیلی نہیں بنتا۔ روٹنگ، ترجیح، فوریّت، ضم، بندش، اور کوئی بھی شہریوں کے سامنے والی مواصلت سب کے لیے فیصلہ ساز انسان ضروری ہے۔
انسانی ذمہ داری ہر نتیجے کے لیے، ایک نامی انسان (افسر، DG، سیکریٹری) ذمہ دار ہے۔ اے آئی آؤٹ پٹس "اے آئی مشورہ" کے طور پر لیبل کیے جاتے ہیں اور ہر کارروائی پر عمل کرنے والے انسان کی آئی ڈی ریکارڈ کی جاتی ہے۔
زبانیں کے درمیان انصاف معیار فی لوکیل ناپا جاتا ہے (§9.2)۔ ایک صلاحیت EN کے لیے active ہو سکتی ہے جبکہ SD کے لیے shadow ہو اگر معیار کافی نہ ہو — پھر SD UI معیار threshhold تک پہنچنے تک دستی راستہ دکھاتی ہے۔
وجودیات کے درمیان انصاف روٹنگ اور فوریّت کو کمپنی بینڈز، اضلاع، اور وجودیت اقسام پر الگ الگ اثر کے لیے آڈٹ کیا جاتا ہے۔ رجحانات صلاحیت (§4.10) تعصب کے اشارات کو قیادت کے سامنے لاتی ہے۔
شفافیت ہر اے آئی آؤٹ پٹ اپنے انجن، پرامپٹ ورژن، اور حوالہ جات لے کر ہے۔ شہریوں کو بتایا جاتا ہے جب وہ چیٹ بوٹ کے ساتھ بمقابلہ انسان کے ساتھ تعامل کر رہے ہوں۔ عوامی دستاویزات سائٹ بتاتی ہے کہ کون سی صلاحیتیں اے آئی استعمال کرتی ہیں۔
انسان کا حق ہر اے آئی معاون سطح ایک واضح "انسان سے بات کریں" راستہ پیش کرتی ہے۔ چیٹ بوٹ ہینڈ آف (§4.8) مکمل کنٹیکسٹ پیکیج کرتا ہے تاکہ انسان سرد آغاز نہ کرے۔
ڈیٹا کم سے کم ہر صلاحیت کو صرف وہی ڈیٹا ملتا ہے جس کی اسے ضرورت ہے (مثلاً روٹنگ کو حذف شدہ عنوان+باڈی ملتی ہے، مکمل ہسٹری نہیں)۔
نگرانی کے لیے اے آئی کا کوئی استعمال نہیں اے آئی داخل شدہ درخواستیں حل کرنے کے لیے استعمال ہوتا ہے، افراد کی نگرانی کے لیے نہیں۔ ایمبیڈنگز نقل نشاندہی کے لیے مشابہت کو طاقت دیتی ہیں، پروفائلنگ نہیں۔

12. کنفیگریشن (فیچر فلیگز)

ہر صلاحیت سپر ایڈمن کے ذریعے، فی محکمہ اور فی ماحول، فیچر فلیگ ماڈیول (Q) کے ذریعے ٹوگل قابل ہے۔ فی صلاحیت انجن انتخاب ai_engine_configs کے ذریعے تشکیل قابل ہے۔

12.1 صلاحیت فلیگز

فلیگ کلید ڈیفالٹ (پروڈ) سکوپ آف ہونے پر اثر
ai.ocr.enabled آن dept/env OCR ٹیکسٹ جنریٹ نہیں؛ فائلز اب بھی منسلک
ai.summary.enabled آن dept/env خلاصہ کارڈ چھپا ہوا
ai.routing.enabled آن dept/env صرف دستی روٹنگ
ai.urgency.enabled آن dept/env ترجیح دستی مقرر
ai.draft_reply.enabled آن dept/env مسودہ بٹن چھپا ہوا
ai.translation.enabled آن dept/env دستی ترجمہ؛ اصل دکھائی دیں
ai.dedup.enabled آن dept/env کوئی مشابہ ٹکٹ تجاویز نہیں
ai.chatbot.enabled آن env بوٹ KB سرچ سے بدل دیا گیا
ai.pii_redaction.enabled ہمیشہ آن env کلاؤڈ راستوں کے لیے ڈس ایبل نہیں ہو سکتا
ai.trends.enabled آن env بصیرتیں کارڈ چھپا ہوا
ai.mom_extract.enabled آن dept/env دستی MoM اندراج
ai.assistant.staff.enabled آن dept/env "ٹکٹ پوچھیں" چھپا ہوا
ai.assistant.dg.enabled آن dept/env DG اسسٹنٹ چھپا ہوا
ai.assistant.secretary.enabled آن env سیکریٹری اسسٹنٹ چھپا ہوا
ai.cloud_engines.allowed آن env خودمختار ٹوگل: آف → کہیں بھی صرف آن پریم انجنز
ai.ab_testing.enabled آف env اے/بی اسائنمنٹ ڈس ایبل
ai.shadow_mode.<cap> آف cap/env صلاحیت چلتی ہے لیکن آؤٹ پٹس صارفین کو نہیں دکھائے جاتے (صرف تشخیص)

12.2 انجن کنفیگریشن

ai_engine_configs سپر ایڈمن (یا ایک تفویض شدہ اے آئی کنفیگ کردار) کے ذریعے ایڈمن UI میں قابلِ ترمیم ہے۔ ہر تبدیلی before/after، ایکٹر، اور ایک وجہ فیلڈ کے ساتھ آڈٹ لاگ ہوتی ہے۔ تبدیلیاں رہائشی غیر متغیرہ (کوئی کلاؤڈ انجن restricted کے لیے نہیں) کے خلاف تصدیق شدہ ہوتی ہیں۔ موجودہ کنفیگ再现 اور ماہانہ لاگت رپورٹ کے لیے JSON کے طور پر قابلِ برآمد ہے۔

12.3 بوٹسٹریپ

اہم ڈیفالٹس (مثلاً ai.pii_redaction.enabled = on، غیر خودمختار ماحول میں ai.cloud_engines.allowed = on) مائگریشن کے ذریعے seed کیے جاتے ہیں تاکہ ایک تازہ ماحول ایک معروف حالت میں شروع ہو۔ بوٹسٹریپ کنفیگ ہر بڑی ریلیز پر جائزہ لی جاتی ہے۔


13. قابلِ تتبع

صلاحیت بنیادی FR (دیکھیں /specs/ur/02-functional-reqs/) یوزر سٹوریز
OCR FR-AI-001 US-AI-001US-AI-004
خلاصہ FR-AI-002 US-AI-005
روٹنگ FR-AI-003 US-AI-006US-AI-008
فوریّت FR-AI-004 US-AI-009
مسودہ جواب FR-AI-005 US-AI-010US-AI-011
ترجمہ FR-AI-006 US-AI-012
نقل نشاندہی FR-AI-007 US-AI-013
چیٹ بوٹ FR-AI-008 US-AI-014US-AI-016
PII حذف و ترمیم FR-AI-009 US-AI-017
رجحانات FR-AI-010 US-AI-018
MoM نکالنا FR-AI-011 US-AI-019US-AI-020

دستاویز کا اختتام۔