0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

建設コンサル向けに「ローカルAIナレッジ検索・報告書支援」の設計書作成をAIにお願いしたら - その2-

0
Last updated at Posted at 2026-06-12

建設コンサル向けに「ローカルAIナレッジ検索・報告書支援」の設計書作成をAIにお願いしたら - その2-

はじめに

前回の建設コンサル向けに「ローカルAIナレッジ検索・報告書支援」の構想を練ってみた -その1-を基本として、どうせなら生成AIに設計書もお願いしたら、いいんじゃねとお願いした。

良い世の中なのか?今までやってきたことは何だったのか?
今後は、我々はプログラムを作る必要が無く、どんな物を作るのかで決まってしまうような気もします。
知識量ではとてもかないませんね。

そこで実際にどのような設計書を書いてくるのかを試してみました。
また出力されたスクリプトについては、これから実際に検証していきます。

まずは、設計書作成のための条件設定からですね。

Chatgptに設計書の作成依頼する。

Chatgpt plusのプロンプトに以下のテキストを入力します。

Ubuntu Server 24.04 に、ローカルRAG+報告書支援デモ環境を構築します。

構成:

  • Ollama
  • Open WebUI
  • Qdrant
  • FastAPI RAG API
  • Docker Compose
  • NVIDIA GPU対応
  • 社内LAN内のみで利用
  • 外部APIは使わない

まず、実装前の設計書を作成してください。
出力してほしいもの:

  1. 全体構成
  2. 導入手順
  3. 必要なパッケージ
  4. ディレクトリ構成
  5. ポート設計
  6. セキュリティ上の注意点
  7. Ansible化する場合のロール構成

作成された設計書

ChatGPT Plusを使った設計書です。(概要版)
詳細設計書は結構な量ですので、こちらのZIPをダウンロードして確認してください。



ローカルRAG+報告書支援デモ環境 設計概要

1. 目的

Ubuntu Server 24.04 上に、社内LAN内のみで利用するローカルRAG+報告書支援デモ環境を構築する。

外部APIは使用せず、LLM推論・Embedding・文書検索・報告書支援をすべてローカル環境で実行する。


2. 全体構成

構成要素は以下のとおり。

  • Ubuntu Server 24.04
  • Docker Engine
  • Docker Compose
  • NVIDIA Driver
  • NVIDIA Container Toolkit
  • Ollama
  • Open WebUI
  • Qdrant
  • FastAPI RAG API

3. 役割

コンポーネント 役割
Ollama ローカルLLM・Embeddingモデルの実行
Open WebUI 利用者向けチャットUI
Qdrant ベクトルDB
FastAPI RAG API 文書投入、検索、回答生成、報告書支援
Docker Compose 各サービスの起動・管理
NVIDIA Container Toolkit DockerコンテナからGPUを利用

4. 導入手順概要

  1. Ubuntu Server 24.04 を準備する
  2. NVIDIA Driver と nvidia-smi の動作を確認する
  3. 基本パッケージを導入する
  4. Docker Engine を公式手順で導入する
  5. NVIDIA Container Toolkit を導入する
  6. Docker Compose 構成を配置する
  7. Ollama / Open WebUI / Qdrant / FastAPI RAG API を起動する
  8. Ollama モデルを取得する
  9. RAG対象文書を投入する
  10. Open WebUI から動作確認する

5. 必要な主なパッケージ

OS側

  • curl
  • ca-certificates
  • gnupg
  • jq
  • git
  • unzip
  • python3
  • python3-venv
  • python3-pip
  • build-essential
  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-compose-plugin
  • nvidia-container-toolkit

Dockerコンテナ

  • ollama/ollama
  • ghcr.io/open-webui/open-webui
  • qdrant/qdrant
  • 自作 FastAPI RAG API イメージ

6. ディレクトリ構成

/opt/local-rag-demo/
├── docker-compose.yml
├── .env
├── README.md
├── scripts/
├── rag-api/
│   ├── Dockerfile
│   ├── requirements.txt
│   └── app/
├── data/
│   ├── documents/
│   ├── qdrant/
│   ├── ollama/
│   └── open-webui/
├── logs/
└── backups/

