ブックマーク / note.com/mahlab (9)

  • AIエージェント沼にハマるためにこの辺を見ておけば良いと思われるリソースまとめ|mah_lab / 西見 公宏

    はじめにみなさまはAIエージェントという言葉をご存知でしょうか。 ご存知ない方はとりあえずDoryさんの以下の記事を読んで頂けると良いと思う訳ですが、 ざっくりAIエージェントを定義すると、「人がいちいち指示しなくても、自分でやることを考えて、様々なツールを活用して目標に向かってタスクをこなしていくAI」をAIエージェントと呼んでいます。 AIエージェントと比較すると、ChatGPTのようにチャットを介してコミュニケーションするAIは指示待ち人間とも言えます。 どんなに高いパフォーマンスを出すのだとしても人間がいちいち指示を出さないと仕事をしてくれないのはつらいよね、という視点から、自律的に仕事をし続けてくれるAIエージェントはAI活用においてブレイクスルーを起こすのではないかと考えられています。 当に自律的に仕事をし続けてくれるのだとしたら、ある意味従業員の代替になるわけですし、更にそ

    AIエージェント沼にハマるためにこの辺を見ておけば良いと思われるリソースまとめ|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/08/05
  • SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏

    SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試

    SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/06/08
  • LLMと調和したプログラミングを体験させてくれるMarvinというライブラリが面白い|mah_lab / 西見 公宏

    過去に「個別の関数を実装をプロンプトで行うような流れは既にきている」と言ってみてはいたものの、考え方としては関数としてプロンプトを実行する、ぐらいの世界観が関の山で、ソフトウェア設計としてLLMとの調和を考えるという域までは達していませんでした。 なんですが、何というかAI時代のプログラムコードってこんな感じになっていくのかなーと思わせるライブラリが登場していたので紹介したいと思います。 Marvinとはどんな感じのライブラリなのかその名もMarvinと言います。 コンセプトから入るとイメージしづらい気がしたので、いきなり実例から説明させてください。 例えばなんか適当にエナジードリンクをリストしてくれるような関数が欲しかったとしますね?(そんなケースあるかな) そういう場合はこんな風に書けます。 from marvin import ai_fn @ai_fn def list_energy

    LLMと調和したプログラミングを体験させてくれるMarvinというライブラリが面白い|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/05/16
  • Superflare's Design Principles|mah_lab / 西見 公宏

    最近Cloudflare Workers + D1(SQLiteベースの分散データベース)の組み合わせにアツさを感じており、さらにそこに乗せるアプリケーションを開発するフレームワークとしてRemixに注目しています。RailsならHerokuNext.jsならVercel、RemixならCloudflareという様相です。 「cloudflare-workers + d1 のポテンシャルは最強で、近い未来、開発者|個人開発者の銀の弾丸になると思っている」 GW中に遊びにきてくれた元同僚とも全く同じ話で盛り上がった。10年前ぐらいにRails x Herokuが無敵だった頃を思い出す。 https://t.co/LPTTm9pXeJ — mah_lab / Masahiro Nishimi (@mah_lab) May 8, 2023 とはいえCloudflareについて現状ではフルスタッ

    Superflare's Design Principles|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/05/08
  • 大規模言語モデル間の性能比較まとめ|mah_lab / 西見 公宏

    StableLMのファインチューニングってできるのかな?と調べたところ、GitHubのIssueで「モデル自体の性能がまだ良くないから、ファインチューニングの段階ではないよ」というコメントがありまして。 シートの中身を見てみるlm-evalシートstablelm-base-alpha-7bは54行目にありまして、確かに他の言語モデルと比較するとまだまだな性能のようです。応援したいですね。 シートの列の意味それぞれの列の意味については推定ですが以下の通りです。 RAM 言語モデルのGPUメモリ消費量。 lambada(ppl) LAMBADAデータセットによる測定値。ロングレンジの言語理解能力をテストする(文章全体を読まないと答えられないタスクでの評価)。PPLはPerplexityという指標で、モデルの予測の不確かさを示す。PPLが低いほど、モデルの予測精度が高い。 lambada(acc

    大規模言語モデル間の性能比較まとめ|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/04/26
  • 大規模言語モデルを自社でトレーニング&活用する方法|mah_lab / 西見 公宏

    オンラインIDEを提供しているReplitでは自社で大規模言語モデルをトレーニングしているらしく、そのノウハウがブログ記事にまとめられていたので要約してみました。 なぜ自社で大規模言語モデルをトレーニングするのか?企業が独自に大規模言語モデル(以下、LLMs)をトレーニングすることを決める理由は、データのプライバシーやセキュリティから、アップデートや改良のコントロールの強化まで様々なものがあるが、Replit社ではカスタマイズ性、依存度の低減、コスト効率に重点を置いている。 カスタマイズ性 カスタムモデルをトレーニングすることで、GPT-4のような汎用モデルやCodexのようなコードに特化したモデルではカバーしきれないプラットフォーム固有の機能、用語、コンテキストなどといった特定のニーズや要件に合わせてモデルを調整することができる。例えば、Replitで人気の高いJavascript Re

    大規模言語モデルを自社でトレーニング&活用する方法|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/04/24
  • LMQL(Language Model Query Language)概観|mah_lab / 西見 公宏

    LMQL Playgroundでクエリを試すLMQLには動作を簡単に検証できるPlaygroundが用意されています。ローカルでPlaygroundを起動することもできます。 まずはGetting Startedで紹介されている以下のクエリを実行します。 argmax "Hello[WHO]" from "openai/text-ada-001" where len(WHO) < 10「Run」ボタンをクリックするとOpenAIAPI KEYを求められるので、入力します。 実行するとModel Responseの枠に結果が表示されます。 LMQLの基構造LMQLは記法的にはSQLと似ていて、以下のような構造を持っています。 デコーダ節(Decoder Clause): テキスト生成に使用するデコード・アルゴリズムを指定します。LMQLでは様々なデコード・アルゴリズムを選択することができ

    LMQL(Language Model Query Language)概観|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/04/21
  • OSSベクトルDBのChromaを使ってQ&AボットをLangChainで作成する|mah_lab / 西見 公宏

    新興で勢いのあるベクトルDBにChromaというOSSがあり、オンメモリのベクトルDBとして気軽に試せます。 LangChainやLlamaIndexとのインテグレーションがウリのOSSですが、今回は単純にベクトルDBとして使う感じで試してみました。 データをChromaに登録する今回はLangChainのドキュメントをChromaに登録し、LangChainのQ&Aができるようなボットを作成しようと思います。 しかしLangChainのドキュメントはほとんどがJupyter Notebook形式なので、ベクトルDBへ取り込みやすいようにフラットテキストにしてあげる必要があります。 以下の関数はJupyter Notebook形式(JSON)のファイルを分解してMarkdown形式に変換し、その後Unstructured.ioのMarkdownスプリッタを利用してコンテンツをチャンクに分割

    OSSベクトルDBのChromaを使ってQ&AボットをLangChainで作成する|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/04/15
  • 行政の統計資料のような非構造化データをGPTで構造化データに変換する|mah_lab / 西見 公宏

    今朝方GPT-4が発表されて、みなさん死ぬほど盛り上がってますねー。 GPT-4を使えば一発でできそうなネタではありますが、GPT-4 APIのお値段は3.5よりもお高めの設定なので、これからはどのように上手くGPTのバージョンを使い分けていくかが問われていくと思います。 というわけで今日は非構造化データを構造化データに変換する話です。 問題の背景行政が定期的に公開している統計資料をご覧になったことはありますでしょうか。ディスる訳ではないですが、以下に示すのは私が住んでいる富士吉田市の統計資料です。 統計ふじよしだ令和元年度版 - 商業 このように分かりやすい表で情報を提供してくれるのはありがたいのですが、数値データにはなっていないので分析に活用することができません。 GPTのパワーを使って、このような非構造化データを構造化データに変換できないか?というのが日のお題になります。 コードP

    行政の統計資料のような非構造化データをGPTで構造化データに変換する|mah_lab / 西見 公宏
    toshikish
    toshikish 2023/03/15
  • 1