{"id":1847,"date":"2026-04-10T11:13:23","date_gmt":"2026-04-10T02:13:23","guid":{"rendered":"https:\/\/beeknowledge.co.jp\/?p=1847"},"modified":"2026-04-10T11:16:39","modified_gmt":"2026-04-10T02:16:39","slug":"ubuntu-24-04-%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%abllm%e7%92%b0%e5%a2%83%e8%a8%ad%e5%ae%9a%e3%83%9e%e3%83%8b%e3%83%a5%e3%82%a2%e3%83%ab","status":"publish","type":"post","link":"https:\/\/beeknowledge.co.jp\/?p=1847","title":{"rendered":"Ubuntu 24.04 \u30ed\u30fc\u30ab\u30ebLLM\u74b0\u5883\u8a2d\u5b9a\u30de\u30cb\u30e5\u30a2\u30eb"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"ja\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  \n  <style>\n    :root {\n      --bg: #f5f7fb;\n      --paper: #ffffff;\n      --ink: #1f2937;\n      --muted: #6b7280;\n      --line: #e5e7eb;\n      --accent: #2563eb;\n      --accent-soft: #eff6ff;\n      --warn: #fff7ed;\n      --warn-line: #fdba74;\n      --code: #0f172a;\n      --code-ink: #e2e8f0;\n    }\n    * { box-sizing: border-box; }\n    body {\n      margin: 0;\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Hiragino Sans\", \"Hiragino Kaku Gothic ProN\", \"Yu Gothic\", Meiryo, sans-serif;\n      background: linear-gradient(180deg, #eef2ff 0%, var(--bg) 220px);\n      color: var(--ink);\n      line-height: 1.75;\n    }\n    .wrap {\n      max-width: 1100px;\n      margin: 0 auto;\n      padding: 32px 20px 56px;\n    }\n    .hero {\n      background: var(--paper);\n      border: 1px solid var(--line);\n      border-radius: 20px;\n      padding: 32px;\n      box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);\n      margin-bottom: 24px;\n    }\n    .eyebrow {\n      color: var(--accent);\n      font-weight: 700;\n      letter-spacing: 0.04em;\n      font-size: 0.9rem;\n      text-transform: uppercase;\n    }\n    h1 {\n      margin: 8px 0 12px;\n      font-size: 2rem;\n      line-height: 1.3;\n    }\n    .lead {\n      color: var(--muted);\n      margin: 0;\n    }\n    .meta-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n      gap: 12px;\n      margin-top: 22px;\n    }\n    .meta-card {\n      border: 1px solid var(--line);\n      background: #fbfdff;\n      border-radius: 14px;\n      padding: 14px 16px;\n    }\n    .meta-card .label {\n      font-size: 0.82rem;\n      color: var(--muted);\n      margin-bottom: 4px;\n    }\n    .meta-card .value {\n      font-weight: 700;\n    }\n    .layout {\n      display: grid;\n      grid-template-columns: 280px minmax(0, 1fr);\n      gap: 24px;\n      align-items: start;\n    }\n    .toc {\n      position: sticky;\n      top: 18px;\n      background: var(--paper);\n      border: 1px solid var(--line);\n      border-radius: 18px;\n      padding: 18px;\n      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);\n    }\n    .toc h2 {\n      font-size: 1rem;\n      margin: 0 0 12px;\n    }\n    .toc ol {\n      padding-left: 1.2em;\n      margin: 0;\n    }\n    .toc li { margin: 0.45em 0; }\n    .toc a {\n      color: var(--ink);\n      text-decoration: none;\n    }\n    .toc a:hover { color: var(--accent); }\n    main {\n      display: flex;\n      flex-direction: column;\n      gap: 18px;\n    }\n    section {\n      background: var(--paper);\n      border: 1px solid var(--line);\n      border-radius: 18px;\n      padding: 28px;\n      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);\n    }\n    h2 {\n      font-size: 1.35rem;\n      margin: 0 0 12px;\n      line-height: 1.4;\n    }\n    h3 {\n      font-size: 1.05rem;\n      margin: 22px 0 10px;\n    }\n    p { margin: 0 0 12px; }\n    ul { margin: 0 0 14px 1.2em; padding: 0; }\n    li { margin: 0.35em 0; }\n    .note {\n      background: var(--warn);\n      border: 1px solid var(--warn-line);\n      border-radius: 12px;\n      padding: 12px 14px;\n      margin: 14px 0;\n    }\n    .keypoint {\n      background: var(--accent-soft);\n      border-left: 4px solid var(--accent);\n      padding: 12px 14px;\n      border-radius: 10px;\n      margin: 14px 0;\n    }\n    pre {\n      background: var(--code);\n      color: var(--code-ink);\n      padding: 16px 18px;\n      border-radius: 14px;\n      overflow-x: auto;\n      font-size: 0.92rem;\n      line-height: 1.65;\n      margin: 12px 0 16px;\n    }\n    code {\n      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n    }\n    table {\n      width: 100%;\n      border-collapse: collapse;\n      margin: 14px 0 18px;\n      font-size: 0.95rem;\n    }\n    th, td {\n      border: 1px solid var(--line);\n      padding: 12px 14px;\n      vertical-align: top;\n      text-align: left;\n    }\n    th {\n      background: #f8fafc;\n      font-weight: 700;\n    }\n    .refs a {\n      word-break: break-all;\n    }\n    footer {\n      color: var(--muted);\n      font-size: 0.9rem;\n      text-align: center;\n      padding-top: 10px;\n    }\n    @media (max-width: 920px) {\n      .layout { grid-template-columns: 1fr; }\n      .toc { position: static; }\n      .wrap { padding: 18px 14px 40px; }\n      .hero, section { padding: 22px; }\n      h1 { font-size: 1.7rem; }\n    }\n    @media print {\n      body { background: #fff; }\n      .wrap { max-width: none; padding: 0; }\n      .hero, section, .toc {\n        box-shadow: none;\n        border-radius: 0;\n      }\n      .layout { grid-template-columns: 1fr; }\n      .toc { position: static; }\n      a { color: inherit; text-decoration: none; }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"wrap\">\n    <header class=\"hero\">\n      <div class=\"eyebrow\">Ubuntu 24.04 \/ Local LLM Manual<\/div>\n      <h1>Ubuntu 24.04 \u30ed\u30fc\u30ab\u30ebLLM\u74b0\u5883\u8a2d\u5b9a\u30de\u30cb\u30e5\u30a2\u30eb<\/h1>\n      <p class=\"lead\">NVIDIA \u30c9\u30e9\u30a4\u30d0 \/ CUDA \/ uv \/ vLLM \/ Qwen AWQ\uff08Docker\u306a\u3057\uff09\u3002\u30ed\u30fc\u30ab\u30ebLLM\u63a8\u8ad6\u30b5\u30fc\u30d0\u3092\u69cb\u7bc9\u3057\u3001\u5f8c\u6bb5\u3067PDF-RAG\u30b5\u30a4\u30c8\u3078\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3092\u60f3\u5b9a\u3057\u305f\u5b9f\u904b\u7528\u5411\u3051\u306e\u624b\u9806\u66f8\u3067\u3059\u3002<\/p>\n      <div class=\"meta-grid\">\n        <div class=\"meta-card\"><div class=\"label\">\u7248\u6570<\/div><div class=\"value\">1.0<\/div><\/div>\n        <div class=\"meta-card\"><div class=\"label\">\u4f5c\u6210\u65e5<\/div><div class=\"value\">2026-04-10<\/div><\/div>\n        <div class=\"meta-card\"><div class=\"label\">\u524d\u63d0OS<\/div><div class=\"value\">Ubuntu 24.04 LTS \u7cfb<\/div><\/div>\n        <div class=\"meta-card\"><div class=\"label\">\u5bfe\u8c61\u8aad\u8005<\/div><div class=\"value\">\u30ed\u30fc\u30ab\u30ebLLM\u63a8\u8ad6\u30b5\u30fc\u30d0\u3092\u69cb\u7bc9\u3059\u308b\u6280\u8853\u62c5\u5f53\u8005<\/div><\/div>\n        <div class=\"meta-card\"><div class=\"label\">\u5bfe\u8c61\u69cb\u6210<\/div><div class=\"value\">AMD CPU \/ 16GB RAM \/ NVIDIA RTX 4060 Ti 16GB<\/div><\/div>\n        <div class=\"meta-card\"><div class=\"label\">\u63a8\u5968\u30e2\u30c7\u30eb<\/div><div class=\"value\">\u6a19\u6e96: Qwen2.5-7B-Instruct-AWQ \/ \u62e1\u5f35: Qwen3.5-9B-AWQ<\/div><\/div>\n      <\/div>\n    <\/header>\n\n    <div class=\"layout\">\n      <aside class=\"toc\">\n        <h2>\u76ee\u6b21<\/h2>\n        <ol>\n          <li><a href=\"#sec1\">\u76ee\u7684\u3068\u69cb\u7bc9\u65b9\u91dd<\/a><\/li>\n          <li><a href=\"#sec2\">\u5bfe\u8c61\u69cb\u6210\u3068\u30e2\u30c7\u30eb\u9078\u5b9a<\/a><\/li>\n          <li><a href=\"#sec3\">\u4e8b\u524d\u78ba\u8a8d\uff08BIOS \/ OS \/ \u30c7\u30a3\u30b9\u30af\uff09<\/a><\/li>\n          <li><a href=\"#sec4\">NVIDIA \u30c9\u30e9\u30a4\u30d0\u6574\u5099<\/a><\/li>\n          <li><a href=\"#sec5\">CUDA Toolkit \u5c0e\u5165<\/a><\/li>\n          <li><a href=\"#sec6\">Python \/ uv \/ \u914d\u7f6e\u65b9\u91dd<\/a><\/li>\n          <li><a href=\"#sec7\">vLLM \u5c0e\u5165<\/a><\/li>\n          <li><a href=\"#sec8\">Hugging Face \u8a8d\u8a3c\u3068\u30e2\u30c7\u30eb\u914d\u7f6e<\/a><\/li>\n          <li><a href=\"#sec9\">\u63a8\u5968\u8d77\u52d5\u30b3\u30de\u30f3\u30c9<\/a><\/li>\n          <li><a href=\"#sec10\">API \u758e\u901a\u78ba\u8a8d<\/a><\/li>\n          <li><a href=\"#sec11\">systemd \u30b5\u30fc\u30d3\u30b9\u5316<\/a><\/li>\n          <li><a href=\"#sec12\">\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/a><\/li>\n          <li><a href=\"#sec13\">\u904b\u7528\u30e1\u30e2<\/a><\/li>\n          <li><a href=\"#sec14\">\u53c2\u7167\u60c5\u5831<\/a><\/li>\n        <\/ol>\n      <\/aside>\n\n      <main>\n        <section id=\"sec1\">\n          <h2>1. \u76ee\u7684\u3068\u69cb\u7bc9\u65b9\u91dd<\/h2>\n          <p>\u672c\u66f8\u306f\u3001Ubuntu 24.04 \u4e0a\u3067\u30ed\u30fc\u30ab\u30ebLLM\u63a8\u8ad6\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u3001\u5c06\u6765\u7684\u306b PDF-RAG \u30b5\u30a4\u30c8\u3078\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306e\u6a19\u6e96\u624b\u9806\u3092\u793a\u3057\u307e\u3059\u3002\u91cd\u70b9\u306f\u300c\u58ca\u308c\u306b\u304f\u3044\u3053\u3068\u300d\u3068\u300c\u518d\u73fe\u3057\u3084\u3059\u3044\u3053\u3068\u300d\u3067\u3059\u3002<\/p>\n          <ul>\n            <li>NVIDIA \u30c9\u30e9\u30a4\u30d0\u306f Ubuntu \/ APT \u7cfb\u306e\u6a19\u6e96\u624b\u9806\u3067\u5c0e\u5165\u3057\u307e\u3059\u3002<code>.run<\/code> \u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u306f\u4fdd\u5b88\u8ca0\u8377\u304c\u9ad8\u3044\u305f\u3081\u6a19\u6e96\u624b\u9806\u304b\u3089\u5916\u3057\u307e\u3059\u3002<\/li>\n            <li>CUDA Toolkit \u306f NVIDIA \u516c\u5f0f\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\u65b9\u5f0f\u3067\u5c0e\u5165\u3057\u307e\u3059\u3002<\/li>\n            <li>vLLM \u306f\u4f9d\u5b58\u885d\u7a81\u3092\u907f\u3051\u308b\u305f\u3081\u3001\u65e2\u5b58 Python \u74b0\u5883\u3078\u6df7\u305c\u305a\u3001\u5fc5\u305a\u65b0\u3057\u3044\u5c02\u7528\u74b0\u5883\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/li>\n            <li>AMD \u5074 GPU \u306f CUDA \u304b\u3089\u898b\u3048\u306a\u3044\u305f\u3081\u3001\u4eca\u56de\u306e vLLM \u69cb\u6210\u3067\u306f\u8a08\u7b97\u8cc7\u6e90\u3068\u3057\u3066\u4f7f\u3044\u307e\u305b\u3093\u3002<\/li>\n            <li>\u6a19\u6e96\u30e2\u30c7\u30eb\u306f Qwen2.5-7B-Instruct-AWQ\u3001Qwen3.5-9B-AWQ \u306f\u62e1\u5f35\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\u6271\u3044\u307e\u3059\u3002<\/li>\n          <\/ul>\n          <div class=\"keypoint\"><strong>\u8981\u70b9\uff1a<\/strong>Qwen3 \u7cfb\u306f reasoning\uff08thinking\uff09\u304c\u65e2\u5b9a\u3067\u6709\u52b9\u306b\u306a\u308a\u3084\u3059\u3044\u305f\u3081\u3001\u901a\u5e38\u306e\u5bfe\u8a71API\u3068\u3057\u3066\u4f7f\u3046\u306a\u3089 <code>reasoning parser<\/code> \u3068 <code>enable_thinking=false<\/code> \u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u660e\u793a\u3057\u307e\u3059\u3002<\/div>\n        <\/section>\n\n        <section id=\"sec2\">\n          <h2>2. \u5bfe\u8c61\u69cb\u6210\u3068\u30e2\u30c7\u30eb\u9078\u5b9a<\/h2>\n          <table>\n            <thead>\n              <tr>\n                <th>\u5019\u88dc<\/th>\n                <th>\u4f4d\u7f6e\u4ed8\u3051<\/th>\n                <th>VRAM\u89b3\u70b9<\/th>\n                <th>\u63a8\u5968\u5ea6<\/th>\n              <\/tr>\n            <\/thead>\n            <tbody>\n              <tr>\n                <td>Qwen\/Qwen2.5-7B-Instruct-AWQ<\/td>\n                <td>\u516c\u5f0f\u306e4-bit AWQ\u3002\u6a19\u6e96\u63a1\u7528\u3002<\/td>\n                <td>4060 Ti 16GB\u3067\u73fe\u5b9f\u7684<\/td>\n                <td>\u25ce<\/td>\n              <\/tr>\n              <tr>\n                <td>Qwen3.5-9B-AWQ<\/td>\n                <td>\u91cf\u5b50\u5316\u914d\u5e03\u3092\u4f7f\u3046\u62e1\u5f35\u69cb\u6210\u3002<\/td>\n                <td>\u901a\u308b\u53ef\u80fd\u6027\u3042\u308a\u3002\u8abf\u6574\u524d\u63d0<\/td>\n                <td>\u25cb<\/td>\n              <\/tr>\n              <tr>\n                <td>Qwen\/Qwen3.5-9B (BF16)<\/td>\n                <td>\u751f\u30e2\u30c7\u30eb\u3002<\/td>\n                <td>4060 Ti 16GB\u3067\u306f\u91cd\u3044<\/td>\n                <td>\u00d7<\/td>\n              <\/tr>\n              <tr>\n                <td>Gemma 4 \u7cfb<\/td>\n                <td>\u5225\u7cfb\u7d71\u3002<\/td>\n                <td>\u672c\u69cb\u6210\u3067\u306f\u4f9d\u5b58\u30fbVRAM\u3068\u3082\u53b3\u3057\u3081<\/td>\n                <td>\u00d7<\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n          <p>\u6a19\u6e96\u624b\u9806\u306f <strong>Qwen2.5-7B-Instruct-AWQ<\/strong> \u3067\u6700\u5f8c\u307e\u3067\u901a\u308b\u3053\u3068\u3092\u512a\u5148\u3057\u3001Qwen3.5-9B-AWQ \u306f\u4ed8\u9332\u7684\u306a\u62e1\u5f35\u69cb\u6210\u3068\u3057\u3066\u6271\u3044\u307e\u3059\u3002Qwen3.5 \u3092\u4f7f\u3046\u5834\u5408\u306f text-only \u904b\u7528\u3001thinking \u7121\u52b9\u5316\u3001\u77ed\u3081\u306e <code>max-model-len<\/code> \u3092\u524d\u63d0\u306b\u3057\u307e\u3059\u3002<\/p>\n        <\/section>\n\n        <section id=\"sec3\">\n          <h2>3. \u4e8b\u524d\u78ba\u8a8d\uff08BIOS \/ OS \/ \u30c7\u30a3\u30b9\u30af\uff09<\/h2>\n          <ul>\n            <li>BIOS\/UEFI \u306f\u6700\u65b0\u5316\u3057\u307e\u3059\u3002\u7279\u306b AMD CPU \u5074\u306e\u66f4\u65b0\u306f microcode \u3068\u5408\u308f\u305b\u3066\u5148\u306b\u6e08\u307e\u305b\u307e\u3059\u3002<\/li>\n            <li>Secure Boot \u304c\u6709\u52b9\u306a\u5834\u5408\u3001NVIDIA \u30ab\u30fc\u30cd\u30eb\u30e2\u30b8\u30e5\u30fc\u30eb\u7f72\u540d\u307e\u308f\u308a\u306e\u8ffd\u52a0\u78ba\u8a8d\u304c\u5fc5\u8981\u3067\u3059\u3002<\/li>\n            <li>\u7a7a\u304d\u30c7\u30a3\u30b9\u30af\u306f\u6700\u4f4e 50GB \u3092\u63a8\u5968\u3057\u307e\u3059\u3002\u30e2\u30c7\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u3092 <code>\/opt\/LLM<\/code> \u914d\u4e0b\u3078\u5bc4\u305b\u308b\u305f\u3081\u3067\u3059\u3002<\/li>\n            <li>Ubuntu 24.04 \u7cfb\u3092\u524d\u63d0\u306b\u3057\u3001\u30ab\u30fc\u30cd\u30eb\u66f4\u65b0\u5f8c\u306f\u5fc5\u305a\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li>\n          <\/ul>\n          <h3>\u521d\u56de\u66f4\u65b0<\/h3>\n          <pre><code>sudo apt update\nsudo apt full-upgrade -y\nsudo reboot<\/code><\/pre>\n        <\/section>\n\n        <section id=\"sec4\">\n          <h2>4. NVIDIA \u30c9\u30e9\u30a4\u30d0\u6574\u5099<\/h2>\n          <p>\u307e\u305a\u306f Ubuntu \u6a19\u6e96\u306e\u65b9\u6cd5\u3067 NVIDIA \u30c9\u30e9\u30a4\u30d0\u3092\u5165\u308c\u307e\u3059\u3002\u30c9\u30e9\u30a4\u30d0\u3060\u3051\u5148\u306b\u5b89\u5b9a\u3055\u305b\u3001\u305d\u306e\u5f8c\u306b CUDA Toolkit \u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n          <h3>\u6a19\u6e96\u624b\u9806<\/h3>\n          <pre><code>sudo apt install -y ubuntu-drivers-common\nubuntu-drivers devices\nsudo ubuntu-drivers install\nsudo reboot<\/code><\/pre>\n          <div class=\"note\"><strong>\u6ce8\u610f\uff1a<\/strong>\u624b\u52d5\u3067\u30c9\u30e9\u30a4\u30d0\u679d\u756a\u3092\u56fa\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306e\u307f\u3001Ubuntu \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e APT \u624b\u9806\u306b\u5f93\u3063\u3066 <code>linux-modules-nvidia-*<\/code> \u3068 <code>nvidia-driver-*<\/code> \u3092\u660e\u793a\u7684\u306b\u5165\u308c\u307e\u3059\u3002<\/div>\n          <h3>\u5c0e\u5165\u5f8c\u306e\u78ba\u8a8d<\/h3>\n          <pre><code>nvidia-smi\ncat \/proc\/driver\/nvidia\/version<\/code><\/pre>\n          <p><code>nvidia-smi<\/code> \u3067 RTX 4060 Ti \u304c\u898b\u3048\u3066\u3044\u308c\u3070\u3001CUDA \u5229\u7528\u306e\u524d\u63d0\u306f\u6574\u3063\u3066\u3044\u307e\u3059\u3002AMD \u5074 GPU \u306f\u3053\u3053\u306b\u51fa\u3066\u3082 CUDA \u30c7\u30d0\u30a4\u30b9\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n        <\/section>\n\n        <section id=\"sec5\">\n          <h2>5. CUDA Toolkit \u5c0e\u5165<\/h2>\n          <p>CUDA Toolkit \u306f NVIDIA \u516c\u5f0f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30dd\u30b8\u30c8\u30ea\u7d4c\u7531\u3067\u5c0e\u5165\u3057\u307e\u3059\u3002package manager installation \u3092\u6a19\u6e96\u3068\u3057\u307e\u3059\u3002<\/p>\n          <h3>CUDA Toolkit<\/h3>\n          <pre><code>cd \/tmp\nwget https:\/\/developer.download.nvidia.com\/compute\/cuda\/repos\/ubuntu2404\/x86_64\/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt update\nsudo apt install -y cuda-toolkit<\/code><\/pre>\n          <p><code>nvcc<\/code> \u304c\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u306e\u307f\u3001PATH \u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n          <h3>PATH \u306e\u88dc\u6b63\uff08\u5fc5\u8981\u6642\u306e\u307f\uff09<\/h3>\n          <pre><code>echo 'export PATH=\/usr\/local\/cuda\/bin:$PATH' &gt;&gt; ~\/.bashrc\necho 'export LD_LIBRARY_PATH=\/usr\/local\/cuda\/lib64:$LD_LIBRARY_PATH' &gt;&gt; ~\/.bashrc\nsource ~\/.bashrc\nnvcc --version<\/code><\/pre>\n        <\/section>\n\n        <section id=\"sec6\">\n          <h2>6. Python \/ uv \/ \u914d\u7f6e\u65b9\u91dd<\/h2>\n          <p>vLLM \u306f CUDA \/ PyTorch \/ \u81ea\u524d\u30b3\u30f3\u30d1\u30a4\u30eb\u30ab\u30fc\u30cd\u30eb\u306e\u76f8\u6027\u306b\u654f\u611f\u3067\u3059\u3002\u65e2\u5b58\u306e Python \u74b0\u5883\u3078\u6df7\u305c\u305a\u3001\u5c02\u7528\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\u5c02\u7528\u4eee\u60f3\u74b0\u5883\u3092\u5207\u308a\u307e\u3059\u3002<\/p>\n          <h3>\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea<\/h3>\n          <pre><code>sudo mkdir -p \/opt\/LLM\/qwen35\/{venv,cache\/huggingface,logs,run,models}\nsudo chown -R $USER:$USER \/opt\/LLM<\/code><\/pre>\n          <h3>uv \u306e\u5c0e\u5165<\/h3>\n          <pre><code>curl -LsSf https:\/\/astral.sh\/uv\/install.sh | sh\nsource \"$HOME\/.local\/bin\/env\"\nuv --version<\/code><\/pre>\n          <h3>\u5c02\u7528 venv \u306e\u4f5c\u6210<\/h3>\n          <pre><code>uv venv --python 3.12 \/opt\/LLM\/qwen35\/venv\nsource \/opt\/LLM\/qwen35\/venv\/bin\/activate\npython --version<\/code><\/pre>\n          <h3>\u6052\u4e45\u8a2d\u5b9a<\/h3>\n          <pre><code>cat &gt;&gt; ~\/.bashrc &lt;&lt;'EOF'\nexport QWEN35_HOME=\/opt\/LLM\/qwen35\nexport HF_HOME=\/opt\/LLM\/qwen35\/cache\/huggingface\nexport HUGGINGFACE_HUB_CACHE=\/opt\/LLM\/qwen35\/cache\/huggingface\/hub\nalias qwen35on='source \/opt\/LLM\/qwen35\/venv\/bin\/activate &amp;&amp; export HF_HOME=\/opt\/LLM\/qwen35\/cache\/huggingface &amp;&amp; export HUGGINGFACE_HUB_CACHE=\/opt\/LLM\/qwen35\/cache\/huggingface\/hub'\nEOF\nsource ~\/.bashrc<\/code><\/pre>\n          <div class=\"keypoint\"><strong>\u8981\u70b9\uff1a<\/strong><code>TRANSFORMERS_CACHE<\/code> \u306f\u975e\u63a8\u5968\u8b66\u544a\u304c\u51fa\u307e\u3059\u3002\u65b0\u898f\u8a2d\u5b9a\u306f <code>HF_HOME<\/code> \/ <code>HUGGINGFACE_HUB_CACHE<\/code> \u306b\u7d71\u4e00\u3057\u307e\u3059\u3002<\/div>\n        <\/section>\n\n        <section id=\"sec7\">\n          <h2>7. vLLM \u5c0e\u5165<\/h2>\n          <p>Qwen3.5 \u7cfb\u306f\u6bd4\u8f03\u7684\u65b0\u3057\u3044\u305f\u3081\u3001vLLM \u306f fresh environment \u4e0a\u3067\u5c0e\u5165\u3057\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066 nightly \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n          <h3>vLLM \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n          <pre><code>qwen35on\nuv pip install -U vllm --torch-backend=auto --extra-index-url https:\/\/wheels.vllm.ai\/nightly<\/code><\/pre>\n          <h3>GPU \u8a8d\u8b58\u78ba\u8a8d<\/h3>\n          <pre><code>python - &lt;&lt;'PY'\nimport torch\nprint(\"torch:\", torch.__version__)\nprint(\"cuda available:\", torch.cuda.is_available())\nprint(\"cuda version:\", torch.version.cuda)\nprint(\"device count:\", torch.cuda.device_count())\nprint(\"device 0:\", torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"N\/A\")\nPY<\/code><\/pre>\n        <\/section>\n\n        <section id=\"sec8\">\n          <h2>8. Hugging Face \u8a8d\u8a3c\u3068\u30e2\u30c7\u30eb\u914d\u7f6e<\/h2>\n          <p>\u516c\u958b\u30e2\u30c7\u30eb\u3067\u3082\u3001\u30ed\u30fc\u30ab\u30eb\u4fdd\u5b58\u3084\u5c06\u6765\u7684\u306a gated repo \u5229\u7528\u3092\u8003\u3048\u308b\u3068 <code>hf auth login<\/code> \u3092\u5148\u306b\u6e08\u307e\u305b\u305f\u65b9\u304c\u6df7\u4e71\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n          <h3>\u30ed\u30b0\u30a4\u30f3<\/h3>\n          <pre><code>qwen35on\nhf auth login<\/code><\/pre>\n          <p>\u6a19\u6e96\u30e2\u30c7\u30eb\u306f\u516c\u5f0f\u306e Qwen2.5-7B-Instruct-AWQ \u3092\u76f4\u63a5\u4f7f\u3044\u307e\u3059\u3002Qwen3.5-9B-AWQ \u3092\u30ed\u30fc\u30ab\u30eb\u914d\u7f6e\u3059\u308b\u5834\u5408\u306f\u3001\u5b9f\u5728\u3059\u308b <code>repo_id<\/code> \u3092\u6307\u5b9a\u3057\u3001<code>config.json<\/code> \u304c\u4fdd\u5b58\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n          <h3>\u6a19\u6e96\u30e2\u30c7\u30eb\uff08\u4efb\u610f\u306b\u30ed\u30fc\u30ab\u30eb\u5316\uff09<\/h3>\n          <pre><code>qwen35on\nhf download Qwen\/Qwen2.5-7B-Instruct-AWQ --local-dir \/opt\/LLM\/qwen35\/models\/Qwen2.5-7B-Instruct-AWQ<\/code><\/pre>\n          <h3>\u62e1\u5f35\u30e2\u30c7\u30eb\uff08\u91cf\u5b50\u5316\u914d\u5e03\u306e\u4f8b\uff09<\/h3>\n          <pre><code>qwen35on\nhf download QuantTrio\/Qwen3.5-9B-AWQ --local-dir \/opt\/LLM\/qwen35\/models\/Qwen3.5-9B-AWQ\nls -lah \/opt\/LLM\/qwen35\/models\/Qwen3.5-9B-AWQ\/config.json<\/code><\/pre>\n          <div class=\"note\"><strong>\u6ce8\u610f\uff1a<\/strong><code>REPO_ID<\/code> \u306f\u8aac\u660e\u7528\u30d7\u30ec\u30fc\u30b9\u30db\u30eb\u30c0\u3067\u3059\u3002\u305d\u306e\u307e\u307e\u5b9f\u884c\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u3002\u5b9f\u5728\u3059\u308b <code>namespace\/repo_name<\/code> \u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/div>\n        <\/section>\n\n        <section id=\"sec9\">\n          <h2>9. \u63a8\u5968\u8d77\u52d5\u30b3\u30de\u30f3\u30c9<\/h2>\n          <h3>9.1 \u6a19\u6e96\u69cb\u6210: Qwen2.5-7B-Instruct-AWQ<\/h3>\n          <pre><code>qwen35on\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nCUDA_VISIBLE_DEVICES=0 vllm serve   Qwen\/Qwen2.5-7B-Instruct-AWQ   --served-model-name MY_MODEL   --quantization awq   --dtype half   --max-num-seqs 1   --max-model-len 4096   --gpu-memory-utilization 0.90   --tensor-parallel-size 1   --language-model-only   --host 0.0.0.0   --port 8000<\/code><\/pre>\n          <h3>9.2 \u62e1\u5f35\u69cb\u6210: Qwen3.5-9B-AWQ\uff08thinking \u7121\u52b9\u5316\uff09<\/h3>\n          <pre><code>qwen35on\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nCUDA_VISIBLE_DEVICES=0 vllm serve   \/opt\/LLM\/qwen35\/models\/Qwen3.5-9B-AWQ   --served-model-name MY_MODEL   --quantization awq   --dtype half   --max-num-seqs 1   --max-model-len 4096   --gpu-memory-utilization 0.90   --tensor-parallel-size 1   --language-model-only   --reasoning-parser qwen3   --default-chat-template-kwargs '{\"enable_thinking\": false}'   --trust-remote-code   --host 0.0.0.0   --port 8000<\/code><\/pre>\n          <div class=\"keypoint\"><strong>\u8981\u70b9\uff1a<\/strong>Qwen3 \u7cfb\u306f thinking \u304c\u65e2\u5b9a\u3067\u6709\u52b9\u3067\u3059\u3002\u901a\u5e38\u306e\u4f1a\u8a71API\u3068\u3057\u3066\u4f7f\u3046\u5834\u5408\u306f\u3001server-level \u3067 <code>enable_thinking=false<\/code> \u3092\u56fa\u5b9a\u3057\u3066\u304a\u304f\u3068\u904b\u7528\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/div>\n        <\/section>\n\n        <section id=\"sec10\">\n          <h2>10. API \u758e\u901a\u78ba\u8a8d<\/h2>\n          <h3>\u30e2\u30c7\u30eb\u4e00\u89a7<\/h3>\n          <pre><code>curl http:\/\/127.0.0.1:8000\/v1\/models<\/code><\/pre>\n          <h3>\u30c1\u30e3\u30c3\u30c8\u758e\u901a<\/h3>\n          <pre><code>curl http:\/\/127.0.0.1:8000\/v1\/chat\/completions   -H \"Content-Type: application\/json\"   -d '{\n    \"model\": \"MY_MODEL\",\n    \"messages\": [\n      {\"role\": \"system\", \"content\": \"\u7c21\u6f54\u306b\u65e5\u672c\u8a9e\u3067\u7b54\u3048\u3066\u304f\u3060\u3055\u3044\u3002\"},\n      {\"role\": \"user\", \"content\": \"\u65e5\u672c\u8a9e\u3067\u77ed\u304f\u81ea\u5df1\u7d39\u4ecb\u3057\u3066\"}\n    ],\n    \"max_tokens\": 128,\n    \"temperature\": 0.2\n  }'<\/code><\/pre>\n          <p>\u6b63\u5e38\u6642\u306f <code>choices[0].message.content<\/code> \u306b\u56de\u7b54\u304c\u5165\u308a\u3001Qwen3.5 \u306e non-thinking \u904b\u7528\u3067\u306f <code>reasoning<\/code> \u304c <code>null<\/code> \u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n        <\/section>\n\n        <section id=\"sec11\">\n          <h2>11. systemd \u30b5\u30fc\u30d3\u30b9\u5316<\/h2>\n          <p>\u672c\u756a\u904b\u7528\u3067\u306f systemd \u5316\u3057\u3066\u518d\u8d77\u52d5\u6642\u306b\u81ea\u52d5\u8d77\u52d5\u3055\u305b\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u6a19\u6e96\u69cb\u6210\u306e\u4f8b\u3067\u3059\u3002Qwen3.5-9B-AWQ \u3092\u4f7f\u3046\u5834\u5408\u306f <code>ExecStart<\/code> \u3060\u3051\u5dee\u3057\u66ff\u3048\u307e\u3059\u3002<\/p>\n          <h3>\/etc\/systemd\/system\/qwen-vllm.service<\/h3>\n          <pre><code>[Unit]\nDescription=Qwen vLLM Server\nAfter=network.target\n\n[Service]\nType=simple\nUser=bee\nGroup=bee\nWorkingDirectory=\/opt\/LLM\/qwen35\nEnvironment=HF_HOME=\/opt\/LLM\/qwen35\/cache\/huggingface\nEnvironment=HUGGINGFACE_HUB_CACHE=\/opt\/LLM\/qwen35\/cache\/huggingface\/hub\nEnvironment=PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\nEnvironment=CUDA_VISIBLE_DEVICES=0\nExecStart=\/opt\/LLM\/qwen35\/venv\/bin\/vllm serve Qwen\/Qwen2.5-7B-Instruct-AWQ --served-model-name MY_MODEL --quantization awq --dtype half --max-num-seqs 1 --max-model-len 4096 --gpu-memory-utilization 0.90 --tensor-parallel-size 1 --language-model-only --host 0.0.0.0 --port 8000\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n          <h3>\u53cd\u6620<\/h3>\n          <pre><code>sudo systemctl daemon-reload\nsudo systemctl enable --now qwen-vllm\nsudo systemctl status qwen-vllm --no-pager -l<\/code><\/pre>\n        <\/section>\n\n        <section id=\"sec12\">\n          <h2>12. \u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h2>\n          <table>\n            <thead>\n              <tr>\n                <th>\u75c7\u72b6<\/th>\n                <th>\u4e3b\u56e0<\/th>\n                <th>\u5bfe\u51e6<\/th>\n              <\/tr>\n            <\/thead>\n            <tbody>\n              <tr>\n                <td><code>World size (2) is larger than the number of available GPUs (1)<\/code><\/td>\n                <td>CUDA \u304b\u3089\u898b\u3048\u308b GPU \u306f NVIDIA 1\u679a\u3060\u3051\u3002AMD GPU \u306f\u542b\u307e\u308c\u306a\u3044\u3002<\/td>\n                <td><code>--tensor-parallel-size 1<\/code> \u306b\u623b\u3059\u3002<\/td>\n              <\/tr>\n              <tr>\n                <td><code>CUDA out of memory<\/code><\/td>\n                <td>\u30e2\u30c7\u30eb\u304c\u91cd\u3044 \/ context \u304c\u9577\u3044 \/ \u540c\u6642\u30b7\u30fc\u30b1\u30f3\u30b9\u6570\u304c\u591a\u3044\u3002<\/td>\n                <td><code>--max-model-len 2048 or 4096<\/code>\u3001<code>--max-num-seqs 1<\/code>\u3001AWQ \u30e2\u30c7\u30eb\u3078\u5909\u66f4\u3002<\/td>\n              <\/tr>\n              <tr>\n                <td><code>content=null<\/code> \u3067 <code>reasoning<\/code> \u3060\u3051\u8fd4\u308b<\/td>\n                <td>Qwen3 \u7cfb\u306e thinking \u304c\u6709\u52b9\u3002<\/td>\n                <td><code>--reasoning-parser qwen3<\/code> \u3068 <code>--default-chat-template-kwargs {\"enable_thinking\": false}<\/code> \u3092\u4f7f\u3046\u3002<\/td>\n              <\/tr>\n              <tr>\n                <td><code>OSError: Can't load configuration ... config.json file<\/code><\/td>\n                <td>\u30ed\u30fc\u30ab\u30eb\u30e2\u30c7\u30eb\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b <code>config.json<\/code> \u304c\u7121\u3044\u3002<\/td>\n                <td><code>hf download<\/code> \u3067\u30e2\u30c7\u30eb\u4e00\u5f0f\u3092\u914d\u7f6e\u3057\u3001<code>config.json<\/code> \u306e\u5b58\u5728\u3092\u78ba\u8a8d\u3059\u308b\u3002<\/td>\n              <\/tr>\n              <tr>\n                <td><code>Repo id must be namespace\/repo_name<\/code><\/td>\n                <td><code>REPO_ID<\/code> \u3092\u305d\u306e\u307e\u307e\u5b9f\u884c\u3057\u305f\u3002<\/td>\n                <td>\u5b9f\u5728\u3059\u308b <code>repo_id<\/code> \u306b\u7f6e\u304d\u63db\u3048\u308b\u3002<\/td>\n              <\/tr>\n              <tr>\n                <td><code>TRANSFORMERS_CACHE is deprecated<\/code><\/td>\n                <td>\u53e4\u3044\u74b0\u5883\u5909\u6570\u3092\u4f7f\u3063\u3066\u3044\u308b\u3002<\/td>\n                <td><code>HF_HOME<\/code> \/ <code>HUGGINGFACE_HUB_CACHE<\/code> \u306b\u7d71\u4e00\u3059\u308b\u3002<\/td>\n              <\/tr>\n            <\/tbody>\n          <\/table>\n        <\/section>\n\n        <section id=\"sec13\">\n          <h2>13. \u904b\u7528\u30e1\u30e2<\/h2>\n          <ul>\n            <li>\u307e\u305a\u306f\u6a19\u6e96\u69cb\u6210\u3067 API \u3092\u5b89\u5b9a\u8d77\u52d5\u3055\u305b\u3001\u305d\u306e\u5f8c\u306b FastAPI \/ PostgreSQL \/ pgvector \u3092\u63a5\u7d9a\u3057\u307e\u3059\u3002<\/li>\n            <li>Qwen3.5-9B-AWQ \u306f\u62e1\u5f35\u69cb\u6210\u306a\u306e\u3067\u3001\u91cf\u5b50\u5316\u914d\u5e03\u306e\u4fe1\u983c\u6027\u78ba\u8a8d\u3068\u66f4\u65b0\u7ba1\u7406\u304c\u5fc5\u8981\u3067\u3059\u3002<\/li>\n            <li>PDF-RAG \u3092\u7d44\u3080\u5834\u5408\u3001\u524d\u6bb5\u3067 PyMuPDF \u306a\u3069\u306b\u3088\u308b\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u3001\u30c1\u30e3\u30f3\u30af\u5316\u3001\u57cb\u3081\u8fbc\u307f\u751f\u6210\u3001pgvector \u691c\u7d22\u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002<\/li>\n            <li>\u30ed\u30b0\u3084\u30ad\u30e3\u30c3\u30b7\u30e5\u306f <code>\/opt\/LLM<\/code> \u914d\u4e0b\u306b\u5bc4\u305b\u3001\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u6563\u3089\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/li>\n            <li>\u74b0\u5883\u66f4\u65b0\u6642\u306f\u3001\u307e\u305a <code>nvidia-smi<\/code>\u3001\u6b21\u306b <code>nvcc --version<\/code>\u3001\u6700\u5f8c\u306b <code>\/v1\/models<\/code> \u3067\u4e09\u6bb5\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/li>\n          <\/ul>\n        <\/section>\n\n        <section id=\"sec14\" class=\"refs\">\n          <h2>14. \u53c2\u7167\u60c5\u5831<\/h2>\n          <ul>\n            <li><a href=\"https:\/\/ubuntu.com\/server\/docs\/how-to\/graphics\/install-nvidia-drivers\/\">Ubuntu Server documentation: NVIDIA drivers installation<\/a><\/li>\n            <li><a href=\"https:\/\/docs.nvidia.com\/cuda\/cuda-installation-guide-linux\/\">NVIDIA CUDA Installation Guide for Linux<\/a><\/li>\n            <li><a href=\"https:\/\/docs.vllm.ai\/en\/stable\/getting_started\/installation\/gpu\/\">vLLM GPU installation<\/a><\/li>\n            <li><a href=\"https:\/\/docs.vllm.ai\/en\/latest\/features\/reasoning_outputs\/\">vLLM Reasoning Outputs<\/a><\/li>\n            <li><a href=\"https:\/\/docs.vllm.ai\/projects\/recipes\/en\/latest\/Qwen\/Qwen3.5.html\">vLLM Qwen3.5 recipe<\/a><\/li>\n            <li><a href=\"https:\/\/huggingface.co\/Qwen\/Qwen2.5-7B-Instruct-AWQ\">Qwen\/Qwen2.5-7B-Instruct-AWQ model card<\/a><\/li>\n            <li><a href=\"https:\/\/huggingface.co\/Qwen\/Qwen3.5-9B\">Qwen\/Qwen3.5-9B model card<\/a><\/li>\n            <li><a href=\"https:\/\/huggingface.co\/docs\/huggingface_hub\/en\/quick-start\">Hugging Face Hub quickstart \/ auth login<\/a><\/li>\n            <li><a href=\"https:\/\/huggingface.co\/QuantTrio\/Qwen3.5-9B-AWQ\">\u7b2c\u4e09\u8005\u306e\u91cf\u5b50\u5316\u914d\u5e03\u4f8b: QuantTrio\/Qwen3.5-9B-AWQ<\/a><\/li>\n          <\/ul>\n        <\/section>\n      <\/main>\n    <\/div>\n\n    <footer>\n      \u00a9\u682a\u5f0f\u4f1a\u793e\u30d3\u30fc\u30fb\u30ca\u30ec\u30c3\u30b8\u30fb\u30c7\u30b6\u30a4\u30f3\n    <\/footer>\n  <\/div>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Ubuntu 24.04 \/ Local LLM Manual Ubuntu 24.04 \u30ed\u30fc\u30ab\u30ebLLM\u74b0\u5883\u8a2d\u5b9a\u30de\u30cb\u30e5\u30a2\u30eb NVIDIA \u30c9\u30e9\u30a4\u30d0 \/ CUDA \/ uv \/ vLLM \/ Qwen AWQ\uff08Docker [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"vkexunit_cta_each_option":"","footnotes":""},"categories":[5,6,54],"tags":[26,51,36,49],"class_list":["post-1847","post","type-post","status-publish","format-standard","hentry","category-ai","category-programing","category-54","tag-ai","tag-51","tag-36"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1847"}],"version-history":[{"count":2,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1847\/revisions"}],"predecessor-version":[{"id":1849,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1847\/revisions\/1849"}],"wp:attachment":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}