0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【LLM活用事例】座標を入れたら地図を可視化&自動分類してくれるWebアプリ作ってみた

Last updated at Posted at 2025-06-25

はじめに

地理データを使った業務や研究で、座標に対して「これは住宅街?交差点?橋の上?」といった分類を手作業で行っていませんか?

今回は、CSVで渡された緯度・経度情報をもとに、LLM(大規模言語モデル)とOpenStreetMapの情報を組み合わせて地理的特徴を自動分類するWebアプリを構築しました。

GroqのLLM(LLaMA 3)を使えば、無料・高速・商用利用OKで、OpenAI互換のAPIを使ってあっという間にこの仕組みが作れます!


アプリケーション紹介

webブラウザ上のアプリケーションです。地点情報を記述したcsvファイルをimportしたうえでAutoLabelボタンを押下すると地点にラベル情報が付与されます。githubからクローンしてご利用ください。
main_window.png


このアプリでできること

📍 CSVで座標を読み込み
🗺️ Leaflet.jsで地図上にマーカー表示
🤖 Groq API(LLaMA 3)で地理的特徴をラベル付け
🌈 ラベルごとの色分け
🧭 ダブルクリックでGoogleストリートビューを即表示
🔍 ラベルで検索・フィルタリング
📤 ラベリング結果をCSVでエクスポート

map_screenshot


🤔 単純な「座標→特徴分類」じゃ上手くいかない話

LLMに「この座標は交差点ですか?」と聞いても正確な判断はできません。

そこで、OpenStreetMapの 逆ジオコーディング情報(住所・道路名・カテゴリなど)を取得し、それを含む詳細なプロンプトをGroqに渡すことで、

「道路名に"bridge"が含まれているのでラベルは'Bridge'」
「複数の交差する道路があるので'Intersection'もラベル付け」

といったようにOSMの文脈をLLMに理解させて分類できるようにしました。


なぜGroqを選んだか?:他のAIとの比較

比較軸 GPT-4 (ChatGPT) Claude 3 Groq LLaMA 3
日本語対応 ◎ 非常に高精度 ○ 自然さはやや不安定だが理解力は高い ○ 改善中。理解力はあるが出力にややぎこちなさ
商用利用 ◎ ChatGPT APIやEnterpriseで明確に商用利用可 ◎ Claude APIで商用利用可能(利用規約に準拠) ◎ Meta LLaMA 3は商用ライセンス。GroqのAPIも商用利用OK
モデル選択性 ◎ ChatGPT(GPT-3.5, GPT-4o)やAPIでモデル指定可能 △ Claude 3(Opus/Sonnet/Haiku)が選べるが環境限定 ◎ LLaMA 3やMixtralなど複数選択肢を提供
レイテンシ(応答速度) ○ GPT-4はやや遅いが、GPT-4oは高速 ○ Claude 3も比較的高速 ◎ Groqの独自ハードウェアにより超高速(数百ms〜)
価格 ○ 無料プランはGPT-3.5。GPT-4oは有料(月20ドル) ○ 無料枠あり。Claude ProやAPIは有料 ◎ 無料Web利用も多く、APIも安価・制限緩め
ライブラリ互換性 openai-python ライブラリが公式提供されている △ 独自API。OpenAI互換のSDKはない ○ 一部OpenAI互換ラッパーありだが、完全互換ではない
API料金 有料 有料 無料プランあり
→重要

Groqの魅力は

  • OpenAI互換なので既存コードを流用できる
  • かなり高速(筆者体感でOpenAIの3〜5倍速)
  • LLaMA3-70Bのような大規模モデルが気軽に使える

Groq APIをPythonから呼び出すシンプルな実装例

import openai

openai.api_key = "your_groq_api_key"
openai.api_base = "https://api.groq.com/openai/v1"

response = openai.ChatCompletion.create(
    model="llama3-70b-8192",
    messages=[
        {"role": "system", "content": "あなたは地理データの分類を行うAIです。"},
        {"role": "user", "content": "この地点にどんな地理的特徴があるか分類してください。"}
    ]
)

print(response["choices"][0]["message"]["content"])

Groq APIの利用手順(2025年6月時点)

  1. groqの公式サイトでアカウントを作成。
    https://console.groq.com
  2. 「API Keys」から新しいキーを発行
  3. キーを .env や groq_api_key.txt に保存してプロジェクトで利用
  4. Pythonから呼び出すときは openai.api_key にキーを設定

最後に

問題や修正提案があればgithubのissueやqiitaにコメントいただければデス。地点情報のラベリングに限らず研究/開発時にはデータのラベリングが必要なシーンはあるかと思うので今今後も活用していこうと思います。最後前読んでいただきありがとうございました。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?