LegalOn Technologies Engineering Blog

LegalOn Technologies 開発チームによるブログです。

条件付き文書ラベリングをスマートに解く - Structured Outputsでラベルの組み合わせ爆発を回避する方法

はじめに

こんにちは、株式会社LegalOn Technologies で検索・推薦チームに所属している福田と申します。

わたしたちのチームでは、LLM (大規模言語モデル) を用いて文書をラベリングし、そのラベルを検索や推薦のサービスで役立てています。

この記事では、LLMを使って文書をラベリングする際、付与されるラベル同士の制約がある場合に、どうやってLLMに制約を満たすような出力を強制させるかについて説明します。特にラベルの組み合わせ数が多い場合、Structured Outputs (Geminiで言うところのControlled generation) を利用した際にAPIで定められたEnumの要素数 (=ラベル数) の上限に達してしまいます。このようなケースでどう上限を回避しLLMにリクエストを送るかについても解説します。

想定読者

  • LLMの文書分類に興味がある方
  • Structured Outputsに触れたことがある方
続きを読む

GeminiでdbtのDescriptionを自動補完したら、2,000件以上のメタデータ整備が1分以内で完了した話

はじめに

株式会社LegalOn Technologiesでアナリティクスエンジニアをしている鈴木です。

データ活用の現場では、メタデータの品質が分析や開発の効率を大きく左右します。特に、データベースのカラム定義(description)は、データの意味や使い方を理解する上で重要な役割を果たしています。

今回は、Gemini(生成AI)を活用してBigQueryのテーブルdescriptionを半自動補完する取り組みについてご紹介します。この施策により、データの可視性・可読性が向上し、チーム全体のデータ活用効率が改善されました。

続きを読む

Kubernetes ネイティブなポリシー制御!Validating Admission Policy で開発者の操作を制限してみた

はじめに

こんにちは、株式会社LegalOn Technologies で SRE をしている加藤です。私たちのチームでは、主に GKE (Google Kubernetes Engine) 上でサービスを構築・運用しており、 日々 Kubernetes クラスターと向き合っています。

本記事では、私たちが利用している GKE 環境におけるセキュリティとガバナンスの強化を目的として、特定の Namespace における開発者の Pod 操作を制限したいという課題に対し、Kubernetes v1.30 で GA となった Validating Admission Policy を活用して解決した事例をご紹介します。具体的な設定方法から、それによってどのような効果が得られたかまでを解説します。

続きを読む

AI-powered Development Center of Excellence (AID CoE) 発足!AI駆動開発で LegalOn Technologies の開発を加速する

こんにちは、2025年2月から発足した CTO オフィスでリーダーをしている時武です。

LegalOn Technologies ではこの度、開発組織全体の生産性向上を目指す CTO オフィス主導のもと、「AI-powered Development Center of Excellence (AID CoE)」を新たに立ち上げ、初期的な活動として「Cursor」と「Devin」を全社に導入しました。本稿では、その背景、目的、そして私たちが AI 駆動開発にかける想いについてお伝えします。

続きを読む

データ移行のテストに私たちはどう向き合ったか

はじめに

こんにちは!

株式会社LegalOn TechnologiesのSET(Software Engineer in Test)のhikimochiです。普段は自動テストの推進やQA横断の施策を実施しています。

LegalOn Technologiesでは昨年、企業における法務業務を包括的にサポートするAI法務プラットフォーム「LegalOn Cloud」をリリースしました。

リリース後、様々な機能追加が行われる中、弊社の他製品で契約書の内容を自動レビューするAIレビューサービスの「LegalForce」、AI契約管理システムの「LegalForceキャビネ」からのデータ移行を行うための機能開発が行われました。

本投稿では、データ移行機能のテストアプローチとしてデータベーステストを行った件と、リリース後の運用に関連するテスト事例をご紹介します。

続きを読む

Pub/Sub で正常処理したメッセージが Dead Letter Queue に入る原因と対策

はじめに

こんにちは、株式会社LegalOn Technologies (検索・推薦チーム) の佐藤 (maomao905) です。

私たちのチームでは、Google Cloud の Pub/Sub 経由で受信したリクエストを元に、LLM (大規模言語モデル) を用いて情報抽出を行い、その結果を検索エンジンに保存するパイプラインを運用しています。

この記事では、Pub/Sub で正常に処理されたメッセージが Dead Letter Queue に送られる問題の原因と対策を解説します。LLM を利用するなど、メッセージ 1 件あたりの処理時間が長いケースで発生しやすい現象であり、一度に処理するメッセージ数を制限することで解決しました。また調査過程で得られた Python Pub/Sub Client の内部実装に関する知見もあわせて紹介します。

想定読者

  • Pub/Sub を実運用している方
  • Python の Pub/Sub Client を使用している方・検討している方
続きを読む

LegalRikai: 日本法務分野のためのNLPベンチマークデータセット

こんにちは、株式会社LegalOn Technologiesでソフトウェアエンジニアをしている高橋です。

LegalOn Technologiesでは、日本の法務分野における自然言語処理(NLP)のための包括的なベンチマークデータセット、LegalRikaiを作成しています。LegalRikaiは日本法に特化したさまざまなタスクを含むベンチマークデータセットで、法務NLPベンチマークデータセットの現状における重要なギャップを埋めることを目的としています。

続きを読む