انجن

ایک انجن، ایک ڈائریکٹری سے جڑا، آپ کے پروسیس میں لنک۔

Telys AI ایجنٹس کے لیے ایک ایمبیڈڈ میموری اور ریٹریول انجن ہے۔ چونکہ انجن فزیکل لے آؤٹ کا مالک ہے، nearest-neighbours-where-key-equals-x ایک ڈائریکٹری لُک اَپ اور ایک متصل بلاک کے سیکوئنشل اسکین تک محدود ہوتا ہے — آپ کے پروسیس کے اندر، کوئری کے وقت کوئی بیرونی کال نہیں۔

02 SDK سطح

پبلک API ایک فیساڈ ہے: ایک انجن جو نام یافتہ کلیکشنز رکھتا ہے، ہر ایک بیرونی ids، میٹا ڈیٹا سے چلنے والے پارٹیشن کیز اور فلٹر کالمز، اور واضح add / upsert / delete سیمینٹکس کے ساتھ فلٹرڈ ویکٹر انڈیکس ہے۔

create + ingest
from telys import Telys, scope_key

db  = Telys("./memory")
col = db.create_collection("docs", dim=768,
      partition_by="tenant_id",
      filter_columns=["lang"])

col.add(vectors, ids=ids, metadata=metadata)
# new rows only — raises on an existing id
col.upsert(vectors, ids=ids, metadata=metadata)
# existing id → a new visible version

انجیسٹ واضح ہے۔ add موجودہ id پر استثنا اٹھاتا ہے؛ upsert موجودہ id کو MVCC کے تحت ایک نئی مرئی ورژن دیتا ہے — انجن ایک منطقی id کے لیے کبھی دو فزیکل قطاریں نہیں رکھتا۔

query
hits = col.search(qvec, top_k=10,
       where={"tenant_id": "acme"}, explain=True)
hits["explain"]["plan"]  # "PartitionSliceExactF32"

# composite scope → one physical partition key
sk = scope_key("acme/shop", "payments", "python")
res = symbols.search_text("refund pending after migration",
      top_k=40, where={"scope_key": sk},
      explain=True, target_recall=0.98)

ہر کوئری ایک کالمر where فلٹر لیتی ہے اور ایک explain پلان واپس کر سکتی ہے جو اسے سرو کرنے والی فزیکل حکمتِ عملی کا نام بتاتا ہے۔ target_recall وہ recall فلور مقرر کرتا ہے جسے پلانر کو پورا کرنا ہوتا ہے؛ کمپوزٹ اسکوپس scope_key سے بنی ایک فزیکل کی پر پارٹیشن کرتے ہیں۔

maintain + persist
col.delete(stale_ids)  # tombstone — hidden from reads now, dropped at compact()
col.compact()
col.build_ivf(min_rows=20000, target_recall=0.98)  # oversized partitions only

snap = col.snapshot()  # frozen MVCC read view
col.save()             # atomic — collection.json is written last, as the commit point
col.stats()            # partitions · external_ids · embedding_space

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

03 کیپیبلٹی اسپیک
صلاحیتتفصیل
فلٹرڈ سرچپارٹیشن-کی کوئریاں ایک ڈائریکٹری لُک اَپ اور ایک متصل بلاک کے سیکوئنشل اسکین تک محدود ہوتی ہیں — عین راستے پر recall 1.0 (D≤384؛ D=768 پر reduction-order ties میں 0.999–0.9995، کوئی حقیقی miss نہیں)۔ اسی متصل سب سیٹ پر یہ اسکین raw FAISS کے برابر ہے — فائدہ ترتیب میں ہے، kernel میں نہیں۔ آف-کی فلٹرز scatter-gather پر فال بیک کرتے ہیں، اور explain پلان یہ بتاتا ہے۔
پرسسٹنسWAL-بیکڈ رائٹس، MVCC سنیپ شاٹس، سیلڈ سیگمنٹس۔ save() ایٹامک طریقے سے کمٹ کرتا ہے؛ open_collection() ڈیٹا، لاگو ٹیوننگ، اور ایمبیڈنگ اسپیس بحال کرتا ہے۔
زمانی ماڈلورژنڈ اپسرٹس: موجودہ id کو ایک نئی مرئی ورژن ملتی ہے جو پرانی کو سپرسیڈ کرتی ہے — کبھی ڈپلیکیٹ قطار نہیں۔ ٹومب اسٹونز حذف شدہ قطاریں فوری چھپاتے ہیں؛ کمپیکشن انہیں فزیکلی ہٹاتا ہے۔
ایمبیڈنگزایمبیڈنگ-اگنوسٹک۔ اپنے ویکٹرز لائیں، یا EmbeddingProvider / CallableEmbedder منسلک کریں۔ ایک آن-ڈیوائس بائی گرام ایمبیڈر شامل ہے — لیکسیکل، ان-پروسیس، کوئی ماڈل ڈاؤن لوڈ نہیں۔
پلیٹ فارمزmacOS arm64 · Linux x86_64 / arm64 · Windows بذریعہ WSL2۔
لائسنسPyPI پر Apache-2.0 پبلک SDK (pip install telys) کے ساتھ ایک دستخط شدہ، لائسنس یافتہ آن-ڈیوائس رن ٹائم جو telys login سے انسٹال ہوتا ہے۔ پبلک بیٹا۔
ماپی گئی لیٹنسیp50/p95 فی selectivity، recall 1.0 پر، single-thread، in-process، ایک disclosed M4 Max rig پر — خام نمونوں اور اسکرپٹ سمیت۔ benchmarks صفحہ دیکھیں۔
04 آرکیٹیکچر

