{"id":81691,"date":"2025-12-24T16:30:00","date_gmt":"2025-12-24T07:30:00","guid":{"rendered":"https:\/\/www.creationline.com\/tech-blog\/?p=81691"},"modified":"2025-12-24T16:03:11","modified_gmt":"2025-12-24T07:03:11","slug":"litellm%e3%81%a7%e5%ae%9f%e7%8f%be%e3%81%99%e3%82%8b%e7%a4%be%e5%86%85ai%e3%83%84%e3%83%bc%e3%83%ab%e3%81%aeapi%e3%82%ad%e3%83%bc%e4%b8%80%e5%85%83%e7%ae%a1%e7%90%86","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691","title":{"rendered":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u306f\u3058\u3081\u306b<\/h2>\n\n\n\n<p>\u793e\u5185\u3067\u8907\u6570\u306eAI\u30c4\u30fc\u30eb\u3092\u5c0e\u5165\u3059\u308b\u969b\u3001\u6700\u3082\u7169\u96d1\u306a\u8ab2\u984c\u306e\u4e00\u3064\u304cAPI\u30ad\u30fc\u306e\u7ba1\u7406\u3067\u3059\u3002ChatGPT\u3001Claude\u3001Gemini\u306a\u3069\u3001\u5404LLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u767a\u884c\u3055\u308c\u308bAPI\u30ad\u30fc\u3092\u3001\u90e8\u7f72\u3054\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3054\u3068\u3001\u5f93\u696d\u54e1\u3054\u3068\u306b\u7ba1\u7406\u3059\u308b\u306e\u306f\u975e\u5e38\u306b\u624b\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3088\u304f\u3042\u308b\u8ab2\u984c\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u72b6\u6cc1\u306b\u76f4\u9762\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>API\u30ad\u30fc\u306e\u5206\u6563\u7ba1\u7406<\/strong>: \u5404\u30c1\u30fc\u30e0\u304c\u500b\u5225\u306bAPI\u30ad\u30fc\u3092\u53d6\u5f97\u30fb\u7ba1\u7406\u3057\u3001\u5168\u4f53\u306e\u5229\u7528\u72b6\u6cc1\u304c\u628a\u63e1\u3067\u304d\u306a\u3044<\/li>\n\n\n\n<li><strong>\u30b3\u30b9\u30c8\u7ba1\u7406\u306e\u56f0\u96e3\u3055<\/strong>: \u3069\u306e\u30c1\u30fc\u30e0\u304c\u3069\u308c\u3060\u3051API\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u8ffd\u8de1\u3067\u304d\u306a\u3044<\/li>\n\n\n\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30b9\u30af<\/strong>: API\u30ad\u30fc\u304cSlack\u3084\u30e1\u30fc\u30eb\u3067\u5171\u6709\u3055\u308c\u3001\u6f0f\u6d29\u30ea\u30b9\u30af\u304c\u9ad8\u307e\u308b<\/li>\n\n\n\n<li><strong>\u5f93\u696d\u54e1\u306e\u9000\u8077\u6642\u306e\u5bfe\u5fdc<\/strong>: \u9000\u8077\u8005\u304c\u4f7f\u7528\u3057\u3066\u3044\u305fAPI\u30ad\u30fc\u306e\u7121\u52b9\u5316\u6f0f\u308c\u304c\u767a\u751f<\/li>\n\n\n\n<li><strong>\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u5207\u308a\u66ff\u3048\u306e\u8ca0\u62c5<\/strong>: \u5225\u306eLLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306b\u5207\u308a\u66ff\u3048\u308b\u969b\u3001\u5168\u3066\u306e\u30c4\u30fc\u30eb\u306e\u8a2d\u5b9a\u5909\u66f4\u304c\u5fc5\u8981<\/li>\n<\/ul>\n\n\n\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u3067\u306e\u5b9f\u8df5\u4e8b\u4f8b\u3092\u3082\u3068\u306b\u3001LiteLLM\u3092\u6d3b\u7528\u3057\u305f\u793e\u5185API\u30ad\u30fc\u4e00\u5143\u7ba1\u7406\u306e\u5c0e\u5165\u30e1\u30ea\u30c3\u30c8\u3068\u3001\u6bb5\u968e\u7684\u306a\u5c0e\u5165\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u30b3\u30b9\u30c8\u524a\u6e1b\u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316\u3092\u4e21\u7acb\u3055\u305b\u306a\u304c\u3089\u3001\u3069\u306e\u3088\u3046\u306b\u793e\u5185\u306eAI\u6d3b\u7528\u3092\u63a8\u9032\u3057\u3066\u3044\u304f\u304b\u3001\u305d\u306e\u65b9\u91dd\u3068\u5f97\u3089\u308c\u305f\u77e5\u898b\u3092\u5171\u6709\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u8a18\u4e8b\u3092\u8aad\u3080\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u3092\u7406\u89e3\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LiteLLM\u306b\u3088\u308b\u7d71\u4e00API\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u4e00\u5143\u7ba1\u7406\u304c\u3082\u305f\u3089\u3059\u30e1\u30ea\u30c3\u30c8<\/li>\n\n\n\n<li>Virtual Key\u306b\u3088\u308b\u30bb\u30ad\u30e5\u30a2\u306a\u30a2\u30af\u30bb\u30b9\u7ba1\u7406\u306e\u4ed5\u7d44\u307f<\/li>\n\n\n\n<li>\u8a66\u9a13\u5c0e\u5165\u304b\u3089\u672c\u756a\u904b\u7528\u3078\u306e\u6bb5\u968e\u7684\u306a\u79fb\u884c\u65b9\u91dd<\/li>\n\n\n\n<li>\u30b3\u30b9\u30c8\u524a\u6e1b\u3068\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u3092\u4e21\u7acb\u3055\u305b\u308b\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u9078\u629e<\/li>\n\n\n\n<li>\u90e8\u7f72\u5225\u30fb\u30e6\u30fc\u30b6\u30fc\u5225\u306e\u5229\u7528\u72b6\u6cc1\u53ef\u8996\u5316\u306b\u3088\u308b\u52b9\u679c\u7684\u306a\u904b\u7528<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">LiteLLM\u306e\u57fa\u672c\u6982\u5ff5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u793e\u5185API\u30ad\u30fc\u7ba1\u7406\u306e\u8ab2\u984c<\/h3>\n\n\n\n<p>\u5f93\u6765\u3001\u5404\u30c1\u30fc\u30e0\u3084\u5f93\u696d\u54e1\u304c\u500b\u5225\u306bAPI\u30ad\u30fc\u3092\u7ba1\u7406\u3059\u308b\u65b9\u6cd5\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u5f93\u6765\u306e\u65b9\u6cd5\u306e\u4f8b\uff08\u5206\u6563\u7ba1\u7406\u306e\u8ab2\u984c\uff09<\/strong><\/p>\n\n\n\n<p>Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u958b\u767a\u30c1\u30fc\u30e0 A\n\u251c\u2500 OpenAI API Key (dev\u7528)\n\u251c\u2500 Anthropic API Key (prod\u7528)\n\u2514\u2500 Google API Key (\u5b9f\u9a13\u7528)\n\n\u30de\u30fc\u30b1\u30c6\u30a3\u30f3\u30b0\u30c1\u30fc\u30e0 B\n\u251c\u2500 OpenAI API Key (\u5171\u6709)\n\u2514\u2500 ChatGPT Plus (\u500b\u4eba\u5951\u7d04)\n\n\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9\u30c1\u30fc\u30e0 C\n\u251c\u2500 Anthropic API Key (\u5206\u6790\u7528)\n\u2514\u2500 Azure OpenAI Key (\u793e\u5185\u30b7\u30b9\u30c6\u30e0\u7528)\n<\/pre>\n\n\n\n<p>\u3053\u306e\u72b6\u614b\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u30b3\u30b9\u30c8\u628a\u63e1\u306e\u56f0\u96e3<\/strong>: \u5404\u30c1\u30fc\u30e0\u306e\u5229\u7528\u6599\u91d1\u304c\u500b\u5225\u8acb\u6c42\u3055\u308c\u3001\u5168\u4f53\u50cf\u304c\u898b\u3048\u306a\u3044<\/li>\n\n\n\n<li><strong>API\u30ad\u30fc\u306e\u91cd\u8907\u53d6\u5f97<\/strong>: \u540c\u3058\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30ad\u30fc\u3092\u8907\u6570\u30c1\u30fc\u30e0\u304c\u5225\u3005\u306b\u53d6\u5f97<\/li>\n\n\n\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7ba1\u7406\u306e\u7169\u96d1\u3055<\/strong>: API\u30ad\u30fc\u306e\u5171\u6709\u65b9\u6cd5\u304c\u30c1\u30fc\u30e0\u3054\u3068\u306b\u30d0\u30e9\u30d0\u30e9<\/li>\n\n\n\n<li><strong>\u30ac\u30d0\u30ca\u30f3\u30b9\u306e\u6b20\u5982<\/strong>: \u8ab0\u304c\u3069\u306e\u30e2\u30c7\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u8ffd\u8de1\u3067\u304d\u306a\u3044<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">LiteLLM\u306b\u3088\u308b\u4e00\u5143\u7ba1\u7406<\/h3>\n\n\n\n<p>LiteLLM\u3092\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u3001API\u30ad\u30fc\u7ba1\u7406\u3092\u4e2d\u592e\u96c6\u6a29\u5316\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>LiteLLM\u30d7\u30ed\u30ad\u30b7\u5c0e\u5165\u5f8c\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"279\" src=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-75.png\" alt=\"\" class=\"wp-image-81711\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-75.png 512w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-75-360x196.png 360w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p><strong>\u4e00\u5143\u7ba1\u7406\u306e\u30e1\u30ea\u30c3\u30c8<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u5358\u4e00\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8<\/strong>: \u5168\u793e\u54e1\u304c\u540c\u3058URL\u3092\u4f7f\u7528<\/li>\n\n\n\n<li><strong>Virtual Key\u306b\u3088\u308b\u500b\u5225\u8a8d\u8a3c<\/strong>: \u5f93\u696d\u54e1\u3054\u3068\u306b\u56fa\u6709\u306eVirtual Key\u3092\u767a\u884c<\/li>\n\n\n\n<li><strong>API\u30ad\u30fc\u306e\u79d8\u533f\u5316<\/strong>: \u5b9f\u969b\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\u306f\u7ba1\u7406\u8005\u306e\u307f\u304c\u77e5\u308b<\/li>\n\n\n\n<li><strong>\u5229\u7528\u72b6\u6cc1\u306e\u53ef\u8996\u5316<\/strong>: \u8ab0\u304c\u4f55\u3092\u4f7f\u3063\u305f\u304b\u5168\u3066\u8a18\u9332<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Virtual Key\u306b\u3088\u308b\u30bb\u30ad\u30e5\u30a2\u306a\u30a2\u30af\u30bb\u30b9\u7ba1\u7406<\/h3>\n\n\n\n<p>LiteLLM\u306eVirtual Key\u6a5f\u80fd\u306f\u3001\u793e\u5185\u3067\u306eAPI\u30ad\u30fc\u7ba1\u7406\u3092\u5b89\u5168\u304b\u3064\u67d4\u8edf\u306b\u3059\u308b\u91cd\u8981\u306a\u6982\u5ff5\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>Virtual Key\u3068\u306f<\/strong><\/p>\n\n\n\n<p>Virtual Key\u306fLiteLLM\u304c\u767a\u884c\u3059\u308b\u4eee\u60f3\u7684\u306a\u8a8d\u8a3c\u30ad\u30fc\u3067\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\uff08OpenAI\u3001Anthropic\u7b49\uff09\u3068\u306f\u72ec\u7acb\u3057\u3066\u7ba1\u7406\u3055\u308c\u307e\u3059\u3002<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/virtual_keys\">LiteLLM\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u306b\u3088\u308b\u3068\u3001Virtual Keys\u306fLiteLLM Proxy\u3078\u306e\u8a8d\u8a3c\u306b\u4f7f\u7528\u3055\u308c\u308bAPI\u30ad\u30fc\u3067\u3001\u5229\u7528\u72b6\u6cc1\u306e\u8ffd\u8de1\u3084\u30e2\u30c7\u30eb\u30a2\u30af\u30bb\u30b9\u306e\u5236\u5fa1\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p>Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u5f93\u696d\u54e1\u304c\u4f7f\u7528\u3059\u308bVirtual Key:\nsk-litellm-user-yamada-abc123\n\n\u2193 LiteLLM\u30d7\u30ed\u30ad\u30b7\u5185\u90e8\u3067\u5909\u63db\n\n\u5b9f\u969b\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\uff08Secret Manager\u7ba1\u7406\uff09:\nsk-ant-api03-xxx... (Anthropic)\nsk-proj-yyy... (OpenAI)\n<\/pre>\n\n\n\n<p><strong>Virtual Key\u306e\u5229\u70b9<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u5229\u70b9<\/strong><\/td><td><strong>\u8a73\u7d30<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u5411\u4e0a<\/strong><\/td><td>\u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\u304c\u5f93\u696d\u54e1\u306b\u9732\u51fa\u3057\u306a\u3044<\/td><\/tr><tr><td><strong>\u67d4\u8edf\u306a\u30a2\u30af\u30bb\u30b9\u5236\u5fa1<\/strong><\/td><td>\u30e6\u30fc\u30b6\u30fc\u3054\u3068\u3001\u30c1\u30fc\u30e0\u3054\u3068\u306b\u6a29\u9650\u3092\u7d30\u304b\u304f\u8a2d\u5b9a\u53ef\u80fd<\/td><\/tr><tr><td><strong>\u5373\u5ea7\u306e\u7121\u52b9\u5316<\/strong><\/td><td>\u9000\u8077\u8005\u306eVirtual Key\u3092\u5373\u5ea7\u306b\u7121\u52b9\u5316\uff08\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u30ad\u30fc\u5909\u66f4\u4e0d\u8981\uff09<\/td><\/tr><tr><td><strong>\u5229\u7528\u72b6\u6cc1\u306e\u8ffd\u8de1<\/strong><\/td><td>\u3069\u306eVirtual Key\u304c\u3069\u306e\u30e2\u30c7\u30eb\u3092\u4f7f\u7528\u3057\u305f\u304b\u5b8c\u5168\u306b\u8a18\u9332<\/td><\/tr><tr><td><strong>\u4e88\u7b97\u7ba1\u7406<\/strong><\/td><td>Virtual Key\u3054\u3068\u306b\u6708\u6b21\u4e88\u7b97\u3092\u8a2d\u5b9a\u3057\u3001\u8d85\u904e\u3092\u9632\u6b62<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Virtual Key\u306e\u8a2d\u5b9a\u4f8b<\/strong><\/p>\n\n\n\n<p>JSON<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"key\": \"sk-litellm-user-yamada-abc123\",\n  \"user_id\": \"yamada.taro@company.com\",\n  \"team_id\": \"engineering\",\n  \"max_budget\": 50.0,\n  \"budget_duration\": \"30d\",\n  \"models\": [\"claude-sonnet-4.5\", \"gpt-4.1-mini\"],\n  \"metadata\": {\n    \"department\": \"\u958b\u767a\u90e8\",\n    \"cost_center\": \"R&amp;D-001\"\n  }\n}\n<\/pre>\n\n\n\n<p>\u3053\u306eVirtual Key\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u6708\u984d$50\u306e\u4e88\u7b97\u5185\u3067\u3001\u6307\u5b9a\u3055\u308c\u305f\u30e2\u30c7\u30eb\u306e\u307f\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u4e88\u7b97\u8d85\u904e\u3084\u30e2\u30c7\u30eb\u5916\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f\u81ea\u52d5\u7684\u306b\u30d6\u30ed\u30c3\u30af\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7d71\u4e00API\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u5229\u70b9<\/h3>\n\n\n\n<p>LiteLLM\u306f\u3001\u5168\u3066\u306eLLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092OpenAI\u4e92\u63db\u306eAPI\u3067\u7d71\u4e00\u3057\u307e\u3059\u3002\u5f93\u696d\u54e1\u306fVirtual Key\u3092\u4f7f\u7528\u3057\u3066\u3001\u5358\u4e00\u306eAPI\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u5168\u3066\u306e\u30e2\u30c7\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u5f93\u696d\u54e1\u304c\u4f7f\u7528\u3059\u308b\u30b3\u30fc\u30c9\uff08\u3069\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u3082\u540c\u3058\uff09<\/strong><\/p>\n\n\n\n<p>Python<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import openai\n\n# \u793e\u5185LiteLLM\u30d7\u30ed\u30ad\u30b7\u3092\u6307\u5b9a\nopenai.api_base = \"https:\/\/litellm.company.com\"\nopenai.api_key = \"sk-litellm-user-yamada-abc123\"  # \u500b\u4eba\u306b\u767a\u884c\u3055\u308c\u305fVirtual Key\n\n# OpenAI GPT-4.1\u3092\u4f7f\u7528\nresponse = openai.ChatCompletion.create(\n    model=\"gpt-4.1\",\n    messages=[{\"role\": \"user\", \"content\": \"\u8cc7\u6599\u3092\u8981\u7d04\u3057\u3066\"}]\n)\n\n# Anthropic Claude Sonnet 4.5\u306b\u5207\u308a\u66ff\u3048\uff08\u30e2\u30c7\u30eb\u540d\u3092\u5909\u66f4\u3059\u308b\u3060\u3051\uff09\nresponse = openai.ChatCompletion.create(\n    model=\"claude-sonnet-4.5\",\n    messages=[{\"role\": \"user\", \"content\": \"\u8cc7\u6599\u3092\u8981\u7d04\u3057\u3066\"}]\n)\n\n# Google Gemini 3 Flash\u3082\u540c\u69d8\nresponse = openai.ChatCompletion.create(\n    model=\"gemini-3-flash\",\n    messages=[{\"role\": \"user\", \"content\": \"\u8cc7\u6599\u3092\u8981\u7d04\u3057\u3066\"}]\n)\n<\/pre>\n\n\n\n<p><strong>\u5f93\u696d\u54e1\u5074\u306e\u30e1\u30ea\u30c3\u30c8<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b66\u7fd2\u30b3\u30b9\u30c8\u30bc\u30ed<\/strong>: OpenAI API\u3092\u77e5\u3063\u3066\u3044\u308c\u3070\u4ed6\u306e\u30e2\u30c7\u30eb\u3082\u3059\u3050\u4f7f\u3048\u308b<\/li>\n\n\n\n<li><strong>\u30c4\u30fc\u30eb\u5207\u308a\u66ff\u3048\u4e0d\u8981<\/strong>: \u540c\u3058\u30b3\u30fc\u30c9\u3067\u8907\u6570\u306eLLM\u3092\u8a66\u305b\u308b<\/li>\n\n\n\n<li><strong>API\u30ad\u30fc\u7ba1\u7406\u4e0d\u8981<\/strong>: \u500b\u4eba\u3067\u8907\u6570\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u5951\u7d04\u3059\u308b\u5fc5\u8981\u306a\u3057<\/li>\n\n\n\n<li><strong>Virtual Key\u3067\u5b89\u5168<\/strong>: \u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\u3092\u76f4\u63a5\u6271\u308f\u306a\u3044<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7ba1\u7406\u8005\u5074\u306e\u30e1\u30ea\u30c3\u30c8<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u5207\u308a\u66ff\u3048\u304c\u7c21\u5358<\/strong>: \u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306eAPI\u30ad\u30fc\u3092\u5909\u66f4\u3059\u308b\u3060\u3051<\/li>\n\n\n\n<li><strong>\u6bb5\u968e\u7684\u79fb\u884c\u304c\u53ef\u80fd<\/strong>: \u65b0\u3057\u3044\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30c6\u30b9\u30c8\u3092\u7279\u5b9a\u30e6\u30fc\u30b6\u30fc\u3067\u5b9f\u65bd<\/li>\n\n\n\n<li><strong>\u30b3\u30b9\u30c8\u6700\u9069\u5316<\/strong>: \u7528\u9014\u306b\u5fdc\u3058\u3066\u6700\u3082\u30b3\u30b9\u30d1\u306e\u826f\u3044\u30e2\u30c7\u30eb\u306b\u8a98\u5c0e<\/li>\n\n\n\n<li><strong>Virtual Key\u7ba1\u7406<\/strong>: \u9000\u8077\u8005\u5bfe\u5fdc\u3001\u4e88\u7b97\u8d85\u904e\u9632\u6b62\u304c\u5bb9\u6613<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308bLLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc<\/h3>\n\n\n\n<p>LiteLLM\u306f\u3001\u793e\u5185\u3067\u3088\u304f\u4f7f\u308f\u308c\u308b\u4e3b\u8981\u306aLLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u4e3b\u8981\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\uff082025\u5e7412\u6708\u6642\u70b9\u306e\u6700\u65b0\u30e2\u30c7\u30eb\uff09<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc<\/strong><\/td><td><strong>\u6700\u65b0\u30e2\u30c7\u30eb<\/strong><\/td><td><strong>\u4e3b\u306a\u7528\u9014<\/strong><\/td><td><strong>\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>OpenAI<\/strong><\/td><td>o3\u3001o4-mini\u3001GPT-4.1\u3001GPT-4.1 mini\u3001GPT-4.1 nano<\/td><td>\u9ad8\u5ea6\u306a\u63a8\u8ad6\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u6c4e\u7528\u6587\u7ae0\u751f\u6210<\/td><td><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/platform.openai.com\/docs\/models\">OpenAI Models<\/a><\/td><\/tr><tr><td><strong>Anthropic<\/strong><\/td><td>Claude Opus 4.5\u3001Claude Sonnet 4.5\u3001Claude Haiku 4.5<\/td><td>\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3001\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u64cd\u4f5c<\/td><td><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.anthropic.com\/en\/docs\/about-claude\/models\">Claude Models<\/a><\/td><\/tr><tr><td><strong>Google<\/strong><\/td><td>Gemini 3 Flash<\/td><td>\u30d5\u30ed\u30f3\u30c6\u30a3\u30a2\u7d1a\u306e\u6027\u80fd\u3001\u9ad8\u901f\u51e6\u7406\u3001\u4f4e\u30b3\u30b9\u30c8<\/td><td><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/ai.google.dev\/gemini-api\/docs\/models\">Gemini Models<\/a><\/td><\/tr><tr><td><strong>Azure OpenAI<\/strong><\/td><td>Azure\u7248GPT-4.1\u3001GPT-4o<\/td><td>\u65e2\u5b58Azure\u74b0\u5883\u3068\u306e\u7d71\u5408<\/td><td><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/learn.microsoft.com\/azure\/ai-services\/openai\/\">Azure OpenAI<\/a><\/td><\/tr><tr><td><strong>AWS Bedrock<\/strong><\/td><td>Claude\u3001Titan\u7b49<\/td><td>\u65e2\u5b58AWS\u74b0\u5883\u3068\u306e\u7d71\u5408<\/td><td><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/bedrock\/\">AWS Bedrock<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u30e2\u30c7\u30eb\u9078\u629e\u306e\u53c2\u8003\u60c5\u5831<\/strong><\/p>\n\n\n\n<p><strong>OpenAI\uff082025\u5e7412\u6708\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>o3<\/strong>: <a href=\"https:\/\/openai.com\/index\/introducing-o3-and-o4-mini\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u6700\u3082\u5f37\u529b\u306a\u63a8\u8ad6\u30e2\u30c7\u30eb<\/a>\u3067\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u6570\u5b66\u3001\u79d1\u5b66\u3001\u8996\u899a\u8a8d\u8b58\u7b49\u3067\u30d5\u30ed\u30f3\u30c6\u30a3\u30a2\u3092\u63a8\u9032\u3002o1\u6bd4\u306720%\u5c11\u306a\u3044\u91cd\u5927\u30a8\u30e9\u30fc<\/li>\n\n\n\n<li><strong>o4-mini<\/strong>: \u9ad8\u901f\u304b\u3064\u30b3\u30b9\u30c8\u52b9\u7387\u306e\u826f\u3044\u63a8\u8ad6\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u5c0f\u578b\u30e2\u30c7\u30eb\u3002<a href=\"https:\/\/openai.com\/index\/introducing-o3-and-o4-mini\/\" target=\"_blank\" rel=\"noreferrer noopener\">AIME 2024\u30682025\u3067\u6700\u9ad8\u6027\u80fd<\/a><\/li>\n\n\n\n<li><strong>GPT-4.1\u30b7\u30ea\u30fc\u30ba<\/strong>: GPT-4o\u3068GPT-4o mini\u3092\u5168\u9762\u7684\u306b\u4e0a\u56de\u308a\u3001<a href=\"https:\/\/openai.com\/index\/gpt-4-1\/\" target=\"_blank\" rel=\"noreferrer noopener\">SWE-bench Verified\u306721.4%\u6539\u5584<\/a>\u3002\u6700\u5927100\u4e07\u30c8\u30fc\u30af\u30f3\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u5bfe\u5fdc<\/li>\n<\/ul>\n\n\n\n<p><strong>Anthropic\uff082025\u5e7412\u6708\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Claude Opus 4.5<\/strong>: <a href=\"https:\/\/www.anthropic.com\/news\/claude-opus-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">2025\u5e7411\u670824\u65e5\u30ea\u30ea\u30fc\u30b9<\/a>\u3002\u300c\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3001\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u64cd\u4f5c\u3067\u4e16\u754c\u6700\u9ad8\u306e\u30e2\u30c7\u30eb\u300d\u3002\u6599\u91d1\u306f$3\/$15 per million tokens<\/li>\n\n\n\n<li><strong>Claude Sonnet 4.5<\/strong>: <a href=\"https:\/\/www.anthropic.com\/news\/claude-sonnet-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">2025\u5e749\u670829\u65e5\u767a\u8868<\/a>\u3002\u300c\u4e16\u754c\u6700\u9ad8\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30e2\u30c7\u30eb\u300d\u3002\u6599\u91d1\u306f$3\/$15 per million tokens<\/li>\n\n\n\n<li><strong>Claude Haiku 4.5<\/strong>: <a href=\"https:\/\/www.anthropic.com\/news\/claude-haiku-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">2025\u5e7410\u670815\u65e5\u30ea\u30ea\u30fc\u30b9<\/a>\u3002\u4f4e\u30ec\u30a4\u30c6\u30f3\u30b7\u3068\u30b3\u30b9\u30c8\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u5c0f\u578b\u9ad8\u901f\u30e2\u30c7\u30eb\u3002\u6599\u91d1\u306f$1\/$5 per million tokens<\/li>\n<\/ul>\n\n\n\n<p><strong>Google\uff082025\u5e7412\u6708\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gemini 3 Flash<\/strong>: <a href=\"https:\/\/blog.google\/products\/gemini\/gemini-3-flash\/\" target=\"_blank\" rel=\"noreferrer noopener\">2025\u5e7412\u6708\u30ea\u30ea\u30fc\u30b9<\/a>\u3002Gemini 2.5 Pro\u3092\u4e0a\u56de\u308b\u6027\u80fd\u30673\u500d\u9ad8\u901f\u3001\u30b3\u30b9\u30c8\u306f\u4e00\u90e8\u3002<a href=\"https:\/\/blog.google\/technology\/developers\/build-with-gemini-3-flash\/\" target=\"_blank\" rel=\"noreferrer noopener\">SWE-bench Verified\u306778%\u9054\u6210<\/a>\u3002\u6599\u91d1\u306f$0.50\/$3 per million tokens<\/li>\n<\/ul>\n\n\n\n<p><strong>\u4f7f\u3044\u5206\u3051\u4f8b\uff082025\u5e7412\u6708\u6700\u65b0\u30e2\u30c7\u30eb\u5bfe\u5fdc\uff09<\/strong><\/p>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># config.yaml - \u793e\u5185\u7528\u9014\u306b\u5fdc\u3058\u305f\u30e2\u30c7\u30eb\u8a2d\u5b9a\nmodel_list:\n  # \u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u652f\u63f4\u7528\uff08\u958b\u767a\u30c1\u30fc\u30e0\u5411\u3051\uff09- \u6700\u9ad8\u6027\u80fd\n  - model_name: claude-opus-4.5\n    litellm_params:\n      model: anthropic\/claude-opus-4-5-20251124\n      api_key: \"os.environ\/ANTHROPIC_API_KEY\"\n\n  # \u9ad8\u901f\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u7528\uff08\u958b\u767a\u30c1\u30fc\u30e0\u5411\u3051\uff09- \u30d0\u30e9\u30f3\u30b9\u91cd\u8996\n  - model_name: claude-sonnet-4.5\n    litellm_params:\n      model: anthropic\/claude-sonnet-4-5-20250929\n      api_key: \"os.environ\/ANTHROPIC_API_KEY\"\n\n  # \u9ad8\u901f\u5fdc\u7b54\u7528\uff08\u30ab\u30b9\u30bf\u30de\u30fc\u30b5\u30dd\u30fc\u30c8\u5411\u3051\uff09\n  - model_name: gpt-4.1-mini\n    litellm_params:\n      model: openai\/gpt-4.1-mini\n      api_key: \"os.environ\/OPENAI_API_KEY\"\n\n  # \u8907\u96d1\u306a\u63a8\u8ad6\u7528\uff08\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9\u30c1\u30fc\u30e0\u5411\u3051\uff09\n  - model_name: o3\n    litellm_params:\n      model: openai\/o3\n      api_key: \"os.environ\/OPENAI_API_KEY\"\n\n  # \u30de\u30eb\u30c1\u30e2\u30fc\u30c0\u30eb\u51e6\u7406\u7528\uff08\u30de\u30fc\u30b1\u30c6\u30a3\u30f3\u30b0\u30c1\u30fc\u30e0\u5411\u3051\uff09\n  - model_name: gemini-3-flash\n    litellm_params:\n      model: vertex_ai\/gemini-3-flash\n      api_key: \"os.environ\/GOOGLE_API_KEY\"\n\n  # \u30b3\u30b9\u30c8\u91cd\u8996\u306e\u6c4e\u7528\u7528\u9014\uff08\u5168\u793e\u5411\u3051\uff09\n  - model_name: claude-haiku-4.5\n    litellm_params:\n      model: anthropic\/claude-haiku-4-5-20251015\n      api_key: \"os.environ\/ANTHROPIC_API_KEY\"\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ad\u30e3\u30c3\u30b7\u30e5\u3068\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u6a5f\u80fd<\/h3>\n\n\n\n<p>\u793e\u5185\u5229\u7528\u3067\u306f\u3001\u540c\u3058\u3088\u3046\u306a\u8cea\u554f\u304c\u7e70\u308a\u8fd4\u3055\u308c\u308b\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002LiteLLM\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u6a5f\u80fd\u306b\u3088\u308a\u3001API\u30b3\u30b9\u30c8\u3092\u5927\u5e45\u306b\u524a\u6e1b\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>Redis\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\u306b\u3088\u308b\u30b3\u30b9\u30c8\u524a\u6e1b<\/strong><\/p>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">litellm_settings:\n  # Redis\u30ad\u30e3\u30c3\u30b7\u30e5\u6709\u52b9\u5316\n  cache: true\n  cache_params:\n    type: redis\n    host: os.environ\/REDIS_HOST\n    port: os.environ\/REDIS_PORT\n    password: os.environ\/REDIS_PASSWORD\n    ttl: 3600  # 1\u6642\u9593\u30ad\u30e3\u30c3\u30b7\u30e5\u4fdd\u6301\n<\/pre>\n\n\n\n<p><strong>\u52b9\u679c\u306e\u4f8b<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u793e\u5185FAQ\u5bfe\u5fdc<\/strong>: \u300c\u7d4c\u8cbb\u7cbe\u7b97\u306e\u65b9\u6cd5\u306f\uff1f\u300d\u306a\u3069\u306e\u983b\u51fa\u8cea\u554f\u3092\u30ad\u30e3\u30c3\u30b7\u30e5<\/li>\n\n\n\n<li><strong>\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u7387<\/strong>: 40-60%\u7a0b\u5ea6\u304c\u671f\u5f85\u3067\u304d\u308b\uff08\u793e\u5185\u5229\u7528\u3067\u306f\u9ad8\u3044\u50be\u5411\uff09<\/li>\n\n\n\n<li><strong>\u30b3\u30b9\u30c8\u524a\u6e1b\u52b9\u679c<\/strong>: \u6708\u984dAPI\u30b3\u30b9\u30c8\u309230-50%\u524a\u6e1b\u53ef\u80fd<\/li>\n\n\n\n<li><strong>\u30ec\u30b9\u30dd\u30f3\u30b9\u901f\u5ea6<\/strong>: \u5e73\u5747200ms \u2192 50ms\u7a0b\u5ea6\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u6642\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u306b\u3088\u308b\u53ef\u7528\u6027\u5411\u4e0a<\/strong><\/p>\n\n\n\n<p>\u8907\u6570\u306eAPI\u30ad\u30fc\u3084\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u4e00\u3064\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3082\u81ea\u52d5\u7684\u306b\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">model_list:\n  # Claude Sonnet 4.5\uff08\u30e1\u30a4\u30f3\uff09\n  - model_name: claude-sonnet-4.5\n    litellm_params:\n      model: anthropic\/claude-sonnet-4-5-20250929\n      api_key: \"os.environ\/ANTHROPIC_API_KEY_1\"\n\n  # Claude Sonnet 4.5\uff08\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u7528\u306e\u5225API\u30ad\u30fc\uff09\n  - model_name: claude-sonnet-4.5\n    litellm_params:\n      model: anthropic\/claude-sonnet-4-5-20250929\n      api_key: \"os.environ\/ANTHROPIC_API_KEY_2\"\n\nrouter_settings:\n  routing_strategy: simple-shuffle\n  fallbacks:\n    - [\"anthropic\/claude-sonnet-4-5\", \"openai\/gpt-4.1\"]\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ec\u30fc\u30c8\u5236\u9650\u3068\u30af\u30a9\u30fc\u30bf\u7ba1\u7406<\/h3>\n\n\n\n<p>\u793e\u5185\u5229\u7528\u3067\u306f\u3001\u7279\u5b9a\u306e\u30e6\u30fc\u30b6\u30fc\u3084\u30c1\u30fc\u30e0\u304c\u904e\u5270\u306bAPI\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3092\u9632\u3050\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002Virtual Key\u3054\u3068\u306b\u7d30\u304b\u3044\u5236\u9650\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>Virtual Key\u5225\u306e\u30af\u30a9\u30fc\u30bf\u8a2d\u5b9a\u4f8b<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u30e6\u30fc\u30b6\u30fc\/\u30c1\u30fc\u30e0<\/strong><\/td><td><strong>\u6708\u6b21\u30ea\u30af\u30a8\u30b9\u30c8\u4e0a\u9650<\/strong><\/td><td><strong>\u6708\u6b21\u4e88\u7b97<\/strong><\/td><td><strong>\u4f7f\u7528\u53ef\u80fd\u30e2\u30c7\u30eb<\/strong><\/td><\/tr><\/thead><tbody><tr><td>\u958b\u767a\u30c1\u30fc\u30e0A<\/td><td>100,000\u56de<\/td><td>$500<\/td><td>claude-opus-4.5, claude-sonnet-4.5, o3<\/td><\/tr><tr><td>\u30de\u30fc\u30b1\u30c6\u30a3\u30f3\u30b0B<\/td><td>50,000\u56de<\/td><td>$200<\/td><td>gpt-4.1-mini, gemini-3-flash<\/td><\/tr><tr><td>\u500b\u4eba\u30e6\u30fc\u30b6\u30fcC<\/td><td>10,000\u56de<\/td><td>$50<\/td><td>gpt-4.1-mini, claude-haiku-4.5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u4e88\u7b97\u8d85\u904e\u3092\u9632\u304e\u3064\u3064\u3001\u516c\u5e73\u306a\u30ea\u30bd\u30fc\u30b9\u914d\u5206\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u8a2d\u8a08\u3068\u9032\u5316\u306e\u7d4c\u7def<\/h2>\n\n\n\n<p>\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u3067\u306f\u3001LiteLLM\u74b0\u5883\u306e\u69cb\u7bc9\u306b\u3042\u305f\u308a\u3001\u6bb5\u968e\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u63a1\u7528\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 1: Preemptible VM\u69cb\u6210\uff08\u8a66\u9a13\u5c0e\u5165\u671f\uff09<\/h3>\n\n\n\n<p><strong>\u5c0e\u5165\u306e\u80cc\u666f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f4e\u30b3\u30b9\u30c8\u3067\u306e\u8a66\u9a13\u5c0e\u5165<\/strong>: \u672c\u683c\u5c0e\u5165\u524d\u306b\u30b3\u30b9\u30c8\u3092\u6291\u3048\u3066\u691c\u8a3c<\/li>\n\n\n\n<li><strong>\u5c0e\u5165\u30cf\u30fc\u30c9\u30eb\u306e\u4f4e\u3055<\/strong>: Docker Compose\u3067\u7d20\u65e9\u304f\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/li>\n\n\n\n<li><strong>\u67d4\u8edf\u306a\u8a2d\u5b9a\u5909\u66f4<\/strong>: VM\u4e0a\u3067\u81ea\u7531\u306b\u8a2d\u5b9a\u3092\u8abf\u6574\u53ef\u80fd<\/li>\n<\/ul>\n\n\n\n<p><strong>\u69cb\u6210\u56f3<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"279\" src=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-73.png\" alt=\"\" class=\"wp-image-81710\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-73.png 512w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-73-360x196.png 360w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p><strong>Preemptible VM\u306e\u9078\u629e\u7406\u7531<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u7406\u7531<\/strong><\/td><td><strong>\u8a73\u7d30<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>\u30b3\u30b9\u30c8\u524a\u6e1b<\/strong><\/td><td>\u901a\u5e38VM\u3068\u6bd4\u8f03\u3057\u306670%\u306e\u30b3\u30b9\u30c8\u524a\u6e1b<\/td><\/tr><tr><td><strong>\u8a66\u9a13\u5c0e\u5165\u306b\u6700\u9069<\/strong><\/td><td>\u5931\u6557\u3057\u3066\u3082\u640d\u5931\u304c\u5c11\u306a\u3044<\/td><\/tr><tr><td><strong>\u30b9\u30d4\u30fc\u30c9\u91cd\u8996<\/strong><\/td><td>\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u304c\u8fc5\u901f\uff08\u6570\u6642\u9593\u3067\u5b8c\u4e86\uff09<\/td><\/tr><tr><td><strong>\u67d4\u8edf\u6027<\/strong><\/td><td>\u8a2d\u5b9a\u5909\u66f4\u304c\u5bb9\u6613\u3001\u8a66\u884c\u932f\u8aa4\u304c\u53ef\u80fd<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u8ab2\u984c\u3068\u89e3\u6c7a\u7b56<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u8ab2\u984c<\/strong><\/td><td><strong>\u89e3\u6c7a\u7b56<\/strong><\/td><td><strong>\u7d50\u679c<\/strong><\/td><\/tr><\/thead><tbody><tr><td>24\u6642\u9593\u4ee5\u5185\u306e\u5f37\u5236\u7d42\u4e86<\/td><td>Cloud Function\u81ea\u52d5\u5fa9\u65e7\u30b7\u30b9\u30c6\u30e0<\/td><td>\u7a3c\u50cd\u738799.9%<\/td><\/tr><tr><td>VM\u7ba1\u7406\u306e\u904b\u7528\u8ca0\u8377<\/td><td>systemd\u81ea\u52d5\u8d77\u52d5\u3001\u76e3\u8996\u30b9\u30af\u30ea\u30d7\u30c8<\/td><td>\u6df1\u591c\u5fa9\u65e7\u3067\u696d\u52d9\u5f71\u97ff\u306a\u3057<\/td><\/tr><tr><td>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u306e\u9650\u754c<\/td><td>Phase 2\u3067\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u79fb\u884c\u3092\u8a08\u753b<\/td><td>-<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u81ea\u52d5\u5fa9\u65e7\u30b7\u30b9\u30c6\u30e0\uff08\u9ad8\u4fe1\u983c\u6027\u306e\u5b9f\u73fe\uff09<\/strong><\/p>\n\n\n\n<p>Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1. VM Preemption\u691c\u77e5\uff08\u6df1\u591c\u306b\u767a\u751f\u3059\u308b\u3053\u3068\u304c\u591a\u3044\uff09\n   \u2193\n2. shutdown-script.sh\u5b9f\u884c\n   \u2514\u2500 LiteLLM\u30b5\u30fc\u30d3\u30b9\u3092\u30b0\u30ec\u30fc\u30b9\u30d5\u30eb\u505c\u6b62\n   \u2514\u2500 GCS\u306bpreemption\u72b6\u614b\u3092\u4fdd\u5b58\n   \u2193\n3. Cloud Function\u8d77\u52d5\uff08\u6570\u79d2\u4ee5\u5185\uff09\n   \u2514\u2500 VM\u72b6\u614b\u3092TERMINATED\u307e\u3067\u76e3\u8996\n   \u2514\u2500 Resource fingerprint\u30a8\u30e9\u30fc\u56de\u907f\n   \u2193\n4. \u30a4\u30f3\u30c6\u30ea\u30b8\u30a7\u30f3\u30c8\u30ea\u30c8\u30e9\u30a4\n   \u2514\u2500 \u6307\u6570\u30d0\u30c3\u30af\u30aa\u30d5\u3067\u6700\u59275\u56de\u30ea\u30c8\u30e9\u30a4\n   \u2514\u2500 \u6210\u529f\u7387: 99.9%\n   \u2193\n5. VM\u518d\u8d77\u52d5 \u2192 LiteLLM\u30b5\u30fc\u30d3\u30b9\u81ea\u52d5\u8d77\u52d5\n   \u2514\u2500 \u5e73\u5747\u5fa9\u65e7\u6642\u9593: 2-3\u5206\n<\/pre>\n\n\n\n<p><strong>Phase 1\u306e\u6210\u679c<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8a66\u9a13\u671f\u9593<\/strong>: 2-3\u30f6\u6708<\/li>\n\n\n\n<li><strong>\u30b3\u30b9\u30c8<\/strong>: \u6708\u984d$165\uff08VM $117.75 + Cloud SQL $11.07 + Redis $35.77\uff09<\/li>\n\n\n\n<li><strong>\u7a3c\u50cd\u7387<\/strong>: 99.9%<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 2: Cloud Run\u69cb\u6210\uff08\u79fb\u884c\u4e2d\uff09<\/h3>\n\n\n\n<p><strong>\u79fb\u884c\u306e\u80cc\u666f<\/strong><\/p>\n\n\n\n<p>Phase 1\u3067\u306e\u691c\u8a3c\u3092\u7d4c\u3066\u3001\u4ee5\u4e0b\u306e\u7406\u7531\u3067\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u69cb\u6210\u3078\u306e\u79fb\u884c\u3092\u9032\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u79fb\u884c\u7406\u7531<\/strong><\/td><td><strong>\u8a73\u7d30<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>\u30b3\u30b9\u30c8\u6700\u9069\u5316<\/strong><\/td><td>\u5f93\u91cf\u8ab2\u91d1\u3067\u591c\u9593\u30fb\u9031\u672b\u306e\u30b3\u30b9\u30c8\u524a\u6e1b<\/td><\/tr><tr><td><strong>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3<\/strong><\/td><td>\u5229\u7528\u8005\u5897\u52a0\u306b\u81ea\u52d5\u5bfe\u5fdc<\/td><\/tr><tr><td><strong>\u904b\u7528\u8ca0\u8377\u524a\u6e1b<\/strong><\/td><td>VM\u7ba1\u7406\u3001\u30d1\u30c3\u30c1\u9069\u7528\u304c\u4e0d\u8981<\/td><\/tr><tr><td><strong>\u4fe1\u983c\u6027\u5411\u4e0a<\/strong><\/td><td>GCP\u30de\u30cd\u30fc\u30b8\u30c9\u306b\u3088\u308b\u9ad8\u53ef\u7528\u6027<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u69cb\u6210\u56f3<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"279\" src=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-74.png\" alt=\"\" class=\"wp-image-81709\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-74.png 512w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/image-74-360x196.png 360w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p><strong>Cloud Run\u69cb\u6210\u306e\u7279\u5fb4<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9<\/strong>: \u30b5\u30fc\u30d0\u30fc\u7ba1\u7406\u304c\u5b8c\u5168\u306b\u4e0d\u8981<\/li>\n\n\n\n<li><strong>\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb<\/strong>: 0\u301c1000\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u307e\u3067\u81ea\u52d5\u8abf\u6574<\/li>\n\n\n\n<li><strong>\u5f93\u91cf\u8ab2\u91d1<\/strong>: \u5b9f\u969b\u306e\u4f7f\u7528\u91cf\u306b\u5fdc\u3058\u305f\u8ab2\u91d1<\/li>\n\n\n\n<li><strong>\u9ad8\u53ef\u7528\u6027<\/strong>: \u30de\u30eb\u30c1\u30ea\u30fc\u30b8\u30e7\u30f3\u5bfe\u5fdc\u3001\u81ea\u52d5\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc<\/li>\n<\/ul>\n\n\n\n<p><strong>\u79fb\u884c\u8a08\u753b<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u5c02\u7528Docker\u30a4\u30e1\u30fc\u30b8\u4f5c\u6210<\/strong>: Prisma DB\u521d\u671f\u5316\u7528<\/li>\n\n\n\n<li><strong>VPC Connector\u69cb\u7bc9<\/strong>: Cloud Run \u2192 Cloud SQL\u63a5\u7d9a<\/li>\n\n\n\n<li><strong>Secret Manager\u7d71\u5408<\/strong>: API\u30ad\u30fc\u306e\u30bb\u30ad\u30e5\u30a2\u306a\u7ba1\u7406<\/li>\n\n\n\n<li><strong>\u6bb5\u968e\u7684\u306a\u79fb\u884c<\/strong>: \u958b\u767a\u30c1\u30fc\u30e0 \u2192 \u5168\u793e\u5c55\u958b<\/li>\n<\/ol>\n\n\n\n<p><strong>Phase 2\u306e\u671f\u5f85\u52b9\u679c<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30b3\u30b9\u30c8<\/strong>: \u6708\u984d$67\u7a0b\u5ea6\uff08Phase 1\u6bd4\u3067\u7d0460%\u524a\u6e1b\u898b\u8fbc\u307f\uff09<\/li>\n\n\n\n<li><strong>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3<\/strong>: 200\u540d \u2192 500\u540d\u4ee5\u4e0a\u307e\u3067\u5bfe\u5fdc\u53ef\u80fd<\/li>\n\n\n\n<li><strong>\u904b\u7528\u8ca0\u8377<\/strong>: \u307b\u307c\u30bc\u30ed\uff08\u81ea\u52d5\u7ba1\u7406\uff09<\/li>\n\n\n\n<li><strong>\u4fe1\u983c\u6027<\/strong>: 99.95%\uff08GCP SLA\uff09<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30b9\u30c8\u6bd4\u8f03: Phase 1 vs Phase 2\uff08\u8a08\u753b\uff09<\/h3>\n\n\n\n<p><strong>\u524d\u63d0\u6761\u4ef6\uff08\u4e2d\u898f\u6a21\u4f01\u696d\u306e\u4f8b\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f93\u696d\u54e1\u6570: 200\u540d<\/li>\n\n\n\n<li>\u30a2\u30af\u30c6\u30a3\u30d6\u30e6\u30fc\u30b6\u30fc: 100\u540d\/\u65e5<\/li>\n\n\n\n<li>\u5e73\u5747\u30ea\u30af\u30a8\u30b9\u30c8: 50\u56de\/\u4eba\/\u65e5<\/li>\n\n\n\n<li>\u5408\u8a08\u30ea\u30af\u30a8\u30b9\u30c8: 5,000\u56de\/\u65e5 = 150,000\u56de\/\u6708<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u9805\u76ee<\/strong><\/td><td><strong>Phase 1: Preemptible VM<\/strong><\/td><td><strong>Phase 2: Cloud Run\uff08\u8a08\u753b\uff09<\/strong><\/td><td><strong>\u671f\u5f85\u524a\u6e1b\u984d<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Compute<\/strong><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>VM (c2-standard-4)<\/td><td>$117.75\/\u6708<\/td><td>-<\/td><td>-<\/td><\/tr><tr><td>Cloud Run (150K \u30ea\u30af\u30a8\u30b9\u30c8)<\/td><td>-<\/td><td>$30.00\/\u6708<\/td><td>\u25bc$87.75<\/td><\/tr><tr><td><strong>Database<\/strong><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>Cloud SQL (db-f1-micro)<\/td><td>$11.07\/\u6708<\/td><td>$11.07\/\u6708<\/td><td>-<\/td><\/tr><tr><td><strong>Cache<\/strong><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>Memorystore Redis (1GB)<\/td><td>$35.77\/\u6708<\/td><td>$35.77\/\u6708<\/td><td>-<\/td><\/tr><tr><td><strong>Network<\/strong><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>VPC Connector \/ External IP<\/td><td>$0.41\/\u6708<\/td><td>$0.41\/\u6708<\/td><td>-<\/td><\/tr><tr><td><strong>\u5408\u8a08<\/strong><\/td><td>**$165.00\/\u6708**<\/td><td><strong>$77.25\/\u6708\uff08\u898b\u8fbc\u307f\uff09<\/strong><\/td><td><strong>\u25bc$87.75 (53%\u524a\u6e1b\u898b\u8fbc\u307f)<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u5229\u7528\u898f\u6a21\u5225\u306e\u30b3\u30b9\u30c8\u8a66\u7b97<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u6708\u9593\u30ea\u30af\u30a8\u30b9\u30c8\u6570<\/strong><\/td><td><strong>Preemptible VM<\/strong><\/td><td><strong>Cloud Run\uff08\u898b\u8fbc\u307f\uff09<\/strong><\/td><td><strong>\u63a8\u5968\u69cb\u6210<\/strong><\/td><\/tr><\/thead><tbody><tr><td>50,000\uff08\u5c0f\u898f\u6a21\uff09<\/td><td>$165<\/td><td>$35<\/td><td>Cloud Run<\/td><\/tr><tr><td>150,000\uff08\u4e2d\u898f\u6a21\uff09<\/td><td>$165<\/td><td>$77<\/td><td>Cloud Run<\/td><\/tr><tr><td>500,000\uff08\u5927\u898f\u6a21\uff09<\/td><td>$165<\/td><td>$220<\/td><td>\u72b6\u6cc1\u6b21\u7b2c<\/td><\/tr><tr><td>2,000,000\uff08\u4f01\u696d\u898f\u6a21\uff09<\/td><td>$330\uff08VM\u00d72\uff09<\/td><td>$650<\/td><td>\u8981\u691c\u8a0e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u69cb\u6210\u9078\u629e\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3<\/h3>\n\n\n\n<p>\u793e\u5185\u5229\u7528\u306e\u898f\u6a21\u3084\u72b6\u6cc1\u306b\u5fdc\u3058\u305f\u69cb\u6210\u306e\u9078\u3073\u65b9\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>Preemptible VM\u304c\u9069\u3057\u3066\u3044\u308b\u30b1\u30fc\u30b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8a66\u9a13\u5c0e\u5165\u671f\uff082-3\u30f6\u6708\u306e\u691c\u8a3c\u30d5\u30a7\u30fc\u30ba\uff09<\/li>\n\n\n\n<li>\u6708\u9593200\u4e07\u30ea\u30af\u30a8\u30b9\u30c8\u4ee5\u4e0a\u306e\u5927\u898f\u6a21\u5229\u7528<\/li>\n\n\n\n<li>24\u6642\u9593\u7d99\u7d9a\u7684\u306a\u9ad8\u30c8\u30e9\u30d5\u30a3\u30c3\u30af<\/li>\n\n\n\n<li>VM\u306e\u76f4\u63a5\u7ba1\u7406\u304c\u5fc5\u8981\u306a\u7279\u6b8a\u8981\u4ef6<\/li>\n<\/ul>\n\n\n\n<p><strong>Cloud Run\u304c\u9069\u3057\u3066\u3044\u308b\u30b1\u30fc\u30b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u672c\u756a\u904b\u7528\uff08\u30b3\u30b9\u30c8\u30fb\u904b\u7528\u8ca0\u8377\u30fb\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u91cd\u8996\uff09<\/li>\n\n\n\n<li>\u6708\u9593200\u4e07\u30ea\u30af\u30a8\u30b9\u30c8\u672a\u6e80<\/li>\n\n\n\n<li>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u5909\u52d5\u304c\u5927\u304d\u3044\uff08\u591c\u9593\u30fb\u9031\u672b\u306f\u4f4e\u5229\u7528\uff09<\/li>\n\n\n\n<li>IT\u90e8\u9580\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u9650\u3089\u308c\u3066\u3044\u308b<\/li>\n\n\n\n<li>\u4eca\u5f8c\u306e\u5229\u7528\u8005\u5897\u52a0\u304c\u898b\u8fbc\u307e\u308c\u308b<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9f\u88c5: Terraform IaC\u306b\u3088\u308b\u81ea\u52d5\u30c7\u30d7\u30ed\u30a4<\/h2>\n\n\n\n<p>Terraform\u306b\u3088\u308bInfrastructure as Code\u306e\u5b9f\u8df5\u306b\u3088\u308a\u3001\u518d\u73fe\u53ef\u80fd\u306a\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u3092\u5b9f\u73fe\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u6210<\/h3>\n\n\n\n<p>Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cl-litellm-terraform-github\/\n\u251c\u2500\u2500 cl-litellm.tf              # \u30e1\u30a4\u30f3\u306eTerraform\u8a2d\u5b9a\n\u251c\u2500\u2500 terraform.tfvars.example   # \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30f3\u30d7\u30eb\n\u251c\u2500\u2500 docker-v2\/                 # Cloud Run\u7528Docker\u8a2d\u5b9a\n\u2502   \u251c\u2500\u2500 Dockerfile             # LiteLLM\u30b3\u30f3\u30c6\u30ca\u5b9a\u7fa9\n\u2502   \u251c\u2500\u2500 Dockerfile.migration   # DB\u521d\u671f\u5316\u7528\u30b3\u30f3\u30c6\u30ca\n\u2502   \u251c\u2500\u2500 config.yaml            # LiteLLM\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\n\u2502   \u2514\u2500\u2500 build-and-push.sh      # \u30d3\u30eb\u30c9\uff06\u30d7\u30c3\u30b7\u30e5\u30b9\u30af\u30ea\u30d7\u30c8\n\u2514\u2500\u2500 functions\/                 # Cloud Functions\uff08VM\u81ea\u52d5\u5fa9\u65e7\u7528\uff09\n    \u2514\u2500\u2500 vm-auto-restart\/\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30c7\u30d7\u30ed\u30a4\u306e\u6982\u8981<\/h3>\n\n\n\n<p>Terraform\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u81ea\u52d5\u7684\u306b\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u4f5c\u6210\u3055\u308c\u308b\u30ea\u30bd\u30fc\u30b9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compute Engine VM\uff08Phase 1\uff09\u307e\u305f\u306fCloud Run Service\uff08Phase 2\uff09<\/li>\n\n\n\n<li>Cloud SQL\uff08PostgreSQL\uff09- \u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u3001\u5229\u7528\u5c65\u6b74\u7ba1\u7406<\/li>\n\n\n\n<li>Memorystore for Redis - \u30ea\u30af\u30a8\u30b9\u30c8\u30ad\u30e3\u30c3\u30b7\u30e5<\/li>\n\n\n\n<li>VPC Connector - \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u63a5\u7d9a<\/li>\n\n\n\n<li>Secret Manager - API\u30ad\u30fc\u3001\u8a8d\u8a3c\u60c5\u5831\u306e\u5b89\u5168\u306a\u4fdd\u7ba1<\/li>\n\n\n\n<li>Cloud Functions - VM\u81ea\u52d5\u5fa9\u65e7\uff08Phase 1\uff09<\/li>\n\n\n\n<li>Firewall Rules - \u30a2\u30af\u30bb\u30b9\u5236\u5fa1<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Virtual Key\u306e\u7ba1\u7406<\/h3>\n\n\n\n<p>LiteLLM\u306e\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u307e\u305f\u306fAPI\u3092\u4f7f\u7528\u3057\u3066\u3001Virtual Key\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/virtual_keys\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3067\u306f\u3001<code>\/key\/generate<\/code>\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066Virtual Key\u3092\u767a\u884c\u3059\u308b\u65b9\u6cd5\u304c\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>Virtual Key\u767a\u884c\u306e\u57fa\u672c\u30d5\u30ed\u30fc<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u7ba1\u7406\u8005\u304c\u30de\u30b9\u30bf\u30fc\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3066LiteLLM\u30d7\u30ed\u30ad\u30b7\u306b\u30a2\u30af\u30bb\u30b9<\/li>\n\n\n\n<li><code>\/key\/generate<\/code>\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3067Virtual Key\u3092\u4f5c\u6210<\/li>\n\n\n\n<li>\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3001\u4e88\u7b97\u3001\u4f7f\u7528\u53ef\u80fd\u30e2\u30c7\u30eb\u3092\u8a2d\u5b9a<\/li>\n\n\n\n<li>\u751f\u6210\u3055\u308c\u305fVirtual Key\u3092\u5f93\u696d\u54e1\u306b\u914d\u5e03<\/li>\n<\/ol>\n\n\n\n<p>Virtual Key\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fcID\u3001\u30c1\u30fc\u30e0ID\u3001\u6708\u6b21\u4e88\u7b97\u3001\u4f7f\u7528\u53ef\u80fd\u30e2\u30c7\u30eb\u306a\u3069\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u8a2d\u5b9a\u3067\u304d\u3001\u304d\u3081\u7d30\u304b\u3044\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u904b\u7528\u306e\u30dd\u30a4\u30f3\u30c8<\/h2>\n\n\n\n<p>\u793e\u5185\u3067LiteLLM\u3092\u904b\u7528\u3059\u308b\u969b\u306e\u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Virtual Key\u30d9\u30fc\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u7ba1\u7406<\/h3>\n\n\n\n<p><strong>\u30c1\u30fc\u30e0\u5225\u306e\u8a2d\u5b9a\u4f8b\uff082025\u5e7412\u6708\u6700\u65b0\u30e2\u30c7\u30eb\u5bfe\u5fdc\uff09<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u30c1\u30fc\u30e0<\/strong><\/td><td><strong>\u6708\u6b21\u4e88\u7b97<\/strong><\/td><td><strong>\u4f7f\u7528\u53ef\u80fd\u30e2\u30c7\u30eb<\/strong><\/td><td><strong>\u7528\u9014<\/strong><\/td><\/tr><\/thead><tbody><tr><td>\u958b\u767a\u30c1\u30fc\u30e0<\/td><td>$500<\/td><td>claude-opus-4.5, claude-sonnet-4.5, o3<\/td><td>\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u9ad8\u5ea6\u306a\u63a8\u8ad6<\/td><\/tr><tr><td>\u30de\u30fc\u30b1\u30c6\u30a3\u30f3\u30b0<\/td><td>$200<\/td><td>gpt-4.1-mini, gemini-3-flash, claude-haiku-4.5<\/td><td>\u30b3\u30f3\u30c6\u30f3\u30c4\u4f5c\u6210\u3001\u753b\u50cf\u751f\u6210<\/td><\/tr><tr><td>\u30ab\u30b9\u30bf\u30de\u30fc\u30b5\u30dd\u30fc\u30c8<\/td><td>$300<\/td><td>gpt-4.1-mini, claude-haiku-4.5<\/td><td>FAQ\u5bfe\u5fdc\u3001\u30e1\u30fc\u30eb\u8fd4\u4fe1<\/td><\/tr><tr><td>\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9<\/td><td>$800<\/td><td>claude-opus-4.5, o3, gpt-4.1<\/td><td>\u30c7\u30fc\u30bf\u5206\u6790\u3001\u30ec\u30dd\u30fc\u30c8\u751f\u6210<\/td><\/tr><tr><td>\u4e00\u822c\u793e\u54e1<\/td><td>$50<\/td><td>gpt-4.1-mini, claude-haiku-4.5<\/td><td>\u65e5\u5e38\u696d\u52d9\u306e\u52b9\u7387\u5316<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Redis Cache\u306e\u6d3b\u7528<\/h3>\n\n\n\n<p><strong>\u52b9\u679c\u306e\u6e2c\u5b9a\u4f8b<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u7387<\/strong>: \u7d0440-60%\u7a0b\u5ea6\u304c\u671f\u5f85\u3067\u304d\u308b<\/li>\n\n\n\n<li><strong>\u30b3\u30b9\u30c8\u524a\u6e1b<\/strong>: \u6708\u984d\u7d0430-50%\u306e\u524a\u6e1b\u304c\u898b\u8fbc\u3081\u308b<\/li>\n\n\n\n<li><strong>\u30ec\u30b9\u30dd\u30f3\u30b9\u901f\u5ea6<\/strong>: \u5e73\u5747200ms \u2192 50ms\u7a0b\u5ea6\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u6642\uff09<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5229\u7528\u72b6\u6cc1\u306e\u53ef\u8996\u5316<\/h3>\n\n\n\n<p>LiteLLM\u306f\u81ea\u52d5\u7684\u306b\u4ee5\u4e0b\u306e\u60c5\u5831\u3092\u8a18\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30ea\u30af\u30a8\u30b9\u30c8\u5c65\u6b74\uff08\u65e5\u6642\u3001\u30e6\u30fc\u30b6\u30fc\u3001\u30e2\u30c7\u30eb\u3001\u30b3\u30b9\u30c8\uff09<\/li>\n\n\n\n<li>Virtual Key\u5225\u306e\u5229\u7528\u72b6\u6cc1<\/li>\n\n\n\n<li>\u30c1\u30fc\u30e0\u5225\u306e\u30b3\u30b9\u30c8\u96c6\u8a08<\/li>\n\n\n\n<li>\u30a8\u30e9\u30fc\u7387\u3068\u30ec\u30a4\u30c6\u30f3\u30b7<\/li>\n<\/ul>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c7\u30fc\u30bf\u3092\u3082\u3068\u306b\u3001\u6708\u6b21\u30ec\u30dd\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3001\u30b3\u30b9\u30c8\u6700\u9069\u5316\u3084\u5229\u7528\u72b6\u6cc1\u306e\u5206\u6790\u306b\u6d3b\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081<\/h2>\n\n\n\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001LiteLLM\u3092\u4f7f\u7528\u3057\u305f\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306e\u69cb\u7bc9\u65b9\u6cd5\u3092\u3001\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u3067\u306e\u5b9f\u8df5\u7d4c\u9a13\u3068\u3068\u3082\u306b\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u306e\u5c0e\u5165\u30a2\u30d7\u30ed\u30fc\u30c1<\/h3>\n\n\n\n<p><strong>\u6bb5\u968e\u7684\u306a\u79fb\u884c\u6226\u7565<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Phase 1: Preemptible VM\uff08\u8a66\u9a13\u5c0e\u5165\uff09<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4f4e\u30b3\u30b9\u30c8\u30fb\u4f4e\u30cf\u30fc\u30c9\u30eb\u3067\u7d20\u65e9\u304f\u30b9\u30bf\u30fc\u30c8<\/li>\n\n\n\n<li>2-3\u30f6\u6708\u306e\u691c\u8a3c\u3067\u6280\u8853\u7684\u306a\u5b9f\u73fe\u6027\u3092\u78ba\u8a8d<\/li>\n\n\n\n<li>\u81ea\u52d5\u5fa9\u65e7\u30b7\u30b9\u30c6\u30e0\u306799.9%\u306e\u7a3c\u50cd\u7387\u3092\u9054\u6210<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Phase 2: Cloud Run\uff08\u79fb\u884c\u4e2d\uff09<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u3068\u904b\u7528\u8ca0\u8377\u524a\u6e1b\u3092\u76ee\u6307\u3059<\/li>\n\n\n\n<li>\u7d0460%\u306e\u30b3\u30b9\u30c8\u524a\u6e1b\u3092\u898b\u8fbc\u3080<\/li>\n\n\n\n<li>\u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9\u3067\u4fe1\u983c\u6027\u3092\u5411\u4e0a<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>\u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Virtual Key\u306b\u3088\u308b\u30bb\u30ad\u30e5\u30a2\u306a\u7ba1\u7406<\/strong>: \u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\u3092\u5f93\u696d\u54e1\u306b\u9732\u51fa\u3055\u305b\u306a\u3044<\/li>\n\n\n\n<li><strong>\u7d71\u4e00API\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9<\/strong>: \u5f93\u696d\u54e1\u306f\u5358\u4e00\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3067\u5168\u3066\u306eLLM\u306b\u30a2\u30af\u30bb\u30b9<\/li>\n\n\n\n<li><strong>\u5229\u7528\u72b6\u6cc1\u306e\u53ef\u8996\u5316<\/strong>: \u8ab0\u304c\u4f55\u3092\u4f7f\u3063\u305f\u304b\u5b8c\u5168\u306b\u8a18\u9332<\/li>\n\n\n\n<li><strong>\u4e88\u7b97\u7ba1\u7406<\/strong>: Virtual Key\u3054\u3068\u306b\u6708\u6b21\u4e88\u7b97\u3092\u8a2d\u5b9a\u3057\u3001\u8d85\u904e\u3092\u9632\u6b62<\/li>\n\n\n\n<li><strong>\u6700\u65b0\u30e2\u30c7\u30eb\u5bfe\u5fdc<\/strong>: Claude 4.5\u30b7\u30ea\u30fc\u30ba\u3001GPT-4.1\u3001Gemini 3 Flash\u7b49\u306e\u6700\u65b0\u30e2\u30c7\u30eb\u306b\u5bfe\u5fdc<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Terraform\u306b\u3088\u308b\u518d\u73fe\u53ef\u80fd\u306a\u30a4\u30f3\u30d5\u30e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Infrastructure as Code\u306e\u5b9f\u8df5\u306b\u3088\u308a\u3001\u74b0\u5883\u306e\u518d\u73fe\u6027\u3092\u62c5\u4fdd<\/li>\n\n\n\n<li>Phase 1 \u2192 Phase 2\u306e\u79fb\u884c\u3082\u30b3\u30fc\u30c9\u3067\u7ba1\u7406<\/li>\n\n\n\n<li>\u707d\u5bb3\u5fa9\u65e7\u6642\u306e\u8fc5\u901f\u306a\u5fa9\u5143\u304c\u53ef\u80fd<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4eca\u5f8c\u306e\u5f37\u5316\u306e\u53ef\u80fd\u6027<\/h3>\n\n\n\n<p>LiteLLM\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6a5f\u80fd\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u304a\u308a\u3001\u66f4\u306a\u308b\u5f37\u5316\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>1. \u30de\u30eb\u30c1\u30ea\u30fc\u30b8\u30e7\u30f3\u5c55\u958b<\/strong><\/p>\n\n\n\n<p>LiteLLM\u306f<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.google.com\/search?q=https:\/\/docs.litellm.ai\/docs\/proxy\/control_plane_and_data_plane\">\u30de\u30eb\u30c1\u30ea\u30fc\u30b8\u30e7\u30f3\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3<\/a>\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u304a\u308a\u3001\u5730\u57df\u3054\u3068\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5c55\u958b\u3059\u308b\u3053\u3068\u3067\u3001\u4f4e\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002\u8907\u6570\u306eLiteLLM\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7570\u306a\u308b\u30ea\u30fc\u30b8\u30e7\u30f3\u3084Availability Zone\u306b\u30c7\u30d7\u30ed\u30a4\u3057\u306a\u304c\u3089\u3001\u5358\u4e00\u306e\u7ba1\u7406\u30dd\u30a4\u30f3\u30c8\u3067\u904b\u7528\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p>Plaintext<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u6771\u4eac\u30ea\u30fc\u30b8\u30e7\u30f3\uff08asia-northeast1\uff09\n  \u2514\u2500 \u65e5\u672c\u30fb\u30a2\u30b8\u30a2\u592a\u5e73\u6d0b\u5730\u57df\u306e\u5f93\u696d\u54e1\u5411\u3051\n\n\u30ed\u30f3\u30c9\u30f3\u30ea\u30fc\u30b8\u30e7\u30f3\uff08europe-west2\uff09\n  \u2514\u2500 \u30e8\u30fc\u30ed\u30c3\u30d1\u5730\u57df\u306e\u5f93\u696d\u54e1\u5411\u3051\n<\/pre>\n\n\n\n<p><strong>\u4e3b\u306a\u5229\u70b9:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5730\u57df\u3054\u3068\u306e\u4f4e\u30ec\u30a4\u30c6\u30f3\u30b7\u30a2\u30af\u30bb\u30b9<\/li>\n\n\n\n<li>\u4e2d\u592e\u96c6\u6a29\u7684\u306a\u7ba1\u7406\uff08\u8a2d\u5b9a\u3001\u30e6\u30fc\u30b6\u30fc\u3001\u30ad\u30fc\u3001\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\uff09<\/li>\n\n\n\n<li>\u30b3\u30b9\u30c8\u52b9\u7387\u5316\uff08\u7ba1\u7406\u30a4\u30f3\u30d5\u30e9\u306e\u91cd\u8907\u3092\u56de\u907f\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>2. \u9ad8\u5ea6\u306a\u5229\u7528\u5206\u6790<\/strong><\/p>\n\n\n\n<p>LiteLLM\u306f<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/observability\/langfuse_integration\">Langfuse<\/a>\u3084<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/observability\/helicone_integration\">Helicone<\/a>\u306a\u3069\u306eLLM observability\u30c4\u30fc\u30eb\u3068\u306e\u7d71\u5408\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<code>success_callback<\/code>\u3092\u8a2d\u5b9a\u3059\u308b\u3060\u3051\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u9ad8\u5ea6\u306a\u5206\u6790\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30d7\u30ed\u30f3\u30d7\u30c8\u3068\u5fdc\u7b54\u306e\u8a73\u7d30\u8a18\u9332<\/li>\n\n\n\n<li>A\/B\u30c6\u30b9\u30c8\u306b\u3088\u308b\u30d7\u30ed\u30f3\u30d7\u30c8\u6700\u9069\u5316<\/li>\n\n\n\n<li>\u30e2\u30c7\u30eb\u9593\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03<\/li>\n\n\n\n<li>\u30e6\u30fc\u30b6\u30fc\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u306e\u53ce\u96c6<\/li>\n\n\n\n<li>\u4f7f\u7528\u72b6\u6cc1\u3001\u30b3\u30b9\u30c8\u3001\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u53ef\u8996\u5316<\/li>\n<\/ul>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">litellm_settings:\n  success_callback: [\"langfuse\", \"helicone\"]\n<\/pre>\n\n\n\n<p><strong>3. \u30d7\u30ed\u30f3\u30d7\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea<\/strong><\/p>\n\n\n\n<p>LiteLLM\u306f<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/prompt_management\">\u30d7\u30ed\u30f3\u30d7\u30c8\u7ba1\u7406\u6a5f\u80fd<\/a>\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u304a\u308a\u3001\u793e\u5185\u3067\u3088\u304f\u4f7f\u308f\u308c\u308b\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u30e9\u30a4\u30d6\u30e9\u30ea\u5316\u3067\u304d\u307e\u3059\u3002<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.google.com\/search?q=https:\/\/docs.litellm.ai\/docs\/proxy\/native_litellm_prompt\">GitOps\u65b9\u5f0f\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u7ba1\u7406<\/a>\u3067\u306f\u3001<code>.prompt<\/code>\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u4fdd\u5b58\u3057\u3001\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u4e0d\u8981\u3067\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30d7\u30ed\u30f3\u30d7\u30c8\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4f8b\ntemplates:\n  - name: \"\u8b70\u4e8b\u9332\u8981\u7d04\"\n    prompt: \"\u4ee5\u4e0b\u306e\u8b70\u4e8b\u9332\u30923\u3064\u306e\u8981\u70b9\u306b\u307e\u3068\u3081\u3066\u304f\u3060\u3055\u3044...\"\n    model: \"claude-haiku-4.5\"\n\n  - name: \"\u30b3\u30fc\u30c9\u30ec\u30d3\u30e5\u30fc\"\n    prompt: \"\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u30ec\u30d3\u30e5\u30fc\u3057\u3001\u6539\u5584\u70b9\u3092\u6307\u6458\u3057\u3066\u304f\u3060\u3055\u3044...\"\n    model: \"claude-opus-4.5\"\n<\/pre>\n\n\n\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u54c1\u8cea\u306e\u6a19\u6e96\u5316\u3068\u30b3\u30b9\u30c8\u524a\u6e1b\u3092\u56f3\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>4. \u3088\u308a\u9ad8\u5ea6\u306a\u30a2\u30af\u30bb\u30b9\u5236\u5fa1<\/strong><\/p>\n\n\n\n<p>LiteLLM\u306f<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/ip_address\">IP\u30a2\u30c9\u30ec\u30b9\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/a>\u3084\u6642\u9593\u30d9\u30fc\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002Virtual Key\u3068\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u66f4\u306a\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>IP\u30a2\u30c9\u30ec\u30b9\u5236\u9650<\/strong>: <code>allowed_ips<\/code>\u8a2d\u5b9a\u3067\u793e\u5185\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u307f\u306b\u5236\u9650\u53ef\u80fd<\/li>\n\n\n\n<li><strong>\u6642\u9593\u30d9\u30fc\u30b9\u5236\u5fa1<\/strong>: Virtual Key\u306e\u6709\u52b9\u671f\u9650\u8a2d\u5b9a\uff08<code>duration<\/code>\u30d1\u30e9\u30e1\u30fc\u30bf\uff09\u3084\u4e88\u7b97\u671f\u9593\uff08<code>budget_duration<\/code>\uff09\u306b\u3088\u308b\u5236\u5fa1<\/li>\n\n\n\n<li><strong>\u81ea\u52d5\u30ad\u30fc\u30ed\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3<\/strong>: \u6642\u9593\u9593\u9694\u306b\u57fa\u3065\u304fVirtual Key\u306e\u81ea\u52d5\u30ed\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3<\/li>\n<\/ul>\n\n\n\n<p>YAML<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">general_settings:\n  allowed_ips: [\"192.168.1.0\/24\"]  # \u793e\u5185\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u307f\u8a31\u53ef\n<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306b\u3088\u308a\u3001\u55b6\u696d\u6642\u9593\u306e\u307f\u306e\u30a2\u30af\u30bb\u30b9\u5236\u9650\u3084\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5225\u306eVirtual Key\u7ba1\u7406\uff08\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7d42\u4e86\u6642\u306b\u4e00\u62ec\u7121\u52b9\u5316\uff09\u306a\u3069\u304c\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u304a\u308f\u308a\u306b<\/h3>\n\n\n\n<p>LiteLLM\u3068Terraform\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u7ba1\u7406\u3092\u4e00\u5143\u5316\u3057\u3001\u30bb\u30ad\u30e5\u30a2\u304b\u3064\u30b3\u30b9\u30c8\u52b9\u7387\u306e\u9ad8\u3044\u74b0\u5883\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002\u7279\u306bVirtual Key\u6a5f\u80fd\u306b\u3088\u308a\u3001\u30d7\u30ed\u30d0\u30a4\u30c0\u30fcAPI\u30ad\u30fc\u3092\u5f93\u696d\u54e1\u306b\u9732\u51fa\u3055\u305b\u308b\u3053\u3068\u306a\u304f\u3001\u67d4\u8edf\u306a\u30a2\u30af\u30bb\u30b9\u7ba1\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>2025\u5e7412\u6708\u6642\u70b9\u3067\u306e\u6700\u65b0\u30e2\u30c7\u30eb\uff08Claude 4.5\u30b7\u30ea\u30fc\u30ba\u3001OpenAI o3\/GPT-4.1\u3001Gemini 3 Flash\uff09\u306b\u3082\u5bfe\u5fdc\u3057\u3001\u5e38\u306b\u6700\u5148\u7aef\u306eAI\u6280\u8853\u3092\u793e\u5185\u3067\u6d3b\u7528\u3067\u304d\u308b\u74b0\u5883\u3092\u6574\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u63a8\u9032\u4f53\u5236\u306b\u3064\u3044\u3066<\/strong><\/p>\n\n\n\n<p>\u672c\u8a18\u4e8b\u3067\u7d39\u4ecb\u3057\u305fLiteLLM\u5c0e\u5165\u306e\u53d6\u308a\u7d44\u307f\u306f\u3001\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u306eAI CoE\u3092\u517c\u4efb\u3057\u3066\u3044\u308b<strong>AI &amp; Data Engineering Team\u306e\u30e1\u30f3\u30d0\u30fc<\/strong>\u306b\u3088\u3063\u3066\u63a8\u9032\u3055\u308c\u307e\u3057\u305f\u3002AI &amp; Data Engineering Team\u306f\u3001\u4e3b\u306b<strong>AI\u30d7\u30ed\u30c0\u30af\u30c8\u958b\u767a\u3092\u30e1\u30a4\u30f3\u3068\u3057\u305f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/strong>\u3092\u624b\u639b\u3051\u3066\u304a\u308a\u3001LLM\u7d71\u5408\u3001AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u958b\u767a\u3001\u30c7\u30fc\u30bf\u57fa\u76e4\u69cb\u7bc9\u306a\u3069\u3001\u5e45\u5e83\u3044AI\u6d3b\u7528\u306e\u5b9f\u8df5\u7d4c\u9a13\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u4f53\u5236\u306b\u3088\u308a\u3001\u4ee5\u4e0b\u306e\u30e1\u30ea\u30c3\u30c8\u304c\u5f97\u3089\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9f\u52d9\u7d4c\u9a13\u306b\u57fa\u3065\u3044\u305f\u8a2d\u8a08<\/strong>: \u5b9f\u969b\u306eAI\u30d7\u30ed\u30c0\u30af\u30c8\u958b\u767a\u3067\u5fc5\u8981\u306a\u6a5f\u80fd\u3092\u7406\u89e3\u3057\u305f\u4e0a\u3067\u306e\u5b9f\u88c5<\/li>\n\n\n\n<li><strong>\u8fc5\u901f\u306a\u554f\u984c\u89e3\u6c7a<\/strong>: \u6280\u8853\u7684\u306a\u8ab2\u984c\u306b\u5bfe\u3057\u3066\u5373\u5ea7\u306b\u5bfe\u5fdc\u53ef\u80fd<\/li>\n\n\n\n<li><strong>\u7d99\u7d9a\u7684\u306a\u6539\u5584<\/strong>: \u793e\u5185\u5229\u7528\u306e\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u5143\u306b\u3001\u6a5f\u80fd\u8ffd\u52a0\u3084\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3092\u7d99\u7d9a\u5b9f\u65bd<\/li>\n<\/ul>\n\n\n\n<p>\u3053\u306e\u793e\u5185\u5c0e\u5165\u3067\u5f97\u3089\u308c\u305f\u77e5\u898b\u306f\u3001\u9867\u5ba2\u4f01\u696d\u3067\u306eAI\u6d3b\u7528\u652f\u63f4\u306b\u3082\u6d3b\u304b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<strong>AI\u3092\u6d3b\u7528\u3057\u305f\u30d7\u30ed\u30c0\u30af\u30c8\u958b\u767a\u3001\u793e\u5185AI\u57fa\u76e4\u306e\u69cb\u7bc9\u3001LLM\u7d71\u5408\u306a\u3069\u3001AI\u95a2\u9023\u306e\u3054\u76f8\u8ac7\u304c\u3054\u3056\u3044\u307e\u3057\u305f\u3089\u3001\u305c\u3072\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044<\/strong>\u3002\u5b9f\u8df5\u7684\u306a\u7d4c\u9a13\u306b\u57fa\u3065\u3044\u305f\u652f\u63f4\u3092\u63d0\u4f9b\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\u53c2\u8003\u30ea\u30f3\u30af\uff082025\u5e7412\u6708\u6642\u70b9\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LiteLLM\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8: <a href=\"https:\/\/docs.litellm.ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.litellm.ai\/<\/a><\/li>\n\n\n\n<li>Virtual Key\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8: <a href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/virtual_keys\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.litellm.ai\/docs\/proxy\/virtual_keys<\/a><\/li>\n\n\n\n<li>Terraform GCP\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc: <a href=\"https:\/\/registry.terraform.io\/providers\/hashicorp\/google\/latest\/docs\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/registry.terraform.io\/providers\/hashicorp\/google\/latest\/docs<\/a><\/li>\n\n\n\n<li>Google Cloud Platform: <a href=\"https:\/\/cloud.google.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cloud.google.com\/<\/a><\/li>\n<\/ul>\n\n\n\n<p><strong>\u6700\u65b0\u30e2\u30c7\u30eb\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenAI Models: <a href=\"https:\/\/platform.openai.com\/docs\/models\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/platform.openai.com\/docs\/models<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/openai.com\/index\/gpt-4-1\/\" target=\"_blank\" rel=\"noreferrer noopener\">GPT-4.1\u767a\u8868<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openai.com\/index\/introducing-o3-and-o4-mini\/\" target=\"_blank\" rel=\"noreferrer noopener\">o3\u3068o4-mini\u767a\u8868<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Anthropic Models: <a href=\"https:\/\/docs.anthropic.com\/en\/docs\/about-claude\/models\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.anthropic.com\/en\/docs\/about-claude\/models<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.anthropic.com\/news\/claude-opus-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">Claude Opus 4.5\u767a\u8868<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.anthropic.com\/news\/claude-sonnet-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">Claude Sonnet 4.5\u767a\u8868<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.anthropic.com\/news\/claude-haiku-4-5\" target=\"_blank\" rel=\"noreferrer noopener\">Claude Haiku 4.5\u767a\u8868<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Google Gemini Models: <a href=\"https:\/\/ai.google.dev\/gemini-api\/docs\/models\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ai.google.dev\/gemini-api\/docs\/models<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/blog.google\/products\/gemini\/gemini-3-flash\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gemini 3 Flash\u767a\u8868<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.google\/technology\/developers\/build-with-gemini-3-flash\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gemini 3 Flash\u958b\u767a\u8005\u5411\u3051\u8a73\u7d30<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u793e\u5185\u3067\u8907\u6570\u306eAI\u30c4\u30fc\u30eb\u3092\u5c0e\u5165\u3059\u308b\u969b\u3001\u6700\u3082\u7169\u96d1\u306a\u8ab2\u984c\u306e\u4e00\u3064\u304cAPI\u30ad\u30fc\u306e\u7ba1\u7406\u3067\u3059\u3002ChatGPT\u3001Claude\u3001Gemini\u306a\u3069\u3001\u5404LLM\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u767a\u884c\u3055\u308c\u308bAPI\u30ad\u30fc\u3092\u3001\u90e8\u7f72\u3054\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3054\u3068\u3001\u5f93\u696d\u54e1 [&#8230;]<\/p>\n","protected":false},"author":77,"featured_media":81714,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[779,1004,483],"tags":[126,247,1162,863,71,1161,401],"class_list":["post-81691","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-llm","category-m-ohishi","tag-ai","tag-cloud","tag-googlecloud","tag-llm","tag-terraform","tag-1161","tag-401"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-24T07:30:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1396\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Masaya Ohishi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MasayaOhishi\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Masaya Ohishi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691\"},\"author\":{\"name\":\"Masaya Ohishi\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/ab8b0dc3302efb95d529e4a2c396d5c9\"},\"headline\":\"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406\",\"datePublished\":\"2025-12-24T07:30:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691\"},\"wordCount\":565,\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png\",\"keywords\":[\"AI\",\"Cloud\",\"GoogleCloud\",\"LLM\",\"Terraform\",\"\u30a4\u30f3\u30d5\u30e9\",\"\u904b\u7528\"],\"articleSection\":[\"AI\",\"LLM\",\"Masaya Ohishi\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691\",\"name\":\"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png\",\"datePublished\":\"2025-12-24T07:30:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/ab8b0dc3302efb95d529e4a2c396d5c9\"},\"description\":\"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#primaryimage\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png\",\"width\":2560,\"height\":1396},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\\\/81691#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ChatGPT\uff06AI\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/chatgpt-ai\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AI\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/chatgpt-ai\\\/ai\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/ab8b0dc3302efb95d529e4a2c396d5c9\",\"name\":\"Masaya Ohishi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/9064cdfe9c96709d2238db668fc2d83b-230x230.png\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/9064cdfe9c96709d2238db668fc2d83b-230x230.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/9064cdfe9c96709d2238db668fc2d83b-230x230.png\",\"caption\":\"Masaya Ohishi\"},\"description\":\"\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u682a\u5f0f\u4f1a\u793e AI &amp; Data Engineering Team Leader AI\u3084\u30c7\u30fc\u30bf\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/MasayaOhishi\"],\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/m-ohishi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691","og_locale":"ja_JP","og_type":"article","og_title":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b","og_url":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2025-12-24T07:30:00+00:00","og_image":[{"width":2560,"height":1396,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png","type":"image\/png"}],"author":"Masaya Ohishi","twitter_card":"summary_large_image","twitter_creator":"@MasayaOhishi","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"Masaya Ohishi","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"5\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691"},"author":{"name":"Masaya Ohishi","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/ab8b0dc3302efb95d529e4a2c396d5c9"},"headline":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406","datePublished":"2025-12-24T07:30:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691"},"wordCount":565,"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png","keywords":["AI","Cloud","GoogleCloud","LLM","Terraform","\u30a4\u30f3\u30d5\u30e9","\u904b\u7528"],"articleSection":["AI","LLM","Masaya Ohishi"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691","url":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691","name":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406 - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#primaryimage"},"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png","datePublished":"2025-12-24T07:30:00+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/ab8b0dc3302efb95d529e4a2c396d5c9"},"description":"AI, LLM, Masaya Ohishi |\u306f\u3058\u3081\u306b","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#primaryimage","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/12\/Gemini_Generated_Image_c0d8kjc0d8kjc0d8-scaled.png","width":2560,"height":1396},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi\/81691#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"ChatGPT\uff06AI","item":"https:\/\/www.creationline.com\/tech-blog\/chatgpt-ai"},{"@type":"ListItem","position":3,"name":"AI","item":"https:\/\/www.creationline.com\/tech-blog\/chatgpt-ai\/ai"},{"@type":"ListItem","position":4,"name":"LiteLLM\u3067\u5b9f\u73fe\u3059\u308b\u793e\u5185AI\u30c4\u30fc\u30eb\u306eAPI\u30ad\u30fc\u4e00\u5143\u7ba1\u7406"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/ab8b0dc3302efb95d529e4a2c396d5c9","name":"Masaya Ohishi","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/04\/9064cdfe9c96709d2238db668fc2d83b-230x230.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/04\/9064cdfe9c96709d2238db668fc2d83b-230x230.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2025\/04\/9064cdfe9c96709d2238db668fc2d83b-230x230.png","caption":"Masaya Ohishi"},"description":"\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u682a\u5f0f\u4f1a\u793e AI &amp; Data Engineering Team Leader AI\u3084\u30c7\u30fc\u30bf\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0","sameAs":["https:\/\/x.com\/MasayaOhishi"],"url":"https:\/\/www.creationline.com\/tech-blog\/author\/m-ohishi"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/81691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=81691"}],"version-history":[{"count":2,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/81691\/revisions"}],"predecessor-version":[{"id":81712,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/81691\/revisions\/81712"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media\/81714"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=81691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=81691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=81691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}