Buktikan penyebaran dengan digest, bukan dengan tag
Commit sebelumnya berhenti 'set image' menjadi no- op diam. Ini menegaskan hasil: setelah peluncuran, tag diselesaikan untuk dicerna di registry dan pod berjala...
Membangun kembali komitmen yang sama tidak menyebar dan melaporkan kesuksesan
Gambar ini ditandai dengan melakukan SHA, jadi membangun kembali commit yang sama menghasilkan Sebuah referensi gambar identik. 'Kubectl set image' kemudian tid...
Biarkan rollout menyelesaikan apa yang pod tua lakukan
Pengisian diganti satu-satunya pod dari setiap layanan dengan tidak ada untuk menangkap permintaan dalam Penerbangan. Tiga pengaturan, diterapkan di armada: - ...
PenontonKB penghitung adalah cumulatif, cocok dengan KbReader Scope
Filter pengambilan cocok dengan tingkat pembaca persis: a TEAM _ MEMBER harus cocok aiVisibleToTeamMember dan tidak ada yang lain. Jadi sebuah artikel seorang p...
Ukuran pod di atas langit-langit tumpukan JVM sendiri [melewatkan ci]
Gambar dimulai JVM dengan -XX: MaxRAMPercentage = 70 -XX: + AlwaysPreTouch, sehingga stack saja mungkin mengambil 70% dari batas kontainer dan pre-touch menyimp...
Harden the kubectl download against flaky egress [skip ci]
dl.k8S.io atas pelari itu keluar sesekali tetes pertengahan - transfer: curl: (56) OpenSSL SSL _ read: dekripsi gagal atau rekaman mac buruk yang gagal menyebar...
Lower embedding batch size to 8 to match model backend limit
The TEI backend forces max_batch_requests=8 regardless of client config. Batches of 32 were still failing with connection errors.
Batch embedding requests to respect model's max batch size of 32
The embedding model rejects requests with more than 32 inputs, but articles with large content produce 46-198 chunks. All embedding attempts were failing with 4...
Add search request/response logging to RagSearchController
Log orgId, query, result count, and full stack traces on error to diagnose 500 responses seen from AIService.
Reduce chunk size to fit all-MiniLM-L6-v2 token limit (256 max)
Chunk target was 2000 chars (~512 tokens) but the embedding model only accepts 256 tokens, causing 413 validation errors. Reduce to 800 chars (~200 tokens) with...
Use integer match filter for Qdrant searches instead of matchKeyword
The orgId and articleId payload fields are stored as integers via value(Long), but search and delete filters used matchKeyword() which only matches string/keywo...
Index KB articles for RAG on creation, not just when published
Previously the RAG pipeline only indexed PUBLISHED articles, requiring the full review/approval cycle before the AI chat could reference them. Now indexes all a...
Grant all rights when rights list is empty (rights system not yet enforced)
Rename qdrant config properties to avoid K8s env var collision
Kubernetes auto-creates QDRANT_PORT env var from the qdrant Service, which overrides the Spring property with 'tcp://ip:port' instead of an integer. Renamed to ...
Make NATS consumer startup resilient with retry logic
Consumer now retries subscription in a background thread with backoff if KB_EVENTS stream doesn't exist yet. Prevents crash loop when KBService hasn't published...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.