دستخط شدہ رن ٹائم پر ایک باریک عوامی پردہ۔

عوامی SDK میں کوئی انجن نفاذ نہیں ہے۔ یہ ایک منجمد سیون — RuntimeHandle — کے پار رن ٹائم سے بات کرتا ہے، اور رن ٹائم اپنے گرم لوپس Mojo SIMD کرنلز میں رکھتا ہے: آپ کے Python پروسیس کے اندر ایک zero-Python گرم راستہ۔

call path
Telys / Collection                 # public SDK facade — no engine code
  └─ RuntimeHandle                 # the frozen SDK–engine seam
      └─ signed runtime            # hot loops in Mojo SIMD kernels — zero-Python hot path
          ├─ partition directory   # key → contiguous block
          └─ contiguous segments   # one sequential scan per scope
SDK facade

telys — Apache-2.0

Telys اور Collection facades، Eq اور scope_key، EmbeddingProvider اور Tuner انٹرفیسز، ایک رن ٹائم لوڈر، اور telys CLI۔ ایک ریلیز گارڈ یقینی بناتا ہے کہ کوئی انجن سورس عوامی وہیل میں کبھی نہ جائے۔

دستخط شدہ رن ٹائم

telys login اسے نصب کرتا ہے

ایک سائن ان ایک مفت ڈیوائس لائسنس فراہم کرتا اور دستخط شدہ رن ٹائم لاتا ہے؛ دستخط اور لائسنس آف لائن بھی دوبارہ تصدیق کرتے ہیں۔ رن ٹائم میں پارٹیشن انڈیکس، MVCC، کمپیکشن، اور IVF موجود ہیں — اور یہ عمل درآمد کے لیے لازمی ہے۔

طبعی ترتیب

پارٹیشنز متصل ہیں

ڈائریکٹری ایک پارٹیشن کی کو اس کے بلاک سے ملاتی ہے؛ ہر پارٹیشن کی قطاریں متصل ذخیرہ ہوتی ہیں۔ ایک scoped query ایک ترتیب وار اسکین ہے — نہ کہ ایسے انڈیکس پر بکھراؤ جو آپ کی کیز کو نظرانداز کرے۔

05 میموری ماڈل

وقت ہی ڈیٹا ماڈل ہے۔

ایک ویکٹر اور میٹا ڈیٹا بلاب مل کر ایجنٹ میموری نہیں بنتے۔ میموری ماڈل ہر حقیقت کو ایک درستگی کی کھڑکی، ایک واضح supersession چین، اور ایک as_of نظریہ دیتا ہے جو دنیاوی وقت کے کسی لمحے پر معلوم حقائق کو دوبارہ تشکیل دیتا ہے۔ اسے یہاں وہی بتایا گیا ہے جو یہ ہے: ایک متعین سمت، جس کی اسٹوریج مشینری آج پہلے سے فراہم ہو رہی ہے۔

درستگی کی کھڑکیاں

حقائق وقفوں پر درست ہوتے ہیں

ایک میموری دنیاوی وقت میں ایک [valid_from, valid_to) کھڑکی رکھتی ہے۔ تضاد پرانی کھڑکی بند کرتا ہے، قطار مٹاتا نہیں — موجود یا غائب ایک ایجنٹ کے لیے کافی نہیں۔

Supersession چینز

کوئی خاموش اوور رائٹ نہیں

ایک درست کرنے والا حقیقت اس حقیقت کی طرف اشارہ کرتا ہے جسے وہ بدلتا ہے۔ چین واضح اور قابلِ تعمیرِ نو ہے: ایجنٹ کا یقین، اور جب وہ یقین ختم ہوا، ایک query ہے۔

as_of تعمیرِ نو

T پر کیا معلوم تھا

ایک as_of نظریہ ایک مخصوص MVCC سنیپ شاٹ کے تحت دنیاوی وقت T پر درست میموریز کو بالکل درست طریقے سے دوبارہ تشکیل دیتا ہے — ایسی یادآوری جو بعد میں قابلِ تکرار اور قابلِ آڈٹ ہو۔

Spec، بطور spec لیبل شدہ۔

remember، recall، اور as_of کی تعریف MEMORY-SEMANTICS مسودے میں ہے — یہ سمت ہے، فراہم شدہ API حوالہ نہیں۔ یہ آج فراہم ہونے والی مشینری پر اترتے ہیں: ورژن شدہ اپڈیٹس، supersession، tombstones، اور MVCC سنیپ شاٹس۔

یہ کیسے کام کرتا ہے پڑھیں
0.1.0b4 میں فراہم
  • add / upsert — موجودہ id ایک نئے مرئی ورژن میں بدلتا ہے، کبھی ڈپلیکیٹ قطار نہیں
  • search / search_text — where= فلٹرز، explain پلانز، target_recall فلورز
  • delete — tombstones: فوری طور پر reads سے پوشیدہ، compaction پر حذف
  • compact / build_ivf — سیگمنٹ دیکھ بھال؛ بڑے پارٹیشنز کے لیے per-partition IVF
  • snapshot / save / stats — MVCC ریڈ ویوز، ایٹامک پائیدار سیو، دوبارہ کھولنا
  • MVCC supersession — ہر اپڈیٹ اپنے پیشرو کو supersede کرتا ہے؛ کچھ بھی خاموشی سے اوور رائٹ نہیں ہوتا