タグではなく、ダイジェストによるデプロイを生成
前のコミットは、 `set image` をサイレント no-op と停止します。 これは、 結果: ロールアウト後、タグはレジストリでダイジェストに解決され、 実行中のPodはそれに対してチェックされます。 Podが画像を実行していない場合、この実行 生成されたビルドは、レポートの成功の代わりに失敗します。 タグが...
同じコミットの再構築は何も展開し、成功を報告しました
この画像はコミット SHA でタグ付けされます。 同一の画像参照。 `kubectl set image` は何も変更しません。 デプロイメントは触れず、「ロールアウト状態」はすぐに反対に成功します OLD Pod と、このパイプラインは何もデプロイした成功したデプロイを報告します。 サービスが再構築されなければなら...
古いポッドが何をやっていたか、ロールアウトフィニッシュしてみましょう
デプロイは、各サービスの唯一のPodを、リクエストをキャッチするために何も交換しました フライト 車両全体に適用される3つの設定: - プロセスがSIGTERMを見る前に、プレストップスリープ10秒。 Kubernetesは、そのPodからPodを削除します EndpointSlice と信号を同時に、Traefik...
KBリンクは、そのテキスト名の記事に行きます
会員は、組織をセットアップし、セットアップチェックリストをバックにする方法を尋ねました。 説明する記事を命名するステップ。 同じ3つのリンクを指す 記事 — "Esential Setup" — と、リンクに名前を付けられたものに達しません。 ナレッジベースのハブ記事は、プレーンテキストで自分の兄弟を交差させます。 ...
上流エラーテキストがメンバーに達していない、どのプロバイダが失敗したか
会員テキスト getMessage() に落ちたため、 AiProviderException。 HuggingFace アダプターは、その拒否を分類します。 他の1つがHTTPクライアントが投げるようなものとして輸送に到達し、 Spring の WebClientResponseException は、上流メソッド、...
プロバイダーがルーティングしないモデルを再構築し、メンバーの引用を停止する
ルータ触媒の修正にフォローアップ。 信じられないほどのモデルが止まる リストされた; これは、すでにオーガナイズのカタログに壊れるのを止める 介助者と破損をナレーション. 階段の列が存在すると2つのことが間違っていた。 アダプターは失敗しました RuntimeException(status + " HuggingF...
ルータが実際に役立つハッギングフェイスモデルをリスト
チャットは、Inference Providersルータに行きます ************************************************ どこかに「ワーム」のモデルのためのハブ — 異なる、はるかに大きい ルータが与えられたトークンと有効化されたプロバイダのために役立つものよりも設定します。...
Unreviewed-reply unread-count エンドポイントを削除
AI未読バッジのkamo内部除去でペアリング:カウント メンバーにアクション可能なこと(プッシュチャネルは戻らないので、 非ゼロは「終わる前に窓を最小にしました」だけ、 なので、フェードした2つのエンドポイントもまた行く。 GET /api/ai/sessions/unread, PUT /api/ai/sessio...
自分のJVMヒープ天井の上にポッドを大きさで分類 [skip ci]
画像は -XX:MaxRAMPercentage=70 -XX:+ で JVM を起動します。 お問い合わせ 単独でheapは容器の限界の70%を取り、事前接触はあらゆる約束を保ちます サイトマップ 非ヒープ — 未処理のメタスペース、コードキャッシュ、スレッドスタック、直接 バッファ — パーセンテージが見えないほど...
モデルを管理し、使用方法を読み込むことは、それらを名前付ける権利を取ります
AiModelController と AiUsageController は、組織の所有権と権利を検証しました。 既にモデルコントローラーの403sはprovider.getOrganizationId()をに比較します セッションのorg — 実際のテナントの隔離、さまざまな質問 caller はモデルをまったく管...
オブジェクトのストレージの秘密を宣言 ConfigMap はもはや実行しません
MINIO キーは ConfigMap から minio-app-credentials に移動しました。 秘密, しかし、envFrom その供給は、かつて住んでいるだけに適用されていました 導入 — ここまでコミットしません。 次の CI デプロイはこのマニフェストを反転しました ライブパッチ上に、 ConfigM...
共有されたクレデンシャルを config のデフォルトとして出荷停止
プラットフォームの共有パスワードは、DB PASSWORDのフォールバックとして焼き上げられました。 MINIO ROOT PASSWORD は、このリポジトリとビルドされたイメージに住んでいました。 クラスターマニフェストで。 生産は、DBのデフォルトを使用しないこと — *** 供給 envFrom による DB...
共有MFAリポジトリをスキャンする
MfaEnrollmentService は、kamo-shared-library の @Service なので、ワイルドカード @ComponentScan("com.kamo") このアプリケーションでは、このかどうかを構成します。 サービスには、MFAで何をすべきか、そのコンストラクタのニーズ UserMfaE...
Kubectlのダウンロードをフラッキ・エグレッシにハードン [skip ci]
dl.k8s.io オーバー ランナーのエグレッション 断続的にミッドトランスファーをドロップ: curl: (56) OpenSSL SSL read: 復号化が失敗したか、悪いレコードマック それ以外の緑のビルドでデプロイが失敗する。 繰り返し観察 kamo-signer-monorepoとkamo-transla...
ビジョン障害を分類し、再試行ループと遮断器が実際に動作する
VisionComplete の2つのバグ、それらを処理するために構築された機械の敗北。 SUCCESSとして空白の内容応答が返され、再試行ループが終了しました。 すべてのアダプター また、FinishReason "error" を設定して、ループが生き残るのを正確に失敗させます(モデル FIRST候補に画像が読み...
画像を送信できないアダプターにビジョンをルーティングしない
AiProvider.supportsVisionは、手書き可能なデータベースフラグであり、単独で信頼されるルーティングです。 HuggingFace および Cohere のアダプターは全くimageUrls を、そして独自に読みません サポートVision() — 正しく false を返す — は、NOWHERE...
人類は、すべてのシステムメッセージが、最後に低下しました
buildRequestBody は、システムフィールドを蓄積するのではなく、 1つのシステムメッセージのみが最終モデルに達した。 練習では、 意味: retrieval が知識ブロックを注入するとすぐに、エージェントの OWN 指示は、そのコンプライアンスを含む、静かに捨てられた部分でした 制限事項 コンテキストウィ...
ロックされたルールは、セクションまたは全ドキュメントのオーバーライドを存続させます
マニュアルセクションを手作業で受け継ぐ著者は、セクション全体に置換します。 内側にロックされたパックルールをサイレントに破棄したので、'never quote a そのセクションを書くことを選ぶだけで、しっかりした番号としてレートを削除できます お問い合わせ 編集モードを切り替えることで、任意の著者をロック解除すること...
ストリームされた返信が低下し、空白のアシスタントメッセージを主張
EMPTYアシスタントバブルとして成功するチャットの完了が戻ってきました。 ザ・オブ・ザ・ アシスタント行は content len=0 と is error=false で保存されているため、 クライアントは忠実に何もレンダリングしませんでした。 原因: リテラル "data: "プレフィックス (`filter(...
ビジョンモデルがイメージを拒否したときに次のモデルを試してみる
モーダリティフィックスの後に再び生産をプロービング, ルーティングは、テキストからスピーナに移動 o3-miniへのモデル — o-series 推論モデルで、画像入力が不要なので、ビジョン それでも502を返す。 これはレッスンです: supportVision はモデル名から来ます。 発見し、手作業で編集可能であり...
視覚をテキスト・ツー・スピーナ・モデルにルーティングするのを止めて下さい
生産のプロービングによって見つけられる: org 1188756624575266822の視野は解決しました gpt-4o-mini-tts-2025-03-20 — TEXT-TO-SPEECHモデル — すべてのビジョンは502を返しました。 文書抽出と他のビジョン機能が、そのテナントにとって失敗しています。 2...
クエリで履歴画像を読み込み、レイジー getImages() (WS パス) ではなく
******************** は、WebSocket パスで実行します (から呼びます) AiChatWebSocketHandler は HTTP リクエストではないため、オープンセッションインビュー は適用しません。 読み込まれた歴史を反復し、msg.getImages() に触れる @OneToMan...
SWITCH MODELがセッションをオートにリセットできるようにする
handleSwitchModel は UUID-parsed modelId と null でエラーが発生したので、セッション チャット中自動モデル選択に戻すことはできません。 パースモデルId として 文字列: null/empty/"auto" はセッションモデル (setModel(null) + 保存をクリア...
ベンダー間の堅牢なビジョンプロバイダー/モデル選択
2 パス selectVisionProvider: アクティブなビジョン対応モデルを持つ任意の org プロバイダーを好む アダプターはすでにimage urlのコンテンツとレポートのsupportVisionを出力し、その後は戻ります
関連する KB 結果のフィルタリングを停止するために、0.5 から 0.25 までの RAG の最小スコアのしきい値下げ
0.5のしきい値は、埋め込むモデルから有効な結果をサイレントに捨てられました。 特にドメイン固有のコンテンツには、384-dimベクターが小さくなります.
Add response body and request logging to RagClient for debugging
Log the RAG search request URL, orgId, query, and response body on error to diagnose 500 responses from RAGService.
Use non-streaming chat completion for REST endpoint
Streaming over REST with blockLast() was producing empty responses because WebClient's SSE parsing doesn't work reliably with bodyToFlux(String.class). Added ha...
Add detailed error logging to HuggingFaceAdapter for debugging 400 errors
Captures and logs the actual HF error response body instead of just status code.
Switch HuggingFace to router.huggingface.co (api-inference is deprecated)
HF returns 410 on api-inference.huggingface.co with message to use router.huggingface.co instead.
Use HuggingFace OpenAI-compatible endpoint with model in request body
HF's /v1/chat/completions endpoint takes the model ID in the JSON body, not in the URL path. Switched from per-model URL routing to standard
Add model count to provider list, switch HF to router endpoint
- Include modelCount in provider list GET response - Switch Hugging Face default base URL to router.huggingface.co - Support both api-inference and router URL f...
Return full decrypted API key in provider responses
Users need to see and edit the full key, not a masked version.
Normalize base URL to prevent /v1/v1 duplication
Strips trailing /v1 from base URL before appending /v1/chat/completions, so users can enter base URLs with or without the /v1 suffix.
Restructure test connection to discover models first, handle rate limits gracefully
- Model discovery (lightweight GET) runs before chat test (POST) - Rate limit (429) errors show user-friendly warning instead of failing - Auth errors (401/403)...
Use provider-specific test model instead of hardcoded gpt-4o-mini
Each provider type now uses an appropriate model for connection testing
Serialize entity IDs as strings to prevent JavaScript precision loss
CockroachDB unique_rowid() generates INT8 values that exceed JavaScript's Number.MAX_SAFE_INTEGER, causing ID corruption in the frontend.
Add OTK authentication support matching SecurityService pattern
- Add OTKPreAuthFilter to validate X-OTK header and resolve to *** session - Update SessionHelper to read from request attributes set by filter - Update all con...