QdrantのCRUD、コレクションとポイント、ハイブリッド検索について
RAG用の手動チャンクUIのたたき台をJavaScriptで作ってみた
- 作成日時:
- 最終更新日時:
- Categories: フロントサイド
- Tags: JavaScript AI開発 LLM RAG
RAG開発時、チャンクを自動的に行っているようではセマンティックな埋め込みベクトル検索などは厳しい。 そこで、チャンクサイズを手動で設定できる余地を作る。 今回はそのたたき台となるJSとHTMLを用意した。 HTML <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Chunk Editor Sample</title> <style> body{ font-family:sans-serif; margin:30px; } #editor{ border:1px solid #999; padding:15px; min-height:180px; white-space:pre-wrap; user-select:text; } </style> </head> <body> <h2>チャンクエディタ試作</h2> <div id="editor"> 今日は良い天気です。 明日は雨です。 明後日は晴れです。 </div> <br> <button id=" ...RTX A2000 12GBでOllama(Gemma7B:4bit量子化仕様)+QdrantでテキストファイルのRAGを実現
前提 GPU: RTX A2000 12GB LLM: Ollama(Gemma-7B 4bit量子化仕様) RAG: Qdrant 上記環境下で、指定のディレクトリ内のテキストファイルをすべて読み込み、RAGを実現させる。 qdrantの立ち上げとOllama と Gemma 7B のインストール Gemma 7Bのインストール。 ollama pull gemma:7b すでにOllamaでは4bit量子化仕様を配布しているので、あえて指定をする必要はない。上記コマンドで4bit量子化仕様が手に入る。 続いてqdrantはdockerで起動させる #! /bin/bash docker run -d ...OllamaでRAGを実現する。
すでにollamaとgemma:2bをインストール済みとする。 参照: UbuntuにローカルLLMをインストールし、Python上で動作させる(Ollama) RAGの実装とソースコード pip install faiss-cpu sentence-transformers numpy import faiss import numpy as np from sentence_transformers import SentenceTransformer import subprocess # ========================= # 1. ドキュメント準備 # ========================= documents = [ "RAGとは、検索と生成を組み合わせたAI手法です。", "FAISSはベクトル検索ライブラリです。", &quo ...UbuntuにローカルLLMをインストールし、Python上で動作させる(Ollama)
Ollama Ollama はGoogle DeepMind によって開発されたローカルで利用できるLLM。 入力した情報を外部に公開したり curl -fsSL https://ollama.com/install.sh | sh 仮想環境下で以下を実行する。 pip install ollama ollamaコマンドでgemma:2b をインストールしておく。 ollama run gemma:2b 以下コードを実行する。 import ollama # 1. システムプロンプト(末尾のカンマを削除し、内容を強化) system_prompt = { 'role': 'system', 'content': ( "【絶対ルール】必ず日本語だけで回答してください。英語は一切使用禁止です。" ...AI実装検定S級合格体験記
AI実装検定S級の疑問点【KerasとPytorchの入出力テンソル、凍結など】
主に、pytorchとkerasの実装上の問題についてまとめる。 Q: pytorch の シーケンス系レイヤ(RNNやTransformer)で使用される batch_first 引数とはなにか? A. 入力テンソルの次元の並び順を指定している。 batch_first 引数が使われる場所 以下、シーケンス系のレイヤで使用されている。 RNN系 torch.nn.RNN torch.nn.LSTM torch.nn.GRU Transformer系 torch.nn.Transformer torch.nn.TransformerEncoderLayer torch.nn.MultiheadAttention batch_first 指定による作用 この引数の指定により、入力テンソルの次元の並び順を指定できる。 batch_fir ...AI実装検定S級の模擬試験
■ CNN(30問) VGGに関する記述として正しいものはどれか A. 畳み込みカーネルは主に7×7を使用 B. 畳み込みカーネルは主に3×3を積み重ねる C. Residual接続を持つ D. Depthwise Separable Convを使用 KerasでVGG風のブロックを作る際に適切なのはどれか A. Conv2D → BatchNorm → ReLU → MaxPool B. Dense → Conv2D → Dropout C. Conv1D → Flatten → LSTM D. GlobalAveragePooling → Conv2D VGGの欠点として適切なのはどれか A. 表現力が低い B. パラメータ数が多い C. 勾配消失が発生しない D. 軽量モデルである G ...【箇条書き】NLPモデルの特徴まとめ
前提と基礎知識 NLPモデルに入力データが与えられるまでの過程 文章を与える ↓ Tokenizerでトークン化(単語・サブワード・文字などに分割) 例: "I love NLP" → ["I", "love", "NL", "##P"] ↓ 語彙表(Vocabulary)を使って、トークン → トークンID に変換 例: ["I", "love", "NL", "##P"] → [101, 2293, 17953, 1925] ↓ ※ 必要に応じてパディング・マスキング・特殊トークン付与 例: [CLS], [SEP], [PAD] などをここで追加(BERTなど) ↓ Embedding層にトークンIDを与える └ ID ...