最近の記事

RunPodで独自モデルによるストリーム出力

概要前回は独自モデルを利用するサンプルについて解説しました。LLMモデルを使う前に、ストリーム処理を行う方法を確認してみました。LLMは通常は長い実行時間が掛かるため、ストリーム処理を行うことで結果を待つストレスを軽減できます。 モデルの作成RunPodでは、yieldで結果を返すことでストリーム処理が行なえます。以下のようにgenerate_with_streaming関数の中で、1秒おきに文字列を返すことにしました。ここでは簡単のため、"This is a pen."と

    • RunPodを使った独自モデルでのサーバレスGPU推論

      概要前回、RunpodというサーバレスでGPUを利用したAPIを作るサービスがあり、とりあえずRunPodが提供しているサンプルのモデルを使ってみました。サンプルのモデルで出来ることには限りがあるので、独自のモデルを使いたくなります。そこで自分の独自モデルをデプロイする試みをやってみましょう。今回は、特にGPUを使わないサンプル的なモデルを利用していきましょう。 モデルの作成簡単な質問応答の仕組みのサンプルを作ってみましょう。JSON形式でqueryを受け付け、JSON形式

      • Self-Extendでfine-tuningせずに長文コンテキストを扱おう

        概要Self Extendという既存のLLMモデルをfine-tuningせずに長文を扱えるようになる手法が提案されました。LLMの学習において長文を扱うのは大変なので、後処理で長文が扱えるようになるのは有用そうに思います。早速いくつか既に実装されていたので、論文の簡単な解説、ソースコードのチェックと、実験をしてみましょう。 論文の簡単な解説今回利用する論文は、「LLM Maybe LongLM: Self-Extend LLM Context Window Without

        • AutoGenをガッツリ試してみる:SQLを利用したDB内データの可視化

          概要前回の記事では、LangChainのAgent Toolkitを利用してSQLに問い合わせるサンプルを作ってみました。ただし、LangChainでSQLクエリを実行するため結果がテキストとして出力されます。人数を聞くなどする分には問題ないのですが、出力された結果がテキストとしてプロンプトに含まれてしまうのでSQLデータを利用したデータをプロットしたり加工するのには向きません。本記事ではDBから取得したデータからグラフを作るサンプルを作成してみます。 準備まずは、ソースと

        RunPodで独自モデルによるストリーム出力

          AutoGenをガッツリ試してみる:SQLを利用してみよう

          概要こんなアドベントカレンダーを執筆していたら時間が経ってしまいましたが、引き続きAutoGenを使ってみます。これまでは、テキストで会話しつつ分析をPythonにやらせる流れでしたが、もう少し違うツールも使ってみたくなります。そこで本日はAgentでSQLの仕組みを使ってみようと思います。 原理AutoGenから直接SQLを叩く仕組みを作るためには、保持しているテーブルをチェックしたり、SQLのクエリを生成して実行し、最後にテキストやグラフ・テーブルなど必要な形式で出力す

          AutoGenをガッツリ試してみる:SQLを利用してみよう

          MagicAnimateで自分の動画を使ってモナリザを踊らせよう

          概要モナリザを踊らせてみたので、シェアします。そのうち作者がシェアするらしいけど、待ちきれない人のために記事を書きます。 ソースはこちらに置きました https://github.com/peisuke/MagicAnimateHandson/tree/main やり方データの準備 まずは踊った動画を取りましょう。スマホで適当に撮影して、Google Driveにアップロード! DensePoseで姿勢推定 ここのソースコードをコピーして使うと良い。ちなみに、Dum

          MagicAnimateで自分の動画を使ってモナリザを踊らせよう

          AutoGenをガッツリ試してみる:GPT-4Vを利用してみよう

          概要画像を読み込むフローもAgentで使いたいよねってことで、GPT-4Vを使ってみた。とりあえず画像を説明させてみましょう。ちなみに、以前の記事で画像を説明してコードを出力をするというのをやってみたことがあります。あの時は、コードを出力するところまでがゴールで、その先の実行は手元の環境で実行する必要があった。Agentを使うとコードの実行も出来るので、今回はそこまでやってみましょう。 使い方GPT-4Vを利用するエージェントのクラスはAutoGenのパッケージには含まれて

          AutoGenをガッツリ試してみる:GPT-4Vを利用してみよう

          RunPodで作るサーバレスGPU推論

          概要最近、生成AIが流行っており、御多分に洩れず僕も色々弄っております。そんな中、GPUを使ったAPIを作りたいな〜と思ったので、本日の記事を書いてみます。GPUを使った推論の仕組みも最近では色々ありますが、少なくとも個人で使う分にはインスタンス立ち上げっぱなしみたいなのは避けたい。やはりサーバレスでやりたいところ。調べてみたら、今は結構サーバレスの仕組みもあるんですね。 ちなみに有名どころとして、GCPでCloud Run for Anthosを使えばGPUをCloud

          RunPodで作るサーバレスGPU推論

          AutoGenをガッツリ試してみる:Function CallingでRAGの結果を修正してみよう

          概要今日はAutoGenとFunction Callingを組み合わせてみようと思います。Function Callingは以前OpenAI APIに実装された機能で、適応的に外部のAPIを呼び出すことができる仕組みです。例えば、会話の中で必要に応じて天気のAPIを呼び出すなどの使い方がされます。Function CallingとAgentの組み合わせも色々ありますが、ここではRAGの仕組みをFunction Calling経由で呼び出し、その結果を利用して出力を生成してみま

          AutoGenをガッツリ試してみる:Function CallingでRAGの結果を修正してみよう

          AutoGenをガッツリ試してみる:GroupChatを利用したマルチエージェントシステム2(株価の分析)

          概要前回はAutoGenのGroupChatを利用したマルチエージェントの簡単なサンプルを作ってみました。今回は、より発展的なサンプルを作っていきます。前回はプロダクトマネージャとレビュアーというシンプルな構成でしたが、今回は、より多くのエージェントを協調させて株価を分析してみます。 マルチエージェントを用いた株価分析説明は前回したので、今回はいきなりコードを作っていきましょう。今回登場するエージェントは、管理者(ユーザとのインタフェース)、エンジニア、アナリスト、プランナ

          AutoGenをガッツリ試してみる:GroupChatを利用したマルチエージェントシステム2(株価の分析)

          AutoGenをガッツリ試してみる:GroupChatを利用したマルチエージェントシステム1

          概要OpenAI APIがアップデートされたので、昨日は色々試していましたが、今日から改めてAutoGenを触っていこうと思います。前回まではRAGを使って、少し高度な検索をしたり、プログラムのドキュメントからソースコードを作成したりとAgentらしいRAGを試してきました。Agentをより深めるべく、本記事ではマルチエージェントの仕組みを試していこうと思います。 マルチエージェントとはこれまでも説明したようにエージェントは、それ自体が環境を観測し自身で行動をするといったも

          AutoGenをガッツリ試してみる:GroupChatを利用したマルチエージェントシステム1

          OpenAIのAssistants APIを使ってビットコインの分析をしてみる

          概要続いて、今回発表されたAssistants APIも触ってみよう。もう一日経っており、それなりに使い方も広まっている気がするので、少しばかり面白みのあることをやっていこう。Assistants APIを用いると、指示に基づいてモデルやツールを活用して、ユーザのクエリに応答できる。今回はコードインタプリターを使ってビットコインのチャートを表示したり、簡易的にトレンドの分析をさせてみよう。 Assistants APIについてこれまで、OpenAI APIはGPTの仕組みを

          OpenAIのAssistants APIを使ってビットコインの分析をしてみる

          OpenAI APIのJSON modeを使ってみる

          概要前回はGPT-4Vを使い、画像からプログラムを作ってみました。今回は引き続きOpenAI APIの新しいバージョンを利用していきましょう。今回は、出力を必ずJSONフォーマットにするJSONモードというのを使ってみます。 これまでの課題GPTの汎用性を活かし、単なるチャットとしてではなく、プログラムのモジュールとして利用するという使い方が色々なところでされています。Agentの仕組みも次の行動を所定のフォーマットでテキストとして出力し、それをプログラム側で解析してAPI

          OpenAI APIのJSON modeを使ってみる

          GPT-4VのAPIをサクッと使ってみる!

          概要昨日発表されたGPT-4VのAPI(画像に対して質問を投げることができるAPI)を早速利用してみたので、サクッと使ってみようと思う。 使い方当然ながら、現時点ではLangChainなどのライブラリからは利用できないし、Pythonのライブラリもなさそう(→ありました)。ここに使い方が乗っているので、そのまま使ってみる。ローカルのイメージをbase64エンコードして送る感じらしい。 やってみる今回は、インターネットで検索して出てきた画像に対して、簡単な質問をしてみよう。

          GPT-4VのAPIをサクッと使ってみる!

          AutoGenをガッツリ試してみる:RAGを利用したソースコードの作成・実行

          概要少し時間が空いてしまいましたが、AutoGenを続けて試してみます。前回はRAGを使ってAgentベースでの検索を試してみました。今回は、ライブラリのドキュメントから使い方を検索しつつ、プログラムを作成して自動で実行をしていきます。Agentの利用により、検索とプログラム作成・実行を一気に繋げられるのは非常に面白いですね。 データの準備今回の実験では、PFNの開発しているoptunaというライブラリを対象にしてみようと思います。optunaとは、機械学習のハイパーパラメ

          AutoGenをガッツリ試してみる:RAGを利用したソースコードの作成・実行

          AutoGenをガッツリ試してみる:RAGを試してみる

          概要前回までの内容はAutoGenの一番最初のサンプルを色々なアプローチで試してみたものであった。今回からはAutoGenの色々な機能を試していこう。まずは手始めに、LangChainやLlama IndexでもおなじみのRAGをAutoGenでも利用できるので試してみた。 RAGとはRAGは"Retrieval-Augmented Generation"の略である。これは、自然言語処理の領域で、大量のテキストデータからの情報取得と、その情報に基づくテキスト生成のためのモデ

          AutoGenをガッツリ試してみる:RAGを試してみる