7. ポート設計

サービス ポート 公開範囲
Open WebUI 3000 社内LAN
FastAPI RAG API 8000 管理者または社内LAN限定
Ollama 11434 Docker内部のみ
Qdrant HTTP 6333 Docker内部のみ
Qdrant gRPC 6334 Docker内部のみ
SSH 22 管理端末のみ

基本方針として、利用者の入口は Open WebUI に集約する。


8. セキュリティ方針

  • 外部LLM APIは使用しない
  • OpenAI / Claude / Gemini 等のAPIキーは設定しない
  • Open WebUI のみ社内LANに公開する
  • Ollama と Qdrant は外部公開しない
  • FastAPI RAG API は必要時のみLAN公開する
  • .env はGit管理しない
  • Qdrantには本文断片やメタデータが保存されるため直接公開しない
  • Dockerグループに追加するユーザーは最小限にする
  • 本番機密資料は検証環境にそのまま投入しない

9. RAG処理の流れ


10. 報告書支援機能

FastAPI RAG API に以下の機能を持たせる。

機能 内容
文書検索 社内資料から関連情報を検索
質問応答 検索結果に基づいて回答
要約 長文資料や報告書を要約
報告書ドラフト メモや検索結果から報告書案を作成
リライト 業務向け・行政向け表現に修正

11. Ansible化する場合のロール構成

ansible/
├── inventory/
├── playbooks/
└── roles/
    ├── common/
    ├── docker/
    ├── nvidia_container_toolkit/
    ├── rag_dirs/
    ├── compose_stack/
    ├── ollama_models/
    ├── firewall/
    ├── backup/
    └── healthcheck/
ロール 役割
common 基本パッケージ導入
docker Docker Engine導入
nvidia_container_toolkit GPUコンテナ対応
rag_dirs ディレクトリ作成
compose_stack Docker Compose配置
ollama_models モデル取得
firewall LAN限定公開設定
backup 設定・データバックアップ
healthcheck 動作確認

12. 設計のポイント

  • 外部APIを使わず、完全ローカルで動かす
  • 利用者入口は Open WebUI に集約する
  • Ollama と Qdrant は Docker内部ネットワークに閉じる
  • GPUは Ollama に割り当てる
  • FastAPI RAG API を分離し、将来のGIS連携や報告書支援に拡張しやすくする
  • Ansible化を前提に、構成ファイルとデータを整理する

13. 次に作成するもの

  • docker-compose.yml
  • .env.example
  • rag-api/Dockerfile
  • rag-api/requirements.txt
  • rag-api/app/main.py
  • セットアップ用シェルスクリプト
  • Ansibleロール雛形

設計書の吟味

多分、同じように考えて作成する事になりますが、たった10分ほどでChaGPT Plusで作成されました。
フロー図まで書いてくれるんですね。もうちょっとイメージがわく図にしてほしいところですね。
全体的に、同じような設計書を作るとしたら2~3日程度の時間は必要だと思います。

この設計書を元にAnsible化していくのですが、いきなりな難しいので、まずは、bashで導入手順を固定化し、実機で動作確認できた手順だけをAnsible化するのが安全と考えます。

したがって以下の手順で進めていきます。

手 順

  1. bash スクリプトで手順を作る
  2. 検証用 Ubuntu Server 24.04 で順番に実行する
  3. エラー箇所を修正する
  4. 最終的に全手順が通ることを確認する
  5. 動作確認済み bash を Ansible role に分解する

なんとここまで約2時間程度です。恐ろしや。。。
うまく使いこなせれば、すごいこともできそうですね。

次回は設計書の導入順でスクリプトを検証します。
さてさて、うまく行くのでしょうか?

導入手順

  • A[OS確認]
  • B[基本パッケージ導入]
  • C[NVIDIA Driver確認]
  • D[Docker導入]
  • E[NVIDIA Container Toolkit導入]
  • F[Docker GPU確認]
  • G[Compose構成配置]
  • H[Ollamaモデル取得]
  • I[Qdrant起動]
  • J[FastAPI RAG API起動]
  • K[Open WebUI起動]
  • L[ヘルスチェック]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?