株式会社マインディア テックブログのフィード
https://zenn.dev/p/minedia
株式会社マインディアのテックブログになります。 サービスやシステム、カルチャーの話題はリンクの「採用」のスライドをご覧ください!
フィード
Rails 8でWebサービスをPWA(Progressive Web Apps)対応。最低限の設定を速攻で。
株式会社マインディア テックブログのフィード
はじめにこの記事は、Ruby on Rails Advent Calendar 2024 の21日目です。Rails 8で簡単にPWA対応ができるようになりました。この記事では、最小限の設定でRailsアプリケーションをPWA化する方法を紹介します。本記事では郵便番号検索サービス「ポストくん」をPWA対応してみます。https://postcode.teraren.com/ PWAとは?Progressive Web App (PWA) は、Webアプリケーションでありながら、ネイティブアプリのような体験を提供する技術です。オフライン対応、ホーム画面へのインストール、プ...
10日前
NewRelicをサーバ監視、Railsアプリ測定、外形監視に導入してみた!すごい簡単
株式会社マインディア テックブログのフィード
概要自宅サーバと個人サービスにNew Relicを導入してみました。9年ぶりにNew Relicを触りました。別物と言えるぐらい高機能化していました。セットアップも簡単でUIも使いやすい。無料で利用開始できるのでおすすめである。この記事はNew Relic Advent Calendar 2024の13日目の記事です。他の記事も見てね 背景10年ほど前にNew Relicを無料版で使っていてたのですが、残念ながら2015年に、New Relicの無料版の提供が廃止されたのでそれ以降は別の監視サービスを転々と使ってきました。このたび、QiitaのAdvent Ca...
23日前
2024年冬、僕が試した最も生産性を高めるIDE/AIの組み合わせと設定を公開します
株式会社マインディア テックブログのフィード
どんな人向けの記事?AI系開発ツールが多すぎてついていくのがしんどい方AIツール導入を検討しているが、コストパフォーマンスや実践的な使い方に悩んでいる方最新のAIツールの動向をキャッチアップしつつ、実務での具体的な活用方法を知りたい方 GitHub Copilotの初回リリースから、約2年半。AIによるコーディングツールは数えきれないほど出現したhttps://github.com/features/copilot/GitHub Copilot が初回リリースされたのは2021年6月。初期はVSCodeのExtensionとして公開されていました。公開時点では、セ...
1ヶ月前
ChatGPTと同様のUIを提供するOSSであるLibreChatを動かしてみた
株式会社マインディア テックブログのフィード
3行サマリー自社でゼロからLLMサービスのUIを運用するのは大変なのでLibreChatを調査してみます。LibreChatをエンタープライズ利用に使えそうかを検証してみました。LibreChat + Ollama (Gemma2)を使ってプライベートなLLMサービスを作ってみました。 LibreChatの特徴一言でいうと、ChatGPTのOSSバージョンです。カスタマイズ性が高く、ユーザーは自分のニーズに合わせて機能やプラグインを追加できます。 ライセンスMIT Licenseなので商用利用可能です。!MIT Licenseの特徴自由な使用: MI...
3ヶ月前
Gemini proでECサイトのカテゴリ名を名寄せする
株式会社マインディア テックブログのフィード
ECサイトのカテゴリはサイトごとに名称が異なり、横断的な分析ができずに課題を抱えていました。今回は、Gemini ProをAPIから呼び出し、AmazonとYahooのカテゴリ名を対象の楽天のカテゴリに自動で名寄せ処理を行います。これは、AIの自然言語処理タスクの応用例の一つです。 3行まとめ・ECサイト(楽天、Amazon、Yahoo)のカテゴリ名を共通化する・APIからGeminiを呼び出しで一括で処理する・名寄せタスクのAI活用例の一例 概要3大ECサイトはAmazon、Yahoo、楽天を対象としています。例えばAmazonのカテゴリDIY・工具・ガーデンが...
3ヶ月前
AIによる契約書の自動レビュー機能を作ってみた
株式会社マインディア テックブログのフィード
3行まとめ契約書のレビュー、契約書のバージョン管理を効率的に行いかた向け。AIを活用した契約書レビューのワークフローを構築。GitHubのPull Request機能を使ってレビューするので複数人でのレビューがしやすく議論の結果が残る。 概要こんな感じで契約書をレビューしてくれます。ソースコード(基本はこの1ファイルのみ)https://github.com/matsubo/legal-document/blob/main/.github/workflows/ai-pr-reviewer.yml 背景社内のAI技術勉強会にて、リーガルチェックにLLMを利用...
3ヶ月前
医薬品検索にベクトル検索を導入したら、デフォで検索ニーズをほぼ満たせそうだった話
株式会社マインディア テックブログのフィード
どんな人向けの記事?医薬品のような難しい検索ニーズにこたえるためにベクトル検索を利用する知見を見てみたいMySQLの全文検索と、ベクトル検索の精度や速度を比較してみたいベクトルDBとEmbeddingモデルを利用した簡単なベクトル検索の実装方法を知りたい 医薬品の検索ニーズは多様なので、ベクトル検索で解決できるか試したい1つの医薬品を指す名称は、複数存在するため医薬品検索は意外と面倒な問題です。例えば、日本人なら頭痛や生理痛、発熱したときに「ロキソニン」を飲んだことがあるかもしれません。この名称は商品の名称ですが、成分の名称は「ロキソプロフェンナトリウム水和物」で...
4ヶ月前
RAGシステムを曖昧な検索に強くするアプローチ「MemoRAG」という考え方
株式会社マインディア テックブログのフィード
MemoRAGは、従来の検索拡張生成(RAG)の弱点を改善する新しいアプローチです。グローバルな記憶を形成するLLMと、最終回答を生成する高機能なLLMの二重システムを採用しています。これにより、曖昧な検索や非構造化知識を含む複雑なタスクにも対応できます。MemoRAGは、単純な質問応答から複雑な課題まで幅広いタスクで優れた性能を発揮し、RAGの適用範囲を大幅に拡大した新しい手法です。[1]https://arxiv.org/abs/2409.05591 課題従来の検索拡張生成(RAG)では、明確に提示された情報ニーズと、整理された形式の知識を必要とするため、その応用は、主に...
4ヶ月前
LLMで難易度の高いゴールを達成するために:5つのデザインパターンで差をつける
株式会社マインディア テックブログのフィード
概要回答を得るのに複雑なステップが必要な場合、定石となるパターンが存在します。主に5つピックアップしましたので紹介します。オブジェクト指向プログラミングで言うGoFのデザインパターンに近いものとして考えてもらえると有益さがわかると思います。 LLMデザインパターン チェーン・オブ・ソート (Chain of Thought)LLMを使用して問題を段階的に解決する手法です。LLMは中間的な思考過程を示すことができるため、問題解決の途中経過を可視化できます。例えば、数学の問題を解く際に、LLMが途中の計算ステップを示してくれることで、解答の過程を理解しやすくなります...
4ヶ月前
AIで論文生成をするにはこんなふうに (AI Scientistの解説と実践)
株式会社マインディア テックブログのフィード
3行サマリー2024年8月13日に論文をLLMで生成する記事が公開されました。難易度の高いゴールを達成するための複雑な過程をLLMで扱うためのアプローチを紹介します。AI Scientistのソースコードの重要部分を解説します。 背景私の中で、論文の執筆というのは豊富な専門知識とアイディアが必要なのでLLMでの代替は困難かと思っていました。 しかし、良く考えてみるれば、「アイディア=既存の事象の組み合わせ」という提言もあるのでLLMでの代替は可能かなと思い始めました。 論文の定義領域によって論文の定義が異なってくると思いますので、論文とはなにかを定義する必要が...
4ヶ月前
ゼロからRAGを作るならこんなふうに
株式会社マインディア テックブログのフィード
どんな人向けの記事?これからRAGを作ってみたいDifyやLangChainにこだわらず、自分で開発をハンドリングしたいベクトルDBや埋め込みモデルの選定の勘所をサッと知りたいここではRAGとは何かのような話題は扱いません。 RAGが、ほぼAI活用の現実的な最適解になりつつあるLLMは高度な知的タスクを実行可能である。そんな理解が世界に広まっていく中で、企業は自らが蓄えたデータをLLMに組み合わせてどう活用するか躍起になっています。これからはビッグデータだ!という時代を経ているため、情報インフラに投資した企業も多く、AIでデータを活用する流れはもはや確定路線と言...
5ヶ月前
短縮URLサービスの利用を再考する:Bitlyの変更を機に探る最適な選択肢
株式会社マインディア テックブログのフィード
概要bitlyのサービス内容が変更され、無料だと月に10個しか作れなくなりました。それに伴い、課金して使うか検討したときの資料をまとめておきます。そもそも短縮URLを取り巻く環境はどうなっているのか調査して、対処方法を意思決定しました。 背景運用している複数のプロダクトでBitlyを使って短縮URLを生成していました。短縮URLを生成する目的は、SMSで自社のURLを送信する際に文字数制限があったりSMSのメッセージが分割されるのを可能な限り防ぎ、送信のコストを削減する目的で導入していました。 問題URLを短縮するだけにあまりコストを払いたくないです。Google...
5ヶ月前
Difyをローカルで動かしてみる。3分でコピペで可能。
株式会社マインディア テックブログのフィード
概要LLMを使ったワークフローを作成するのに、Difyが良さそうなのでローカルで立ち上げて使ってみます。docker-compose.ymlが用意されているので基本的には以下のページを参考にすればすんなり動きます。https://docs.dify.ai/getting-started/install-self-hosted/docker-compose Difyをローカルで動かす利点主に以下の点があります。アカウント登録不要で、無料でSaaS版と同じ機能が使える。SaaS版より動作が速い。テストで重要なデータを登録してみたりすると思いますが、ローカルでしか扱わ...
5ヶ月前
RAGをSnowflake CortexとStreamlitで構築する
株式会社マインディア テックブログのフィード
生成AIの精度と信頼性を高める技術として注目されているRAG(Retrieval Augmented Generation)本記事では、Snowflakeを活用してRAGシステムを構築する方法を、PDFドキュメントの取り込みからチャットUIの作成まで、実践的に解説します。CortexとStreamlitを組み合わせることで、比較的シンプルにRAGを実現できる方法をご紹介します。 3行まとめSnowflakeを使ってRAG(Retrieval Augmented Generation)システムを構築する方法を紹介CortexとStreamlitを組み合わせることで、比較的シン...
6ヶ月前
プロンプトエンジニアリングを革新する「SAMMO」、生成AIのアウトプットの精度を向上
株式会社マインディア テックブログのフィード
生成AIは非常に便利なツールですが、指示をする際のプロンプトによって生成結果が異なるためプロンプトエンジニアリングが重要視されています。これまでは生成AIに対して問い合わせる→生成結果を見て再度プロンプトを修正するといった対応をしなければなりませんでした。SAMMOを使用することで試行錯誤から解放され、プロンプトを修正する必要が無くなります。https://github.com/microsoft/sammo SAMMO(Structure-Aware Multi-objective Metaprompt Optimization)とは?「SAMMO」は、プロンプトエンジニ...
6ヶ月前
LangChainを活用したRAGの構築、59ページもあるデジタル庁が公開した「テキスト生成AI利活用におけるリスクへの対策ガイドブック」
株式会社マインディア テックブログのフィード
テキスト生成AI利活用におけるリスクへの対策ガイドブック59ページもある 3行まとめ・LangChainで手軽にRAGを組んでみる・Google Colaboratoryで動作を確認する・RAGをざっくり理解する RAGとは検索拡張生成(Retrieval Augmented Generation、RAG)があり、これはLLMを文書検索を使用して拡張するもので、ときにはベクトルデータベース(英語版)を使うこともある。クエリが与えられると、文書検索ツールが呼び出され、もっとも関連性が高い文書が取得される(通常、初めにクエリと文書をベクトルで符号化し、次にクエリベクトル...
7ヶ月前
マルチプラットフォームなNu Shellを使ったら、あらゆるデータを一行で扱えて時間効率が上がった
株式会社マインディア テックブログのフィード
3秒まとめマルチプラットフォームで同じコマンドを利用して手元で動かしたい処理をサクッと実行できるGitHub Actionsでも簡単に利用可能JSON, YAML, SQLite, CSV, EXCELなどのファイルをデフォルトでパースしてデータフレームのように扱えるhttpリクエストも投げられるので、curl入ってない!みたいなことでイラッとすることが減る こんな方向きの記事ではないzsh, bashなどをマスターしている人にとってはあまり導入する意味がないサーバールームでLinuxの標準シェル以外使えない環境で作業するような人には向かない MacやWi...
9ヶ月前
進化するAI、Sakana AIの自然言語モデルで商品名のクレンジングタスクを解いてみる
株式会社マインディア テックブログのフィード
https://sakana.ai/evolutionary-model-merge-jp/先月ごろから話題になっているSakana AI社が提供している自然言語モデル(進化的アルゴリズムによる基盤モデルの構築)のSakanaAI/EvoLLM-JP-v1-7Bを使って、商品名のクレンジングタスクを解いてみます。他の手法で試した記録はこちらの記事になります。https://zenn.dev/minedia/articles/c018dd09801091本記事では、transformersのUsageを参考に、現在私が担当しているタスクを試した実験記録となります。GPUはT4を使...
9ヶ月前
AIで商品名をクレンジングする、Llama2や、Google Cloud Gemini-proとVertex AIを活用した商品名の最適化
株式会社マインディア テックブログのフィード
ECサイト上の商品名は、「送料無料」や「ポイント5倍」、「母の日」といった宣伝文句が付加され、本来の商品名が分かりづらくなっています。これらの不要なキーワードは、自然言語モデルを作成する際の妨げとなり、精度を上がりづらくしている一つの要因となっています。そこで、本記事では、これら不要なキーワードを効率的に除去する方法について、具体的な手法と事例を紹介します。データクレンジングの例、LLMオープンモデルを活用したアプローチ、さらにはGoogle Cloud PlatformのVertex AIやGemini-proを用いた解決策について触れます。 3行まとめ・商品名から頻出単語...
9ヶ月前
Modular MojoがPythonより68000倍早いのは本当なのか
株式会社マインディア テックブログのフィード
はじめにmojoについては過去の記事でご紹介しましたhttps://zenn.dev/shintaroamaike/articles/afcbc867db495e今回の記事ではMojoはPython 3.10.9の68000倍早いと公式のブログで紹介されていますが、内容を確認します。 3行まとめ・AIに特化した言語mojoに触れてみる・Macbook proでマンデルブロ集合の処理時間を見てみる・mojoでのpandasのloop処理がどれくらい早くなるのか見てみる 概要https://www.modular.com/blog/mojo-a-journey-t...
10ヶ月前