843 Matching Annotations
  1. Last 7 days
  2. May 2026
    1. これをやるためには、あらかじめ正解データを要する必要があるってことですよね?

      あとは性能指標をはかるコード例へのリンクとかあるとうれしいかなと思いました。

    2. メタデータフィルタリングとの組み合わせ

      これは話として唐突だなと思いました。そもそもメタデータがなに、という話がされていない

    3. 近似最近傍探索(ANN)の仕組みとベクトルの軽量化

      ここで語りたいことを最初に説明してほしい。

      このままでもいろいろできるけど大量データを処理するには大変。ANNを使って検索を効率化するのと、◯◯のためにベクトルを軽量化するっていう考え方があるよ。

      みたいなこと?

      2つの話がどう関連するのかが明確に語られていないと思うので、どう四dならいいかがわかりにくい

    4. def encode_query_image(image_path: Path) -> np.ndarray:

      ここの処理は全画像を処理するときとほぼ同じなので、関数化して共通化できるといいなーと思いました。

    5. ④ インデックスの構築

      関数化して main() から呼んで欲しい派

      4と2を分ける理由があまりわからない。 1画像分の処理をする関数があるならわかるけど、全部の画像をまとめて処理しているので2つの処理に分けている理由があまりないと思う

    6. device = (

      これ読みにくいから、関数にして普通のif文にしてほしいなー

      def get_hoge_device() -> str:

      もしくは device = "cuda" if torch.cuda.is_available(): device = "mps" elif torch.backends.mps.is_available()" device = "cpu"

    7. 画像Embedding

      作り直されるものは「画像Embedding」であってますか? 私的には、画像Embeddingは「画像をEmbedding処理する」という「動詞」のイメージで、作り直されるのは「画像ベクトル群」なのかなと思っています

      下のフローチャートにも「画像Embedding」という用語がない

    8. flowchart LR text["テキスト<br/>「赤いスポーツカー」"] --> text_enc["テキストエンコーダ"] image["画像"] --> image_enc["画像エンコーダ"] text_enc --> space["同一ベクトル空間<br/>(近いものを類似と判定)"] image_enc --> space

      下の画像の画素が荒い。たとえば以下でレンダリングしてpngやsvgでダウンロードすればもうちょいきれいな画像になる(左下からダウンロードできる

      https://mermaid.live/edit#pako:eNp1UctKw0AU_ZVy121tHqYmiBt1pxvdaUTGZPqAJinTCT5KoU1EKlR8IigoCC4qoi5E8BHwY8bSduUvOJkaQcFZnXvuPefcy9TB8mwMBhQq3rpVQoSm5hZMN8UfxRt02QQW7rDgjgUvLGxPrpGxKdbsDJ6uWWtbcBcsjFjI8W0MmnsmrKQymSmhXsWu9ceBBV0WPrLgUciafHoUVnZQEfPZ_slbL9xPTAT77TLq_KdP4oSsVkVWbNY76Hw8N1l4xoKHODu87d-8Dk-PxRmfUXvwfijOCFjrngVHw6vLjyhirW6vfd27P_-Mdn-v99vfdCENRVK2waDEx2lwMHFQXEI9FplAS9jBJhgc2riA_Ao1wXQbXFZF7pLnOYmSeH6xBEYBVWq88qs2onimjIoE_Ywgn3qLm66V1NguU4_Mj_5OfGEinBWdH2vs2phMe75LwZDHJZENRh02wJDyelbXZTWfVyWNAzkNm5zVclldyasTKqdlKaerjTRsiW1zWU1XlAlFz0mqIimaJje-AN-d7Qg

    9. これ、従来の手法だと画像を説明するテキストを生成して、そのテキストをエンコーディングしていたけど、そうじゃなくて画像そのものを処理するっていうのがポイントなんですよね、多分?

    10. これまでのEmbeddingは

      これまで、がどこを指しているか不明確。(一瞬歴史的な話かな?と思った

      「先月の記事では」とか具体で示してほしい

    11. 画像とテキストを統合するマルチモーダル検索の構成

      見出しがあったらその下には「ここでは~~について説明します」みたいな文章があるといいと思う派

    12. 概念的に仕組みを整理します。

      ちょっとこの文章の意図が読み取れないです。

      概念的に、なにの仕組みを、どのように整理するのか。なんのために?

  3. Apr 2026
    1. DuckDBを使ったベクトル保存・検索 (duckdb_vss_search.py)

      やっていることは最初の方と同じなので、差分があるコードだけをここでは示すでもいいかなと思いました。(記事も全体的に長いし)

      そのまま実行できるコードはここだよ、としてここでは新しい要素だけのコードがほしい

    2. hunk_size=120, overlap=30)

      デフォルト値指定しているけどあえて変更している。 このサンプルコード的には意味がないのでどちらかに統一で良いのでは

    3. 別サーバー前提

      サーバーを別で用意するの?と思われそうなので、下の表とあわせて

      Ollamaサーバーの起動が必要

      の方がわかりやすいかなと

  4. Mar 2026
    1. バッチ処理されるため、forループで1件ずつ処理するより大幅に高速です

      バッチ処理だからforより高速、というのがよくわからないです。

    2. テキスト用Embeddingモデルは大きくBERTベースとLLMベースに分かれます。筆者の視点で代表的なモデルIDを以下にまとめます。

      この表ありがたいけど、その元となる情報がどこにあるのか、参考情報とかのリンクがほしい

    3. multilingual-e5-large

      このあたりの選択肢はどこで調べたらいいの?を書いて欲しい

      と思ったら次のセクションに書いていた。 ここにはどのモデルを使うかの話は書かなくていいのでは。

    4. 外部APIの活用例

      ここの手前で見出しを分けて「エンベディングの3つの方法の比較」みたいな話でまとめてほしい。

      ローカル、外部API、Ollamaの3種類あるよ。それぞれ使いたい場合はこんな感じの書き方、比較するとこうだよ(比較が先でもいいかも)

    5. ベクトルの「近さ」を測る指標

      次のコードの都合でこの説明になっているけど、自分だったら以下の順番で説明して欲しい。

      • エンベッディングとは
      • 実際にいくつかの文字列をエンベッディングして結果確認するコード→次元数チェック、値の一部を確認
        • できればモデルを変えると結果が変わる話もしてほしい
      • ベクトルの近さを図る指標の説明
      • コードでベクトルの近さを確認する部分を追加→結果でよさそうな値が出ている
    6. 類似度 0.XXXX: 「Electric vehicles are an environmentally friendly way to travel」 類似度 0.XXXX: 「The weather is sunny today」 類似度 0.XXXX:

      値が全部0.XXXなのでどれが近いかわからない。値を入れて欲しい

    7. Pillow 11.x 画像処理

      このあたりは後半で必要になったときにまた紹介すればいいかなと思う。 まずは、テキストのベクトル検索だけに焦点を絞って説明した方がわかりやすいと思う

    8. 本記事では以下の技術スタックを順番に扱います。

      このスタックがさっきの4つのステップとどう関連しているのかを説明してほしい。用語が多くて理解が難しいです

    9. 同じモデル

      この前に「モデル」が出てこないので、なにと同じモデルかが不明。ベクトル化のところに説明が必要

    10. さらにテキストと画像を横断するマルチモーダル検索の実装まで、段階的に紹介していきます。

      長くなる場合はマルチモーダルは次回に回すのもありかなと

    1. 計算を軽くしてタスク数を増やし、転送コストが目立つケースを見てみましょう。

      これって一つ前の起動コストが時間には含まれていないんですか?

      起動コストは4ワーカーのみだから一つ前とおなじくらいってことなのかな?ちょっとぱっと見どこをどう計測しているんだろう?って思った

    2. C拡張のグローバル状態の問題を避けたい場合や、メモリ空間を完全に分離したい場合

      これが具体的にどういうパターンなのかを教えてくれるとうれしい。

      私の理解は基本はThread→CPUバウンドならInterpreterでいいかなーと思っているので

    3. 独立したGIL

      独自のGIL、と、独立したGILという似ているけど異なる表現であることに意味はあるのか。同じものなら表現を合わせたい

    4. 独自のGIL

      独自のGILとGIL Bという表現の違いはあとでわかる?

      意味的にはどちらも独自のGILと言えるかなとおもったので

    5. Python 3.14で追加された

      最初の段階で「◯◯をするための機能」みたいな簡単な説明があった方が読みやすいかなと思いました

  5. Feb 2026
    1. 記事情報のリストを

      ここにもArticleInfo ArticleListを書いておくと、ほしいデータとコード上のPydanticモデルの関連が把握しやすくなるかなと

    2. Pythonを安全

      Pythonを安全に活用しているわけではないのでは

      Pythonを拡張して型安全なLLMアプリを作成する

      みたいなイメージ?

    3. 安全

      これも安全という表現が適切か気になる。

      LLMからのデータをバリデーションして、ルールに則ったデータのみを取得できます。

      とか

    4. 安全

      安全っていうとどちらかというと、情報が漏れるとかそういう話を想像する。

      ここで言いたいことは指定した構造のとおりのデータを受け取れるということを言いたいんだと思います。

      LLMから適切に構造活かしたデータを受け取る?とか??

    5. text={ "format": { "type": "json_schema", "name": "ArticleList", "schema": schema, } },

      ここでOpenAIのAPIに対して「このスキーマに従って構造化したデータを返してね」としているので、その説明がコメントでほしい

    6. schema = make_strict_schema(ArticleList.model_json_schema())

      もうちょい説明が欲しい

      PydanticのモデルからJSONスキーマを生成し、そのスキーマで必須の項目(?)対してOpen AIでの◯◯のためにadditionalProperties: falseを追加する?

      「additionalProperties: false」がないといけないというドキュメントへのリンクもあるといいなぁ

    7. with open(html_path, encoding="utf-8") as f: SAMPLE_HTML = f.read()

      Pathオブジェクトからは以下で読み込む派

      SAMPLE_THML = html_path.read_text(encoding="utf-8")

  6. Jan 2026
    1. 「パッケージマネージャーの導入 ─ uv」「静的コード解析ツール ─ Ruff」「構造的パターンマッチ」「一歩進んだ型ヒントの活用」「テンプレート文字列リテラル ─ t-string」「コマンドラインツール – click」「TOMLファイルを扱う – tomllib」「非同期に対応したHTTPクライアント ─ HTTPX」

      節タイトルそのままだ冗長かなと思いました。

      パッケージマネージャーuv、とか、HTTPクライアントHTTPXとかでいいかなと

    2. はじめに

      生成AIが台頭している今のタイミングで本書を手に取る意味、みたいなことは書かなくてもいいかなぁ。 普遍的な知識をつけるとか?

    1. マネージャー LLM が各 Agent の成果物を確認し、妥当性をチェックしたうえで最終結果としてまとめる

      これは具体的になにをやっているのかちょっとわからなかったです。

      最後のブログ記事の内容を確認して、もともとのタスクの依頼内容を満たしているかをチェックしている? 満たしてなかったらどうなる?

    2. マネージャー LLM がタスク全体を把握し、実行計画をたてる

      ここもうちょい具体的に書いてくれた方が、コードをもとにCrewAIがなにをやってるか明確になると思いました。

      タスク全体をTaskの内容から把握し、実行計画を立てる。実行計画では◯◯調査、◯◯調査を実施し、その結果をもとにトレンド分析し~~

      書くAgentの役割や能力を踏まえ、各タスクを以下のように額Agentに割り当てる

      ◯◯調査、◯◯調査: データ収集専門家

      みたいな

    3. LLM やそのバージョンによって異なるため

      この説明だとLLMのバージョンが同じだったら同じ結果が返ってくると読める。

      実際には実行するたびに微妙に違う結果が返ってくるのでは?

    4. 実行したあとに幾つかログが抜粋で表示されていると、処理内容がイメージができていいかなと思いました。

      次の行に「ログには主に以下の情報が」と書いてあるので、ログの例がほしいと思います

    5. 各専門 Agent が Task 完了後に結果を マネージャー LLM に報告し、マネージャー LLM が最終成果物をユーザーに提出する

      シーケンシャルな場合との違いがあまりピントこなかったです

    6. # .env ファイルに環境変数を設定 OPENAI_API_KEY="your-openai-api-key" SERPER_API_KEY="your-serper-api-key"

      MUST: これだとコマンドラインで環境変数を設定しているように見える。コードブロックを分けた方が良い

    7. 以下に

      話が急に飛んでいる。

      一度見出し「◯◯の主な引数」みたいなのを挟み

      Agent、Task...には◯◯をするためにさまざまな引数があります。 以下に~~

      見たいな文章がほしい。

    8. SHOULD: コードの前に、どういうことをさせようとしているかの説明分がほしいです。 以下のコードのコメントを読めばわかるとは思うんですが、先に説明してからコードを読む方が、スムーズに理解できるかなと思いました

      たとえばこういう感じかなと

      最新のAI技術に対してわかりやすい記事を書くという目的で、調査員とライターの2人のメンバーがいて、調査員の調査した内容を元に~~~

    9. dotenv

      dotenvが必須かなと思ったけどそうじゃなくて環境変数を.envファイルに書きたいから使っているだけですよね。

      ここでは環境変数を.envファイルに書いて~~~のためにdotenvを使用します。

      みたいな説明がほしいかなと思いました

    10. 本記事では触れませんが、より高度な制御をすることが可能です。興味のある方は以下を参照してください。

      nits 箇条書きだと「体言止め」で文体が違うので、ここは普通の文章にした方がよいかと

  7. Dec 2025
    1. ファイルパス引数として存在することを確認

      上の文章と似た内容だけど微妙に情報が増えて箇条書きになっている。この箇条書きでなにを伝えたいかを直前に文章で書いて欲しい。

      以下は〜〜です。 以下に〜〜を示します。

      みたいな

    2. click.Choice(["txt", "md"]

      例なのでしょうがないけど、自分でファイル名を指定しつつ、拡張子も指定するというコマンドは、オプションの用途としてピンとこないなと思いました。

      何か数え方のルールとかを変えられるといいんだけど。文字数でカウントするかバイト数でカウントするか、とか

    3. オプションの後に値を指定しない。

      これはコマンドで呼び出すときの話ですよね?ちょっとこの文章だけだと意味が取りにくい

    4. 例えば、--nameオプションは名前を指定するために使用されます.

      これはなんか--nameは名前を指定するためだけにしか使われないように読めるので、ちょっと違うかなと。

      例えば、名前を指定するための--nameオプション、などです。

      とか?

    1. quote-style = "double" # 文字列をダブルクォートで統一する indent-style = "space" # インデントはスペ

      これデフォルト設定だからなー。 クォートをシングルにできるけど、設定なしの運用でいいんじゃない?みたいな記述がいいかなーって思ってます。

    2. これはストーリーとしては、この前に ruff check --fix を実行していないといけないので、そのように手前で実行している必要がある

    3. import sys import os

      使われていないモジュールだとF401が出ちゃうのでisortの意味がない(fixできない)

      無理やり使うモジュールを入れましょう

      datetimeとかなにかをいれてメッセージに追加する感じで

    4. またはruff.toml

      下の設定例だとpyproject.tomlなので

      前述の設定ファイルを用いて、にしてコードのキャプションに「説明 - pyproject.toml」とか書くのはどうでしょうか

    5. と、

      ここで、を打たないと「一部のルール」がFにもかかっているように読める。

      もしくはE系の一部とF系のルールが

      とか

    6. Ruffは、Astral社https://astral.shから提供さ

      他のライブラリとかでuvを使ったインストールには触れていないので、ここはなくてもいいかなぁ

    1. Resolved 29 packages in 11ms Installed 27 packages in 58ms (省略) + pytest-cov==7.0.0 (省略) + sphinx==9.0.4 (省略)

      ここも両方指定した場合と同じとか、まるっと省略してもいいかも

    2. olved 29 packages in 13ms Uninstalled 20 packages in 200ms Installe

      このへんも2回目以降は省略しちゃってもいいんじゃないかな