kuroinu

ソフトウェア開発者として、十数年。 ソフトウェア開発に関するTipsと機械学習、AI関連の記事を書いていこうと思っています。

kuroinu

ソフトウェア開発者として、十数年。 ソフトウェア開発に関するTipsと機械学習、AI関連の記事を書いていこうと思っています。

最近の記事

  • 固定された記事

DeepEvalとLangfuseをつかってみた

数多くのLLMが公開されていますが、それらのLLMをカスタマイズして高い品質で提供するためにはLLMが生成したテキストが人が期待した結果かどうかを評価する必要があります。 クローズドなLLMならば場合によってはほとんど評価せずに機能を提供することも可能かもしれません。 しかし、ローカルLLMのようなモデルだと評価を行い期待した結果が生成が行われることを保証した上で機能を提供することが必要になるでしょう。 そこで、Langfuseのようなツールによって実行ログを収集して、Dee

    • ローカルLLMで音声合成

      StableTTSという音声合成ライブラリを使って、llama3.2が生成したテキストを喋らせてみました。 準備 llama3.2はオリジナルモデルをollamaを使って実行します。 StableTTSは事前学習モデルを使用して、推論のみを行います。 モデルファイルは事前にダウンロードしておきます。 Ollamaのhostとモデルファイルのパスは実行中の環境に合わせて変更してください。 from IPython.display import Audio, displ

      • ローカルLLMでPlanAndExecuteAgent

        概要今回はPlanAndExecuteという構造のAgentを実装してみました。 PlanAndExecuteは、ユーザーのリクエストに対してPlanモジュールによって行動計画を作成し、Agentがその計画を実行する。 さらに、その出力をReplanモジュールで評価、再計画します。 実装してみての結論を先に書いてしまいますが、あまり期待通りの動作をしてくれませんでした。。。 参考にしたnotebookは以下。 実装LLMの準備 vLLMでモデルをデプロイします。 mo

        ¥100
        • ローカルLLMでAgent構築

          ローカルLLMを使ってAgentを構築して、ツールの呼び出しまでやってみようと思います。ローカルLLMは制御が難しく、Agentととして動作させるのが難しい印象でしたが、日本語でも性能の高いモデルが登場しているのでトライしてみます。 LLMの準備 vLLMでモデルをデプロイします。 from typing import List, Optionalfrom pydantic import BaseModel, Fieldfrom vllm import LLM, Sa

        • 固定された記事

        DeepEvalとLangfuseをつかってみた

          LLMの応答形式を制御する

          LLMの応答形式を制御して、確実に決まったJSON形式で応答できるようにする方法を紹介します。 ローカルLLMではプロンプトに回答形式を記述しても、その形式で返答されない場合が多く、そのままではLLMをシステムに組み込むことが難しい。 そこで、outlinesのようなLLMの生成処理をガイドするようなライブラリを用いて制御したいと思います。 今回は、ReActっぽいプロンプトの出力をoutlinesでJSON形式に制御する方法を試してみます。使用するモデルはElyza

          LLMの応答形式を制御する

          SHAPを使ったモデル解釈

          問題設定前回の記事でlightGBMがどのように予測を行ったのかという根拠を可視化する方法を説明しました。しかし、データがどのようになれば予測が変わるのかを説明するのは難しそうです。 どういうことかというと、例えば、「購買予測をする際にユーザーにどのようなアプローチをかければ、購買行動を起こしやすくなるのか?」という疑問に対する回答はモデルの予測根拠を提示しても得られない。 今回はこの疑問に回答するためにSHAPを使ってみようと思います。 前回、lightGBMでポケモ

          SHAPを使ったモデル解釈

          dtreevizを使ってみた

          dtreevizを使って決定木アルゴリズムを可視化してみます。決定木アルゴリズムとはlightGBMやRandomForestなどを言います。 実験用データとして、下記のポケモンデータを使用します。このポケモンデータのLegendaryを予測するモデルを作成し、その予測をdtreevizで可視化します。 データの確認 モデルの作成を行う前にデータを簡単に確認しておきましょう。 import polars as pldf = pl.read_csv('Pokemon.c

          dtreevizを使ってみた

          資料の対話型音声の生成

          NotebookLMを使って、要約した資料から対話型の音声データを生成してみました。生成される音声データは英語のみなので、文字起こし⇒日本語訳⇒音声合成までやってみました。 NotebookLMで英語対話音声の生成解説してほしいWebページやPDFをソースとして読み込んで、下の画像のように「ノートブックガイド」を開いて、「音声の概要」で英語の対話音声を生成する。音声の生成が完了するまで、結構な時間がかかりました。 音声が生成されたら、以降の処理をするためにダウンロードしま

          資料の対話型音声の生成

          3つのAIツール: UpTrain、Napkin AI、OpenAI o1

          これから使ってみたいと思っているUpTrain, Napkin AI, OpenAI o1というAIツールを紹介。 使ってみた感想にしたかったのだが、まずは記事を書くことを優先することにしました。 UpTrainLLMOpsプラットフォームとして展開されていますが、自分が使ってみたいと思っているポイントはLLMアプリケーションの評価ツールとしての機能。 LLMアプリケーションを評価する方法やそのツールを多数知っているけど、どれがよいかわからないというのが現状。 UpTrai

          3つのAIツール: UpTrain、Napkin AI、OpenAI o1

          初めてのnote投稿

          初めてのnoteへの投稿です。 自身のサムネイル画像の設定とプロフィールの文章を更新したので、その流れで記事を書くことにしました。 サムネイルについて 今回、サムネイル画像はImageFXというツールを使いました。ImageFXはGoolgeのImagen3という画像生成モデルを使用したツールです。 プロンプトは日本語対応しておらず、拙い英語で作成しましたが、ほとんどチューニングすることなく好みの画像が生成されました。 おわり こんな感じで最近流行りのツールを使って

          初めてのnote投稿