CADDi Tech Blog

https://caddi.tech/

キャディ株式会社のTechブログです

フィード

記事のアイキャッチ画像
キャディ機械学習勉強会: マルチテナントSaaSにおけるLLMシステムアーキテクチャについて
CADDi Tech Blog
こんにちは、Data&Analysis部(D&A)です。 D&Aでは週1回、機械学習の勉強会を開催しており、本記事は、勉強会の内容を生成AIを活用して記事にまとめたものです。 ※勉強会内容公開の経緯はこちら ※過去の勉強会は「社内勉強会」タグからもご覧いただけます。 はじめに LLMシステムアーキテクチャの概要 テナントごとの体験を提供するLLMシステム RAG ファインチューニング RAGとファインチューニングの併用 サイロとプール サイロ プール LLMシステムを構築する際の考慮事項 テナント分離 コスト計算 ノイジーネイバー まとめ はじめに 今回は、マルチテナントSasSにおけるLLM…
23日前
記事のアイキャッチ画像
アプリケーションアーキテクチャをいい感じに検証し続けたい話
CADDi Tech Blog
こんにちは、Drawer Growthグループ ソフトウェアエンジニアの内田(id:usadamasa, @usadamasa)です。弊社ではApache Icebergの活用*1とともに、一部のアプリケーションにJavaを導入しています。今回は、システムアーキテクチャから一段レイヤを下げてアプリケーションレベルのお話しをしたいと思います。 アプリケーションアーキテクチャの設計と運用課題 アプリケーション開発において、私たちエンジニアは通常、パッケージ構成やレイヤの依存関係、ロギングなどの観点からアーキテクチャを設計します。 しかし、実装との不整合やチーム内での共通認識が不十分なまま進むと、品…
24日前
記事のアイキャッチ画像
Auth0を使って1年かけてSSOをサポートした話
CADDi Tech Blog
はじめに はじめまして、Drawerグループ所属のもりやです。 キャディは入社して約2年になりますが、ブログ記事を書くのは初めてです。よろしくお願いします。 私は入社時から 製造業データ活用クラウドCADDi Drawer の開発に携わっており、最初のRBACベースの認可を私が中心に実装しました。 その関係から、今はIDチームで認証認可周りの開発を担当してます。 今回は、CADDi DrawerでSSOをサポートしたことについて、主にAuth0の観点で書きます。 おことわり この記事は、Auth0をある程度使ったことがある方向けに書いています。 タイトルに「1年かけて」とありますが、開発着手か…
1ヶ月前
記事のアイキャッチ画像
キャディ機械学習勉強会: GraphRAG
CADDi Tech Blog
こんにちは、Data&Analysis部(D&A)です。 D&Aでは週1回、機械学習の勉強会を開催しており、本記事は、勉強会の内容を生成AIを活用して記事にまとめたものです。 ※勉強会内容公開の経緯はこちら ※過去の勉強会は「社内勉強会」タグからもご覧いただけます。 概要 GraphRAGの概要 RAGの概要と課題 GraphRAGの基本的な考え方 ナレッジグラフとは アルゴリズムの概要 標準的なGraphRAG MicrosoftによるGraphRAG GraphRAGの評価 ナレッジグラフの評価 GraphRAGの評価 ナレッジグラフ / GraphRAGの課題 ナレッジグラフの課題 Gr…
1ヶ月前
記事のアイキャッチ画像
TypeScriptによるElasticsearchバッチ処理のパフォーマンス改善
CADDi Tech Blog
こんにちは、 Drawer Growth グループの大木です。 キャディでは、膨大な図面データを効率的に検索・活用できるよう、Elasticsearchを活用した図面検索機能を提供しています。 このシステムにより、キーワード検索から類似図面の検索、図面に紐づく受発注情報での検索などを実現しています。 しかし、この図面と受発注情報の関係は多対多の関係にあり、大量のデータを効率的に処理することが課題でした。 この記事では、これに対してどのように対処しているのかについて紹介します。 課題の詳細 前提: Elasticsearchにおけるデータ更新の流れ Elasticsearchに保存されるデータは…
1ヶ月前
記事のアイキャッチ画像
氷山を穿つ - Apache Icebergに大量データを投入するTopic -
CADDi Tech Blog
こんにちは、柴犬がかわいい。Tech本部の前多です。 先日、弊社でApache IcebergとTrinoによる活用事例についての記事を上げました。 caddi.tech 記事では、Icebergへのデータ投入について次の記述がありました。 ユーザがアップロードしたCSVファイルをパースしてIcebergに保存する 図面の解析結果を一定間隔のバッチで受け取りIcebergに保存する 実際のところ、ファイルからIcebergへのデータ投入はサイズによっては困難なことがありました。 今回はIcebergへのデータ投入に関するTopicをお伝えします。 データ投入で発生した課題 私たちは、クエリエン…
1ヶ月前
記事のアイキャッチ画像
Google Cloud API Client Libraries for Rustにコントリビュートした話
CADDi Tech Blog
こんにちは、Drawer Growthグループ所属エンジニアの中山です。 今回は、先月から個人的に始めたOSSへのコントリビューション活動についてご紹介します。 ※ 会社としての取り組みではなく、あくまで個人の取り組みになります。 背景 弊社が開発している図面データ活用クラウド「CADDi Drawer」では、バックエンドの一部にRustを利用しています。また、クラウドプラットフォームとしてGoogle Cloudを利用しています。 現状、RustでGoogle Cloudのリソースを操作する際には課題があります。それは正式版(GA)のRust向けGoogle Cloud公式ライブラリがまだ存…
1ヶ月前
記事のアイキャッチ画像
Apache IcebergとCDCによるデータレイクハウス拡張
CADDi Tech Blog
こんにちは、 Drawer Growth グループの高藤です。先日、弊社の江良が活用事例として取り上げた Apache Iceberg の活用事例にあるよう、キャディでは Apache Iceberg を採用したデータレイクハウスの構築を行っています。前回に引き続き今後計画していることについて紹介したいと思います。 先日の江良がまとめた活用事例にもある通り、現在構築しているデータレイクハウスでは、お客様が手元にある構造化データに対して、お客様自身でデータをアップロードし CADDi Drawer 内で利用できるようにしています。データレイクハウスを通じて、お客様固有のデータを CADDi Dr…
2ヶ月前
記事のアイキャッチ画像
キャディでの Apache Iceberg 活用事例
CADDi Tech Blog
こんにちは。Drawer Growth グループの江良です。 キャディが「製造業 AI データプラットフォーム」の構想を打ち出してから半年ほどが経ちました。 caddi.com このコンセプトの実現にあたっては、「AI」の部分だけでなく、「データ」の部分を支える仕組みづくりも重要になってきます。今回は、私が携わっているプロジェクトで導入した Apache Iceberg とその使いどころについて紹介したいと思います。 製造業におけるデータ活用の難しさ 本題に入る前に、まずは背景について少し補足します。 (Iceberg の話だけを読みたい人は「採用したアーキテクチャ」のところまでスキップしてく…
2ヶ月前
記事のアイキャッチ画像
キャディ機械学習勉強会: Qwen2-VL
CADDi Tech Blog
こんにちは、Data&Analysis部(D&A)です。 D&Aでは週1回、機械学習の勉強会を開催しており、本記事は、勉強会の内容を生成AIを活用して記事にまとめたものものです。 ※勉強会内容公開の経緯はこちら ※過去の勉強会は「社内勉強会」タグからもご覧いただけます。 概要 Qwen2-VL の概要 技術的な特徴 主なベンチマーク結果と性能 関連モデル モデルの利用とライセンス 結論と感想 参考リンク 概要 今回の勉強会ではAlibaba Cloud が開発した Vision-Language Model (VLM) である Qwen シリーズ、特に Qwen2-VL の特徴、性能、関連モデ…
2ヶ月前
記事のアイキャッチ画像
proptestを使うとテストが捗る
CADDi Tech Blog
Drawer Growthグループ所属エンジニアの中野です。先日、採用候補者の方が「Rustを勉強する際にキャディのTech Blogにお世話になった」という話をして下さりとても嬉しかったのですが、最近Rustに関するTech Blogを執筆できていなかったので久しぶりに筆を取りました。 今回は「proptestをうまく使うとテストが捗り、ドメインモデルもキレイにできる」というテーマで書きます。 TL;DR proptestの活用で、テストの見通しが良くなりレビューが捗ります。AIによるコード生成も相まって、コードのレビュー量が増える際にもテストの見通しの良さは大事になります。 また、prop…
2ヶ月前
記事のアイキャッチ画像
キャディ 機械学習勉強会: LLM as a Judgeのレビュー論文について
CADDi Tech Blog
概要 LLM as a Judgeとは? なぜLLM as a Judgeが注目されているのか? LLM as a Judgeのプロセス プロンプト設計の詳細 モデル選択の詳細 後処理の詳細 LLM as a Judgeの適用シナリオ 評価パフォーマンス改善戦略 LLM評価者の評価 課題と今後の展望 結論 余談 概要 2025年1月10日に行われたキャディ機械学習勉強会でのLLM as a Judgeに関するレビュー論文の紹介と議論を踏まえ、本記事はA Survey on LLM-as-a-Judge を読み、内容をまとめ、LLMを評価者として用いる概念、そのプロセス、利点、課題、将来展望につ…
2ヶ月前
記事のアイキャッチ画像
キャディ機械学習勉強会の公開を始めます
CADDi Tech Blog
はじめに こんにちは、Data&Analysis部(以下、D&A)所属の宇佐見です。D&Aは弊社が展開する製造業AIデータプラットフォームCADDiに集約されたデータを解析して価値を創造することがメインの業務です。 解析にはもちろん機械学習を用いることが多く、メンバー間の知見共有が求められます。そこで始まったのが機械学習勉強会だと思われます。 思われます、と書いているのはなぜかというと、この勉強会は非常に歴史が長く、2021年の1月ごろから続いているものだからです。 私は2024年8月入社なので初めの頃の雰囲気は不明ですが、おそらくそういう課題はどこのチームにもあるものなのでそういうモチベーシ…
2ヶ月前
記事のアイキャッチ画像
Building for the future in 2025
CADDi Tech Blog
It is almost the end of 2024. This article is the final article in the CADDi's product team Advent Calendar 2024. While the vast majority of this blog is written in Japanese, I write this in English as CADDi has offices and customers in four countries, and has employees from around the world. Lookin…
4ヶ月前
記事のアイキャッチ画像
開発者向けドキュメントの改善のその後
CADDi Tech Blog
本記事は、CADDi プロダクトチーム Advent Calendar 2024 24 日目の記事です。 adventar.org こんにちは、Tech チームの @akitok_ です。 本記事では開発者向けドキュメントの改善を半年以上続けてきた結果とその課題、今後の展望などを紹介します。 ドキュメント改善の背景 ドキュメントメンテナンスをやってみた結果 ドキュメント数の削減 ドキュメントのアクセス数の変化 仮説 ドキュメントメンテナンス活動のふりかえり 毎月のメンテナンス対象ドキュメント数の推移 チーム内でのふりかえり 現時点の開発者のドキュメント課題とは何なのか? 終わりに ドキュメント…
5ヶ月前
記事のアイキャッチ画像
Pythonアプリのログ改善: contextvarsを活用してスマートなログ対応
CADDi Tech Blog
本記事はキャディ株式会社のアドベントカレンダーに寄稿しています。 adventar.org こんにちは。 CADDi の Analysis PlatformチームでMLOps エンジニアを務めているcdi-amaniです。 普段は図面データ活用クラウド「CADDi Drawer」のエンジニアとして、機械学習のプラットフォームの開発を行っています。 本記事はアドベントカレンダー22日目の記事として、Pythonのログ改善をテーマに書きました。 それでは、早速本題に入りましょう。 Python開発者の皆さんはログ出力において、こんな課題ありませんか? 処理対象を特定するために、request_id…
5ヶ月前
記事のアイキャッチ画像
Lessons From Building a Workflow Platform
CADDi Tech Blog
Introduction Our names are Kim Björkman and Nicolas Vivot and we are software engineers on the Workflow Engine team at CADDi. We work to provide the internal batch processing platform on which DRAWERs ingestion pipeline runs. This article is the 21st in the advent calendar, and is about what we lear…
5ヶ月前
記事のアイキャッチ画像
技術書の執筆を支える技術
CADDi Tech Blog
IDチームの小森です。 CADDi プロダクトチーム Advent Calendar 2024の18日目の記事になります。 いよいよ年の瀬ですが、皆さんは年初に立てた目標などを達成できましたでしょうか。 私はずぼらなので年初の目標など立てたことはないのですが、今年ようやく5年越しの取り組みに一区切りをつけ、誓いを果たすことができました。 私事ですが、人生3冊目の著書『[改訂新版] プロになるためのWeb技術入門』を2024年11月28日に刊行しました。 おかげさまで好評をいただいております。 本エントリーでは、技術書執筆の技術的な側面について、私が取り組んできたことを紹介したいと思います。 技…
5ヶ月前
記事のアイキャッチ画像
dbt × BigQuery でスプレッドシートを source としてコード管理する
CADDi Tech Blog
この記事は dbt Advent Calendar 2024 の15日目の記事です。 Data Management チームの森岡です。 スプレッドシート便利ですよね。スプレッドシートをデータソースとして、BigQuery に取り込んでいるケースも多いと思います。ただ、スプレッドシートを外部テーブルとして BigQuery に取り組むとき、Google Cloud のコンソールで操作するの面倒じゃないですか。 シートの範囲を間違えたり、カラム名がイマイチで作り直したら、今度は「あれ?ヘッダー行のスキップ指定、忘れてた...」となってやり直しになること、ありますよね? 今回は、そういった煩わしさ…
5ヶ月前
記事のアイキャッチ画像
KEDA を使って Pub/Sub メッセージ数に応じたスケーリングを行う
CADDi Tech Blog
本記事はキャディ株式会社のアドベントカレンダーに寄稿しています。 こんにちは。キャディ株式会社の Analysis Platform Group で MLOps エンジニアを務めている廣岡です。普段はキャディの図面活用クラウドサービス CADDi Drawer のエンジニアとして、図面に対する機械学習解析のインフラやバックエンドの開発を行っています。 今回は KEDA を使って、Google Cloud Pub/Sub のメッセージ数に応じて Kubernetes ワークロードのスケーリングを行う方法を紹介します。 背景 Drawer では図面データの解析や格納など、サービスの様々な箇所で非同…
5ヶ月前
記事のアイキャッチ画像
ソフトウェア開発者のための会計知識 (PL編)
CADDi Tech Blog
本記事は、CADDi プロダクトチーム Advent Calendar 2024 10日目の記事です。 adventar.org はじめに CTO室の西名(@mikesorae)です。最近はもっぱら予算策定や生産性改善の施策を担当しています。 ソフトウェア開発とビジネス、インフラ構成と予算管理、生産性と投資対効果等、事業組織でソフトウェアを開発する上ではどうしてもお金の話がついて回ります。 本記事では、ソフトウェア開発者がステークホルダーと建設的に議論し、より大きなインパクトを生み出すために抑えておくべき会計の用語やポイントをご紹介します。 Why 会計知識 ゲームのルールを理解する 「今この…
5ヶ月前
記事のアイキャッチ画像
Kaggle の 5-day 生成AI 集中コースのキャッチアップをした話
CADDi Tech Blog
はじめに Kaggle の 5-day 生成AI 集中コースとは 感想 Day1: Foundational Models & Prompt Engineering Day2: Embeddings and Vector Stores/Databases RAG の構築 類似度・分類モデルの作成 Day3: Generative AI Agents Gemini で関数呼び出しをする方法 LangGraph を用いた AI エージェントの作り方 Day4: Domain-Specific LLMs Day5: MLOps for Generative AI まとめ この記事は CADDi プロ…
5ヶ月前
記事のアイキャッチ画像
LLM as a judgeを利用して、デプロイ後の図面解析モデルの精度を追跡する方法を考えてみる with Generative AI on Vertex AI
CADDi Tech Blog
はじめに LLM-as-a-judge 対象のタスク 実験概要 実験のプロセス Generative AI on Vertex AIでの実装 評価結果の確認 追加実験 まとめ はじめに こんにちは、Analysisチームの宇佐見です。 こちらはCADDi プロダクトチーム Advent Calendar 2024 6日目の記事になります。 adventar.org 皆さん、機械学習モデルの精度を追ってますか?PoCの話ではなく、デプロイした後の話です。 CADDiが展開するCADDi Drawerの一機能の図面解析も機械学習を用いて行われており、デプロイしたモデルの精度が期待していたよりも低け…
5ヶ月前
記事のアイキャッチ画像
巨大JSONカラムをもつテーブルを最適化し、サービスレベルを下げずにBigQueryのクエリコストを90%カットした話
CADDi Tech Blog
この記事は CADDi プロダクトチーム Advent Calendar 2024 の4日目の記事です。 Data Management チームの森岡です。要らなくなったものをすぐに捨てられるデータ基盤を意識して日々開発しています。 今回は、クエリコストを下げるための方針を体系的に整理するのと、BigQueryのクエリコスト削減施策の中でとくに効果が大きかった事例について紹介しようと思います BigQueryのクエリコストを削減する3つの基本方針 BigQuryの課金体系には、On-demandとCapacityの2つがありますが、CADDi ではOn-demandで利用しています。そのため、…
5ヶ月前
記事のアイキャッチ画像
Apache Camelの Saga と Cloud PubSubを組み合わせる
CADDi Tech Blog
この記事は CADDi プロダクトチーム Advent Calendar 2024の2日目の記事です。 Tech チームの前多です。個人的なことですが この一年で10kgほど減量しました。体重や食事量、活動量の記録と可視化を行って調整してきた結果だと思います。 人生もシステムもオブザーバビリティが大事ですね。 CADDi の技術スタックは採用サイトでも紹介されている通り、TypeScript, Python, Rustの比率が高めです。 一方でプロダクトや組織の拡大に合わせて、生産性の高い技術スタックの検討も行っています。 JavaおよびJVM関連技術も検討候補の一つで、私も3,4年ぶりくらい…
5ヶ月前
記事のアイキャッチ画像
2025年度 Data&Analysis合宿レポート
CADDi Tech Blog
こんにちは、CADDiの図面解析チームで機械学習エンジニアをしている宇佐見です。 このブログでは先日行われたチーム合宿について書かせて頂きます。 はじめに 全体の流れ D&A戦略理解 & チーム説明 マシュマロチャレンジ ハッカソン 最後に はじめに CADDiは「製造業AIデータプラットフォームCADDi」を提供しています。 私が所属するData&Analysis部(以下、D&A)は文字通り集約されたデータを分析するのがメインの業務です。 Drawerに集まるあらゆるデータを対象とはしていますが、私が所属するチームは図面データ活用クラウドであるCADDi Drawerというプロダクトに集まっ…
6ヶ月前
記事のアイキャッチ画像
Multimodal Large Language Modelを画像認識タスクへの適用
CADDi Tech Blog
はじめまして、CADDiの図面解析チームで機械学習エンジニアをしている藤田です。 CADDiでは、CADDi Drawerという図面データ活用クラウドサービスを提供しています。私の所属するチームでは、Drawer上にある図面画像から様々な情報を抽出する、機械学習モデルを作ることに取り組んでいます。その取り組みの1つとして、Multimodal Large Language Model (MLLM)というモデルを図面画像に適用し図面解析をするということを、PoCとして実施しています。今回、MLLMの取り組みについて紹介します。 Multimodal Large Language Modelとは?…
8ヶ月前
記事のアイキャッチ画像
Istioのenvoyサイドカーをデバッグする
CADDi Tech Blog
SREチームの前多です。以前、Google Cloudが提供するサービスメッシュのAnthos Service Meshの入門記事を書きました。 caddi.tech この記事のまとめで私は、Istio (Anthos Service MeshのベースのOSS) を詳しく知るには、envoyのことをもっと知る必要があると書きました。 そしてサービスメッシュで何かエラーが起きているとき、それはサービスメッシュ自体ではなく インフラやアプリケーションのバグや設定ミスがサービスメッシュによってあぶり出されるということも述べました。 先日、サービスメッシュ上でPod間のgRPC通信が特定条件で失敗し、…
10ヶ月前
記事のアイキャッチ画像
Platform Engineering Kaigi 2024 で「開発者向けドキュメントの改善」をテーマに登壇してきました
CADDi Tech Blog
こんにちは、Platform チームの @akitok_ です。 CADDi Platform チームでは、チームトポロジーの定義に基づいてストリームアラインドチームが自律的に仕事を届けられるようにするため、様々なアセットとそれに付随するドキュメントなどを提供しています。 Platform チームのミッションやその活動などについては、以下の記事などを読んでいただけますと幸いです。 なんでもやるがなんでもはやらない?CADDi の Platform チームは、何をするチームなのか? - CADDi Tech Blog あれから 1 年、Platform チームのその後 - CADDi Tech …
10ヶ月前
記事のアイキャッチ画像
MLの裏側を支えるアノテーション組織運営の実践禄
CADDi Tech Blog
はじめまして! 機械学習チームでプロダクトマネジメントを担当している、井上といいます。 今回はCADDiにおけるアノテーションの組織づくりについて紹介します。 アノテーションについて調べると、データ生成や品質改善のノウハウはよく目にするものの、アノテーションを行う組織体制づくりに関する情報は中々見つかりません。弊社のアノテーション組織づくりがその一事例として、参考材料になればいいなと思います。 「紹介します」なんて言うとさもよくできた事例のように聞こえそうですが、実際は試行錯誤の日々です.....💦 アノテーションってなんなの? アノテーションの組織づくりが必要になる背景 CADDiのアノテー…
10ヶ月前