المحرك

محرك واحد، جذره دليل، مرتبط بعمليتك.

Telys محرك ذاكرة واسترجاع مُضمَّن لوكلاء الذكاء الاصطناعي. لأن المحرك يمتلك التخطيط المادي، يُحلَّل nearest-neighbours-where-key-equals-x إلى بحث في الدليل ومسح تسلسلي لكتلة متصلة واحدة — داخل عمليتك، دون استدعاءات خارجية وقت الاستعلام.

02 سطح SDK

الواجهة العامة واجهة تجريدية: محرك يحمل مجموعات مُسمَّاة، كل منها فهرس متجهي مُصفَّى بمعرفات خارجية، ومفاتيح تقسيم مدفوعة بالبيانات الوصفية وأعمدة تصفية، ودلالات صريحة للإضافة والإحلال والحذف.

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 يرفع على معرف موجود؛ upsert يمنح معرفاً موجوداً إصداراً مرئياً جديداً تحت MVCC — لا يحتفظ المحرك بصفين ماديين لمعرف منطقي واحد.

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 يضبط حد الاستدعاء الذي يجب أن يحترمه المخطط؛ النطاقات المركبة تُقسَّم على مفتاح مادي واحد مبني بـ 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 مواصفة القدرات
القدرةالتفاصيل
بحث مُصفَّىاستعلامات nearest-neighbors-where-key-equals-x تُحلَّل إلى بحث في الدليل ومسح تسلسلي واحد لكتلة متصلة — recall 1.0 على المسار الدقيق (D≤384؛ D=768 يُعطي 0.999–0.9995 عند تعادلات ترتيب الاختزال، دون أي إغفال حقيقي). على مجموعة فرعية متصلة مطابقة يتعادل هذا المسح مع FAISS الخام، فالميزة في التخطيط لا في النواة.
الاستمراريةكتابات مدعومة بـ WAL، ولقطات MVCC، ومقاطع مختومة. save() يُودع ذرياً؛ open_collection() يستعيد البيانات والضبط المُطبَّق وفضاء التضمين.
النموذج الزمنيإحلالات مُصدَرة: معرف موجود يحصل على إصدار مرئي جديد يُحلّ القديم — لا صف مكرر. علامات الحذف تُخفي الصفوف المحذوفة فوراً؛ الضغط يُزيلها مادياً.
التضميناتمستقل عن التضمين. أحضر متجهاتك، أو أرفق EmbeddingProvider / CallableEmbedder. مُضمَّن مُضمِّن bigram على الجهاز — معجمي، داخل العملية، دون تنزيل نموذج.
المنصاتmacOS arm64 · Linux x86_64 / arm64 · Windows تحت WSL2.
الترخيصSDK عام بـ Apache-2.0 على PyPI (pip install telys) مع وقت تشغيل موقَّع ومرخَّص على الجهاز يُثبَّت بـ telys login. نسخة تجريبية عامة.
زمن الاستجابة المقيسp50/p95 مُبلَّغ عنه لكل انتقائية عند recall 1.0، خيط واحد، داخل العملية، على جهاز M4 Max مُفصَح عنه — مع العينات الخام والسكريبت. راجع صفحة المعايير.
04 البنية

واجهة عامة رفيعة فوق وقت تشغيل موقَّع.

لا يحتوي SDK العام على أي تنفيذ للمحرك. يتواصل مع وقت التشغيل عبر نقطة تجميد واحدة — RuntimeHandle — ويحتفظ وقت التشغيل بحلقاته الساخنة في نوى Mojo SIMD: مسار ساخن خالٍ من Python داخل عملية 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

Telys — Apache-2.0

واجهتا Telys و Collection، و Eq و scope_key، وواجهتا EmbeddingProvider و Tuner، ومحمِّل وقت التشغيل، وواجهة سطر الأوامر telys. يتحقق حارس الإصدار من عدم شحن أي مصدر للمحرك في الحزمة العامة.

وقت تشغيل موقَّع

telys login يثبّته

تسجيل دخول واحد يُوفِّر ترخيص جهاز مجاني ويجلب وقت التشغيل الموقَّع؛ يُعاد التحقق من التوقيع والترخيص دون اتصال. يحتوي وقت التشغيل على فهرس التقسيم و MVCC والضغط و IVF — وهو شرط لازم للتنفيذ.

التخطيط الفيزيائي

الأقسام متجاورة

يربط الدليل مفتاح القسم بكتلته؛ تُخزَّن صفوف كل قسم بشكل متجاور. الاستعلام المحدود النطاق هو مسح تسلسلي واحد — لا تشتيت عبر فهرس يتجاهل مفاتيحك.

05 نموذج الذاكرة

الزمن هو نموذج البيانات.

متجه مع كتلة بيانات وصفية ليس ذاكرة وكيل. يمنح نموذج الذاكرة كل حقيقة نافذة صلاحية، وسلسلة إحلال صريحة، وعرض as_of يُعيد بناء ما كان معروفاً في لحظة من الزمن الفعلي. يُقدَّم هنا على حقيقته: الاتجاه المحدد، مع آلية التخزين الخاصة به قيد الشحن بالفعل.

نوافذ الصلاحية

الحقائق صالحة على فترات زمنية

تحمل الذاكرة نافذة [valid_from, valid_to) في الزمن الفعلي. التناقض يُغلق النافذة القديمة بدلاً من حذف الصف — الحضور أو الغياب لا يكفي لوكيل.

سلاسل الإحلال

لا كتابة فوقية صامتة

الحقيقة المصحِّحة تشير إلى الحقيقة التي تحل محلها. السلسلة صريحة وقابلة لإعادة البناء: ما آمن به الوكيل ومتى توقف عن الإيمان به — كل ذلك استعلام.

إعادة بناء as_of

ما كان معروفاً عند T

يُعيد عرض as_of بناء الذكريات الصالحة تحديداً عند الزمن الفعلي T ضمن لقطة MVCC محددة — استرجاع قابل للتكرار والتدقيق بعد الوقوع.

مواصفة، مُصنَّفة كمواصفة.

remember و recall و as_of مُعرَّفة في مسودة MEMORY-SEMANTICS — وهي الاتجاه، لا مرجع API مشحون. تنزل على آلية تُشحن اليوم: تحديثات مُصدَّرة، وإحلال، وعلامات حذف، ولقطات MVCC.

اقرأ آلية العمل
مُشحون في 0.1.0b4
  • add / upsert — المعرّف الموجود يصبح إصداراً جديداً مرئياً، لا صفاً مكرراً
  • search / search_text — فلاتر where=، وخطط explain، وحدود target_recall الدنيا
  • delete — علامات حذف: مخفية عن القراءة فوراً، تُحذف عند الضغط
  • compact / build_ivf — صيانة المقاطع؛ IVF لكل قسم للأقسام الكبيرة الحجم
  • snapshot / save / stats — عروض قراءة MVCC، وحفظ دائم ذري، وإعادة فتح
  • إحلال MVCC — كل تحديث يحل محل سابقه؛ لا شيء يُكتب فوقه بصمت