ブックマーク / zenn.dev/minedia (9)

  • LLMで難易度の高いゴールを達成するために:5つのデザインパターンで差をつける

    概要 回答を得るのに複雑なステップが必要な場合、定石となるパターンが存在します。主に5つ ピックアップしましたので紹介します。 オブジェクト指向プログラミングで言うGoFのデザインパターンに近いものとして考えても らえると有益さがわかると思います。 LLMデザインパターン チェーン・オブ・ソート (Chain of Thought) LLMを使用して問題を段階的に解決する手法です。LLMは中間的な思考過程を示すことがで きるため、問題解決の途中経過を可視化できます。例えば、数学の問題を解く際に、LLMが 途中の計算ステップを示してくれることで、解答の過程を理解しやすくなります。 ステップバイステップ推論 (Step-by-Step Reasoning) ステップバイステップ推論は、問題を小さなステップに分解し、各ステップごとにLLMの出力を得る手法です。 例えば、複雑な論理パズルを解く際に

    LLMで難易度の高いゴールを達成するために:5つのデザインパターンで差をつける
    yug1224
    yug1224 2024/09/12
  • ゼロからRAGを作るならこんなふうに

    どんな人向けの記事? これからRAGを作ってみたい DifyやLangChainにこだわらず、自分で開発をハンドリングしたい ベクトルDBや埋め込みモデルの選定の勘所をサッと知りたい ここではRAGとは何かのような話題は扱いません。 RAGが、ほぼAI活用の現実的な最適解になりつつある LLMは高度な知的タスクを実行可能である。 そんな理解が世界に広まっていく中で、企業は自らが蓄えたデータをLLMに組み合わせてどう活用するか躍起になっています。これからはビッグデータだ!という時代を経ているため、情報インフラに投資した企業も多く、AIでデータを活用する流れはもはや確定路線と言えます。 この問題を解決する手法として一番最初に思いつくのは、モデル自体を改変するファインチューニングです。しかし、ファインチューニングにはいくつかの実用上の問題があります。ファインチューニング自体に専門知識が必要である

    ゼロからRAGを作るならこんなふうに
    yug1224
    yug1224 2024/08/14
  • 短縮URLサービスの利用を再考する:Bitlyの変更を機に探る最適な選択肢

    概要 bitlyのサービス内容が変更され、無料だと月に10個しか作れなくなりました。それに伴い、課金して使うか検討したときの資料をまとめておきます。 そもそも短縮URLを取り巻く環境はどうなっているのか調査して、対処方法を意思決定しました。 背景 運用している複数のプロダクトでBitlyを使って短縮URLを生成していました。 短縮URLを生成する目的は、SMSで自社のURLを送信する際に文字数制限があったりSMSのメッセージが分割されるのを可能な限り防ぎ、送信のコストを削減する目的で導入していました。 問題 URLを短縮するだけにあまりコストを払いたくないです。 Googleが短縮URLサービスを停止したりしているので短縮URLは必要性が低くなってきているような雰囲気を感じます。 サーベイ biltly以外の短縮URLサービスに乗り換えようと考えて、類似サービスを探していたのですが意外と欲

    短縮URLサービスの利用を再考する:Bitlyの変更を機に探る最適な選択肢
    yug1224
    yug1224 2024/08/03
  • Difyをローカルで動かしてみる。3分でコピペで可能。

    概要 LLMを使ったワークフローを作成するのに、 Difyが良さそうなのでローカルで立ち上げて使ってみます。 docker-compose.ymlが用意されているので基的には以下のページを参考にすればすんなり動きます。 Difyをローカルで動かす利点 主に以下の点があります。 アカウント登録不要で、無料でSaaS版と同じ機能が使える。 SaaS版より動作が速い。 テストで重要なデータを登録してみたりすると思いますが、ローカルでしか扱わないので自社のセキュリティポリシー内で運用し易い。 手順 前提として、git コマンドがインストールされていて、Dockerdocker compose が利用できる状態が必要です。 DifyのレポジトリをCloneします。

    Difyをローカルで動かしてみる。3分でコピペで可能。
    yug1224
    yug1224 2024/08/03
  • AIで商品名をクレンジングする、Llama2や、Google Cloud Gemini-proとVertex AIを活用した商品名の最適化

    ECサイト上の商品名は、「送料無料」や「ポイント5倍」、「母の日」といった宣伝文句が付加され、来の商品名が分かりづらくなっています。 これらの不要なキーワードは、自然言語モデルを作成する際の妨げとなり、精度を上がりづらくしている一つの要因となっています。 そこで、記事では、これら不要なキーワードを効率的に除去する方法について、具体的な手法と事例を紹介します。 データクレンジングの例、LLMオープンモデルを活用したアプローチ、さらにはGoogle Cloud PlatformのVertex AIやGemini-proを用いた解決策について触れます。 3行まとめ ・商品名から頻出単語のリストを作成し、商品名から不要なキーワードを検索して除去する ・オープンモデルでプロンプトを実行し除去する ・Google Cloud Platform のVertex AI、Gemini-proで除去する

    AIで商品名をクレンジングする、Llama2や、Google Cloud Gemini-proとVertex AIを活用した商品名の最適化
    yug1224
    yug1224 2024/04/07
  • HTMLの<input type="number">フィールドにおけるマウスホイール動作の無効化

    背景 HTMLにおいて <input type="number"> は、数値入力を容易にするためのフォームフィールドです。ユーザーはテキスト入力に加えて、マウスホイールやキーボードの矢印キーを使用して値を調整できます。これは便利な機能ですが、一部の状況では意図しない挙動を引き起こす可能性があります。 RailsUIを作るときには、当は number_fieldにしたかったところをわざわざ、text_filedにして実装していました。 問題 <input type="number"> フィールド上にマウスカーソルがあるときに、ホイールを上下すると画面が上下しつつ、 フィールドの値も変わってしまいます 。 この問題はかなり昔からあって、5年前ぐらいからはWebKitに存在していると思います。 アプローチ 半ば諦めていたのですが、そもそもJavaScriptでホイールを無効化してしまえば解決

    HTMLの<input type="number">フィールドにおけるマウスホイール動作の無効化
    yug1224
    yug1224 2023/11/28
  • もう初回コードレビューはAIに任せる時代になった - CodeRabbit -

    どんな人向けの記事? レビューによって心理的なダメージを受けやすい方 非エンジニアだが、エンジニアチームがどんな機能を作っているか知りたい方 業務が溜まっていて、レビューに割く時間を捻出するのに苦労している方 コピペできるコードも公開します 初回レビューをAIに任せると、いろんなロールの人の役に立つ レビューは得意ですか? 優秀なエンジニアしかいないチームであれば、PRは1トピックに絞って小さく明確なコミットによって作成され、適切な要約とともに提供されることでしょう。 しかし、実際にはいろいろな制約から、PRが想定よりずっと大きくなってしまったり、関連トピックと異なるコードが混じってしまうこともあります。 実際のところ、大きなPRを適切にレビューするのは難しいことです。また、自分が詳しくない領域のレビューを行わなければいけない機会もあります。 今回の記事は、レビューを作成してくれるAI C

    もう初回コードレビューはAIに任せる時代になった - CodeRabbit -
    yug1224
    yug1224 2023/10/06
  • GraphQLサーバーは、本当にGoがTypeScriptより早いのか。Flutterからの呼び出しで検証する。

    3秒まとめ GoのパフォーマンスはNestJS(TypeScript)の2倍以上!? GraphQLのエコシステムはGo, TSともに充実 GitHub Copilotで、GoのAcceptance Rateが40%を超える体験をした GraphQL全盛の時代に、どの言語を使って開発すべきか 2015年にFacebookにより公開されたGraphQL。日でもYahooやメルカリなどバックエンドをマイクロサービス化している多くの企業で採用され、近年はフロントエンド開発者にとって魔法の弾丸のように扱われることも多くなりました。 メルカリShopがGraphQL Client Architecture Recommendation社外版を公開していることからもわかる通り、GraphQLの利用に関する知見はかなり蓄積されてきています。 上記Recommendationによれば、BackendはG

    GraphQLサーバーは、本当にGoがTypeScriptより早いのか。Flutterからの呼び出しで検証する。
    yug1224
    yug1224 2023/09/02
  • モバイルとの相性最強と言われるgRPCをFlutter x NestJSで実装し、Stream通信や認証、複数言語実装に使えるか試す

    まとめ 相性バツグンといわれる、モバイル x gRPCは思ったよりずっと簡単に実装可能 複数言語間でもProtocol Buffersの恩恵により型変換を意識することなくスムーズに開発が進められる。 メソッド、引数の型、引数の返り値の型が自動生成されるのでとても良い RESTful APIにおけるheaderを、表現力の高いMetaDataとして利用し、認証認可等にも使えそう Streamをうまく使いこなせば、ユーザー体験をめっちゃ高くできそう。チャットやゲームなどの双方向通信が比較的楽に実装できるかも どんな人向きでない記事? NestJSの詳しい実装を知りたい方 Bidirectional streaming, Client streamの詳細実装を知りたい方 モバイル向け通信技術格的な選択肢、gRPCを実際に試してみたい 現在、私の働いているMinediaで開発しているサービス群

    モバイルとの相性最強と言われるgRPCをFlutter x NestJSで実装し、Stream通信や認証、複数言語実装に使えるか試す
    yug1224
    yug1224 2023/08/08
  • 1