Algomatic Tech Blog

Algomaticの開発チームによる Tech Blog です

LLM でブラウザを操作する WEB エージェントと周辺技術のざっくり紹介

こんにちは。Algomatic NEO(x) カンパニー機械学習エンジニアの宮脇(@catshun_)です。

本記事ではブラウザやモバイル画面を操作する LLM エージェントとその周辺技術について超ざっくりと紹介します。

社内に向けたキャッチアップ資料として作成しており、加筆修正する可能性がありますが、本記事を読んだ方の議論のネタ程度になってくれれば幸いです。

続きを読む

JSAI2024(人工知能学会全国大会 第38回) にプラチナスポンサーとして協賛します

こんにちは、Algomatic NEO(x) カンパニーCEOのDory (@dory111111)です。 Algomaticは、JSAI2024(人工知能学会全国大会 第38回) にプラチナスポンサーとして協賛させていただきます!

www.ai-gakkai.or.jp

会期中はAlgomaticブースにてノベルティ配布などもさせていただいておりますので、参加される方はぜひお越しください!

続きを読む

生成AIカンファレンス2024運営レポート

こんにちは、Algomaticのnaotoota(@OTA57)です。現在はChief of Staffとして横断的にさまざまな支援を実施しています。
今日は先日5/8に行われた生成AIカンファレンス2024の運営のレポートになります。

生成AIカンファレンス2024とは?

gen-ai-conf.org

生成AI Conf実行委員会が主催する年に一度の大型イベントで今回が初の開催でした。
生成AI Conf実行委員会は有志のコアスタッフにより成り立っており、Algomaticからも何名かがコアスタッフとして参画しています。
※「生成AIカンファレンス」はイベントの名前で、「生成AI Conf」はコミュニティの名前です。(ややこしい)

続きを読む

Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話

最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。

LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。

JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0undefinednull が出力されてしまうみたいなこともあるでしょう。

どう指示をすれば安定して出力をさせられるのか、苦労している人も多いでしょう。

この記事では、TypeScript + Zod Schemaを使ってプロンプトを生成することで、如何に簡単に狙った通りの構造化データを出力させられるか?それにより圧倒的にプロンプトエンジニアリングが効率化したか?を書きます。

対象読者

この記事は開発者向けの記事です。TypeScriptを前提にしていますが、他の言語でも考え方は応用可能だと思います。

続きを読む

GPT-4oで広がる新しいAI活用シーン(OpenAI Spring Update)

はじめに

2024/5/14 日本時間の午前2:00にOpenAI社が「Spring Update」と評した発表を行いました。
その中ではGPT-4oという新しいモデルや、無料ユーザー向け機能の拡充、デスクトップアプリ等についての発表がありました。
今回、それを受けて、弊社の機械学習エンジニア宮脇(@catshun_)とCoSの大田(@OTA57)が緊急でpodcastを収録しました。
この記事はその内容をLLMによってQ&A記事風にまとめ直したものになります。
※速度優先で手直しをそこまでできていないので、日本語が一部おかしかったり、記事の内容が一部話した内容と違ったり、漏れていたりしますのでご了承ください。
気になる方はぜひPodcastを聴いてみてください。

podcasters.spotify.com

続きを読む

複数の関連度から検索可能な BGE M3-Embedding の紹介

こんにちは。Algomatic の宮脇(@catshun_)です。 本記事では文書検索において一部注目された BGE M3-Embedding について簡単に紹介します。

Chen+'24 - BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation

Stargazers MIT License


続きを読む

LLM評価ツールpromptfooとアサーションの解説

こんにちは、Algomatic LLM STUDIO インターンのなべ(@_h0jicha)です。

前回の記事では、LLM の日本語性能を評価するための様々なベンチマークを紹介しました。

tech.algomatic.jp

しかし、こうしたベンチマークには以下のような課題が存在します。

  • ベンチマークの導入に負担がかかってしまうため、もっと 気軽に評価したい
  • 既存のベンチマークによる評価が難しく独自実装が必要なとき、あらかじめ基本的な機能が搭載されている評価ツールを利用したい
  • LLM の評価とともに、LLM を使用する際の プロンプトの評価も同時に行いたい

そこで本記事では、LLM の出力品質を評価する際に活用できる promptfoo について紹介します。

目次

  • promptfoo とは?
  • 導入方法
    • 環境構築
    • 実験設定
    • 評価実行
  • アサーションについて
    • アサーションタイプの概要
    • 決定的評価指標(Deterministic eval metrics)
      • 文字列一致系
      • JSON 形式系
      • 閾値
      • 自作系
    • モデルグレード評価指標(Model-graded eval metrics)
      • 埋め込み・分類
      • LLM-as-a-judge 系
      • RAG 系
  • おわりに
  • 参考
  • 筆者情報
続きを読む