タグ

ブックマーク / zenn.dev (14)

  • RAGの「文脈が消える問題」を解決する「LongRAG」

    株式会社ナレッジセンスは、エンタープライズ企業向けにRAGを提供しているスタートアップです。記事では、RAGの性能を高めるための「LongRAG」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGの文脈消える問題を克服する新手法「LongRAG」の論文[1]について、日語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 題 ざっくりサマリー LongRAGは、「文書全体を読まないと正答できない」ようなタイプの質問に対しても、RAGの精度を上げるための新しい手法です。中国科学院・清華大学の研究者らによって2024年10月に提案されました。 ざっくり言うと、LongRAGとは、「階層化」+「フィルタリング」です。 2つとも、よく知られたRAGの手法ですが、これらを組み合わせるこ

    RAGの「文脈が消える問題」を解決する「LongRAG」
  • ゼロからRAGを作るならこんなふうに

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

    ゼロからRAGを作るならこんなふうに
  • ほぼJSなしで完璧なReactフォームをつくる

    import { ChangeEvent, FormEvent } from "react"; export default function Form() { const showError = (message: string) => (e: FormEvent<HTMLInputElement>) => { if (e.currentTarget.validity.valueMissing) { e.currentTarget.setCustomValidity(message); } else if ( e.currentTarget.validity.patternMismatch && e.currentTarget.name === "postcode" ) { e.currentTarget.setCustomValidity("郵便番号正しく入力してね"); } else

    ほぼJSなしで完璧なReactフォームをつくる
  • eBPFを使った自動テストツール「Keploy」がすごい

    この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA

    eBPFを使った自動テストツール「Keploy」がすごい
  • 統計検定準1級に受かるための勉強法・参考サイト

    2022/02/15 初稿 2022/02/15 細かな修正 2022/04/20 一部リンク先の動画について注釈を追加 この度、無事に統計検定準1級に合格したので勉強法、参考にしたサイトなどを共有しようと思います。 バックグラウンド 非理数∧非情報系大学生 →高校数学数学Ⅲまでできる。いわゆる大学数学教養で軽く学んだ程度(偏微分、固有値ベクトルを求めるくらいはできる)。 機械学習に関しての予備知識は少しある。 統計WEB-BellCurveで2級範囲の内容は履修済みで2級に受かりそうな知識はあった。(自称) →過去問解いて合格できそうになったし今週末で2級申し込みするで~ →直前過ぎて無理ですと断られる →大学の試験期間に入る →気がつけば受けずじまい 件のワークブックが出版され、これがあるなら準1級いけるやろと思い初版で購入するも挫折 といったところです。 2021年12月の中頃く

    統計検定準1級に受かるための勉強法・参考サイト
  • 225行のコードでGPTの仕組みを理解する

    概要 LLMに関心があり、ChatGPTやtransformerの仕組みを理解したいと思っていたところ、雰囲気を掴むのにこちらの動画がとても参考になりました。 動画の内容としては、以下のコーパスを学習して、直前の数文字から次の1文字(単語ではないことに注意)予測機を作成するというものです。 この動画で完成するコードは以下で、225行しかなくとても読みやすいです。 また短いですがtransformerのエッセンスが詰まっていて勉強になりそうです。 このコードを読み解くことでGPTやtransformerがどのように動いているのか、ざっくり理解してみようと思います。 ちなみに完成するとこんな感じの文字列が生成されます。ぱっと見文章っぽいですね。 first Scitizen: He's enough; but he cannot give his friends. MARCIUS: Do yo

    225行のコードでGPTの仕組みを理解する
  • ChatGPT API で区切り線を表現する最適な文字列を見つけた件

    TL;DR ChatGPT API のメッセージに区切り線を入れる場合、何文字同じ文字を続ければ良いか実験・考察を行いました。 Translate this text into Japanese. ==================== (←これが区切り線) I am a student.

    ChatGPT API で区切り線を表現する最適な文字列を見つけた件
  • 文化祭で滞在状況記録システムを運用しました

    文化祭からはや 3 ヶ月。ずっと書きたいとは思っていたんですが、すぐ定期試験がやってきたり修学旅行に行ったりしてるうちにズルズル来てしまいました。このまま年を越すわけには行かないので、重い腰を上げて書き上げてしまおうと思います。 文章力が皆無なので読みづらい箇所があったらごめんなさい。質問等ございましたらお気軽にどうぞ! 1. システム概要 感染症対策の一環として、主に各展示の同時滞在者数の抑制を目的として導入したシステムです。 文化祭への来場者全員にリストバンドを配布します。各リストバンドには個別の QR コードがプリントされており、各展示の入室時及び退室時に、展示のスタッフが Web アプリ上でスキャンを行い、来場者の入退室時間を記録します。 主な機能として以下が挙げられます。 同じ時間に同じ教室にいたのがどのリストバンドをつけていた来場者であるかが分かるため、万が一新型コロナウイルス

    文化祭で滞在状況記録システムを運用しました
  • ITエンジニア採用入門

    今、IT関連の技術は様々な企業の競争力の源泉です。一方で、実際に企業が必要とするよりもITエンジニアの数は少ないため、採用競争は激化するばかりです。そこで、元ウェブエンジニアITエンジニアの採用担当を経験した私の視点で、ITエンジニア採用に関する情報をまとめることにしました。 なお、ここでいうITエンジニアはアプリケーションエンジニアインフラエンジニア機械学習エンジニア、QAエンジニアなどIT関連エンジニア全般を指します。 # 更新情報 * 2022/05/17 - 公開 * 2022/05/17 - 中途採用前提であることを Chapter 1 に追記 * 2022/05/18 - 誤字の修正 Chapter 15 「行進」 -> 「更新」 ※はてなブックマークでの指摘ありがとうございます * 2022/05/19 - 活用事例の Chapter を追加 * 2022/05/20

    ITエンジニア採用入門
  • 実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本

    ------------------------------------------------------ 2024 年 1 月更新 書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 書 ( Zenn ) は有料化しません 2️⃣ 書 ( Zenn ) は今後更新しません 3️⃣ 書 ( Zenn ) と出版される絵とき入門の違い

    実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
  • テキストから日付や時間を抽出するPythonパッケージ ja-timex を作りました

    語の自然言語で書かれたテキスト中から、日付や時間、期間、頻度といった時間に関する表現を抽出し、Pythonのdatetime/timedelta形式に変換できるPythonパッケージ ja-timexを作りました。この記事では基的な使い方や動作の仕組み、このパッケージの実装方針を紹介します。 ja-timexとは 皆さんも一度はテキスト中に現れる日付や時間を正規表現でパースした経験があるのではないでしょうか?もしくはdatetime.strptime(str, '%Y/%m/%d %H:%M')といったように、datetimeに変換するパターンを書くこともあるでしょう。こうしたプログラム上で日付や時間を扱うことはよくある作業であるものの、入力されるフォーマットが複雑になったり、日付がテキストの中の一部に含まれたりすると、途端に処理が面倒になります。日付や時間は決まったルールに従ってい

    テキストから日付や時間を抽出するPythonパッケージ ja-timex を作りました
  • ブラウザレンダリングの仕組み

    Webの用語を100秒で解説するチャンネルを作りました! よかったらチェックしてみてください! はじめに 以前書いた記事「Webページがブラウザに表示されるまでに何が起こるのか?」で ブラウザレンダリングについて詳細に知りたいという意見をいただいたので、調べてまとめてみました。 全体図 レンダリングの大まかな流れです。 HTMLのダウンロード サーバから送られてきたHTMLをダウンロードします。 HTMLの解析 サーバから送られてきたHTMLファイルは、「0」と「1」でできたデータになっています。 ブラウザは、サーバから受け取ったデータをそのままHTMLとして解釈することはできないので、自分で扱うことができる形、つまりDOMに変換する必要があります。この作業を 解析 ( Parse ) と言います。 HTMLをダウンロードしたら、すぐにこの解析作業に入ります。作業は以下のようなステップにな

    ブラウザレンダリングの仕組み
  • CGのための数学

    コンピュータグラフィックスに関する数学,線形代数や確率,統計,微積分,クォータニオン,フーリエ解析などに関する解説書です. 誤字や間違いなどのご指摘は以下からコメントをお願いします. https://zenn.dev/mebiusbox/scraps/90bc293a07430d

    CGのための数学
  • Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた

    成果物 https://github.com/ulwlu/dotfiles/blob/master/system/macos.sh このスクリプトに全ての設定と、設定可能なオプションをコメントで記載しています。誰でもこのスクリプトのコメントを外したり任意の値を入れる事で使用可能です。 世界中のいくつかのdotfilesにはmacos.shが存在し、ある程度のMacOSの設定自動化を実現しています。しかし何百と見た中で、全設定と設定可能なオプションを全て網羅して記載しているのは恐らく初です。 これらの設定は破壊的なものではなく、いつかアプデによりキーが有効でなくなっても壊れる事はありません。壊れるのは~/ApplicationSupport/Dockディレクトリ配下のファイルを移動したり、sqlite群に無効な値をいれた時のみです(後述)。 この記事は何か dotfiles Advent C

    Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた
  • 1