Azure

Azure AI Fondry Agenst ServiceのSDKについてまとめてみた

  • POST
はじめに 2025年05月20日からAzure AI Foundry Agent Serviceが一般提供が開始されました。 この記事では、Azure AI Foundry Agent ServiceのSDKについて紹介します。 GitHub: azure-sdk-for-python Azure公式ドキュメント: azure-sdk-for-python Azure公式ドキュメント: azure-sdk-for-python: readme Azure AI Foundry Agent Serviceとは Azure AI Foundry Agent Serviceは、AI エージェントの構築・管理ができるAzureのマネージドサービスです。 Azure AI Foundry Agent Serviceは、以下のような機能を提供しています。 AI Foundry PortalやAzure AI Foundry SDKを使って、エージェントの構築、管理が可能 複数のAIエージェントを組み合わせるマルチエージェントの構築が可能 A2A(Agent2Agent)、MCP(Model Context Protocol) などの業界標準プロトコルをサポート スレッドによるステートフルAPIをサポートしており、クライアントアプリ側での対話履歴の保持が不要 Azure AI Foundry Agent Service のセットアップパターン Azure AI Foundry Agent Service には、以下の2つのセットアップパターンがあります。 1. Basic setup(基本セットアップ) Agent Serviceで使用するデータをMicrosoftのマネージドリソース上に保持させる方法です。 通常、AzureでRAGアーキテクチャを構築する場合、Azure AI Searchなど高額なリソースを作成する必要がありますが、Basic setupを使用すれば、リソースの用意が不要なのでコストを下げることができます。

GitHub Actionsのアーティファクト容量を管理する retention-days設定

  • POST
GitHub Actionsのアーティファクト容量を管理する retention-days設定 はじめに GitHub Actionsでビルド成果物やデプロイ用のファイルをアーティファクトとしてアップロードする際、適切な保持期間を設定しないと、リポジトリの容量を圧迫してしまう問題が発生します。 特にデプロイ時に一時的に使用するだけのファイルは、長期間保存する必要がないため、retention-daysオプションを使用して自動削除の設定を行うことが推奨されます。 本記事では、GitHub Actionsのアーティファクト管理における retention-days の設定方法と、そのベストプラクティスについて解説します。 アーティファクトの容量問題 GitHub Actionsでアップロードされたアーティファクトは、デフォルトで90日間保持されます。 ビルドやデプロイを頻繁に実行するプロジェクトでは、この90日間で大量のアーティファクトが蓄積され、以下のような問題が発生する可能性があります。 ストレージ容量の圧迫: リポジトリのストレージ制限に達する コスト増加: GitHub Proや組織アカウントでは、ストレージ容量に応じて課金される 管理の煩雑化: 不要なアーティファクトの手動削除が必要になる retention-daysの設定方法 actions/upload-artifact@v4 アクションでは、retention-days パラメータを使用して、アーティファクトの保持期間を日数で指定できます。 基本的な設定例 デプロイ時に一時的に使用するビルド成果物の場合、5日程度の保持期間で十分です。 - name: 'Upload Artifact' uses: actions/upload-artifact@v4 with: name: build-artifact path: build.zip retention-days: 5 パラメータの詳細 name: アーティファクトの識別名 path: アップロードするファイルまたはディレクトリのパス retention-days: 保持期間(日数)。 まとめ GitHub Actionsのアーティファクトは、適切な retention-days 設定を行わないと、容量を圧迫してしまう可能性があります。 特にデプロイ用の一時ファイルは、5〜7日程度の短期間で自動削除されるように設定することで、ストレージ容量とコストの最適化が可能です。 本記事で紹介した設定例を参考に、プロジェクトの用途に応じた適切な保持期間を設定してください。 a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A1CfX"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/789749/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/J6100281917861.jpg?1696410860000"}});

【2025年06月】3大クラウド(Azure, AWS, Google Cloud)のAI系サービスリリースノート

  • POST
はじめに この記事では、Azure、AWS、Google Cloudの3大クラウドサービスのAIサービスの新規機能リリース履歴をまとめています。 主に以下のURLの情報をもとに新機能のキャッチアップを行っています。 Azure公式ドキュメント: Azure OpenAI Serviceニュース Azure公式ドキュメント: Azure AI Agent Serviceニュース Github: Azure公式ドキュメント管理リポジトリ Github: Azure OpenAI APIプレビューバージョン一覧 Github: Azure OpenAI API安定版バージョン一覧 AWS公式ドキュメント: AWS Bedrockリリースノート Google Cloud公式ドキュメント: Vertex AIリリースノート Anthropic公式ドキュメント: APIバージョン一覧 Azure 2025年06月17日: codex-mini と o3-pro モデルがリリース codex-mini と o3-pro モデルが利用可能になりました。 codex-miniは、OpenAIのo4-miniから派生した、コーディングタスクに特化したAIモデルです。 o3-proは6月10日にOpenAIから提供されたo3シリーズはで最も高性能なモデルです。 項目 o3-pro codex-mini リージョン East US2, Sweden Central(Global Standard) East US2, Sweden Central(Global Standard) アクセス要否 o3アクセス済みなら申請不要、それ以外は申請必要 アクセス申請不要 価格 $20(入力) / $80(出力) $1.

Azure FunctionsでWe were not able to load some functions in the list due to errorsエラーの対処

  • POST
はじめに Azure Functionsを運用していると、突然関数リストが表示されなくなり、「We were not able to load some functions in the list due to errors」というエラーメッセージが表示されることがあります。 本記事では、Application InsightsでOpenTelemetry(OTEL)を使用している場合に発生する、OTEL_SERVICE_NAME環境変数が未定義であることが原因のエラーについて、その原因と対処方法をご紹介します。 エラーの症状 Azure PortalでFunctionsのページを開いたときに、以下のようなエラーメッセージが表示され、関数のリストが読み込めなくなります。 We were not able to load some functions in the list due to errors. Refresh the page to try again. Error while loading Ask questions and use troubleshooting tools to investigate these errors. Diagnose and solve problems この状態では: 関数の一覧が表示されない 個別の関数の詳細も確認できない コード上ではApplication Insightsへのデータ送信は正常に動作している エラーの原因 このエラーは、Application InsightsでOpenTelemetry(OTEL)を使用している場合に、OTEL_SERVICE_NAME環境変数が設定されていないことが原因です。 Azure FunctionsでOpenTelemetryを使用してテレメトリデータを送信する際、サービス名を識別するためにOTEL_SERVICE_NAME環境変数が必要になります。

Azure Durable Functionsでスロット使用時にリクエストが別のスロットにルーティングされる事象

  • POST
はじめに 本記事では、Azure Durable Functions を使用して開発・運用されている方向けに、デプロイスロットを併用する環境で発生する「リクエストが別スロットにルーティングされる事象」について解説します。 特に、本番と検証で同一のストレージアカウントを利用している場合は注意が必要です。 Azure Durable Functionsとは Azure Durable FunctionsはAzure Functionsの拡張機能です。 詳細は以下の記事をご参照ください。 Azure Durable Functionsとは 事象 Azure Durable Functions において2つのスロット(production と staging)で運用をしていました。 上記構成においてstagingスロット上のアプリにリクエストしていたにも関わらず、オーケストレーター関数がproductionのアクティビティ関数を実行する事象が発生していたため調査を行いました。 原因 Durable Functions では、状態管理およびオーケストレーション処理に Azure Storage(Queue や Table)を使用しています。 このとき、本番と検証のスロットで同一のストレージアカウントおよび同一の TaskHubName を利用している場合、Durable Functions のステート情報が混在し、スロット間でリクエストが交差してしまうことがあります。 詳細は以下の Stack Overflow のディスカッションもご参照ください: Azure Durable Functions invoked in mixed slots 対策 1. host.json の Task Hub 名をスロットごとに分ける Durable Functions では host.json ファイルで durableTask.hubName を指定できます。スロットごとに異なる名前を明示的に設定することで、ステートの混在を防止できます。 { "version": "2.

Azure Functions作成時に「Linux dynamic workers are not available in resource group 」が発生したときの対処

  • POST
はじめに Azureにおいて、従量課金プランのFunctionsを作成した際に、エラーが発生し、Functionsが作成できなるなることがあります。 本記事では、上記事象の原因と対応方法についてご紹介します。 Linux dynamic workers are not available in resource group <リソースグループ名>エラー 上記のエラーはAzure の仕様により、同一リソースグループ内に Windows と Linux の App Service Plan を混在できないことを示しています。 対象のリソースグループに一度でも Windows の App Service Plan を作成すると、たとえ削除しても Azure 基盤側にその情報が保持され、そのリソースグループ内では Linux の Dynamic SKU(従量課金プラン)を新規作成できなくなります。 公式ドキュメント 対処方法 結論としては、別のリソースグループを新たに作成し、そちらに Azure Functions(Linux/Consumption Plan)を作成することでFunctionsの作成が可能になります。 おわりに 本記事では、「Linux dynamic workers are not available in resource group」というエラーの原因とその対処方法について説明しました。 a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A1CfX"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/789749/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/J6100281917861.jpg?1696410860000"}}); a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A2FzR"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/721208/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/F0100169654961.jpg?1663322311000"}});

【2025年04月】3大クラウドのAI系サービスリリースノート

  • POST
はじめに この記事では、Azure、AWS、Google Cloudの3大クラウドサービスのAIサービスの新規機能リリース履歴をまとめています。 主に以下のURLの情報をもとに新機能のキャッチアップを行っています。 Azure公式ドキュメント: Azure OpenAI Serviceニュース Github: Azure公式ドキュメント管理リポジトリ Github: Azure OpenAI APIプレビューバージョン一覧 Github: Azure OpenAI API安定版バージョン一覧 AWS公式ドキュメント: AWS Bedrockリリースノート Google Cloud公式ドキュメント: Vertex AIリリースノート Anthropic公式ドキュメント: APIバージョン一覧 Azure 2025年04月05日: Azure FunctionsがMCPトリガーに対応 Azure FunctionsがMCP(Model Context Protocol)に対応したMCPトリガーが利用可能になりました。 VS Code上のGitHub CopilotなどのMCPクライアントからMCPトリガーのFunctionsをコールすることができるようになっています。 https://techcommunity.microsoft.com/blog/appsonazureblog/build-ai-agent-tools-using-remote-mcp-with-azure-functions/4401059 Microsoft公式ブログ: Azure FunctionsがMCPトリガーに対応 Zenn: MCPトリガーで現在時刻を応答するコードの例 2025年04月14日: Azure OpenAIでGPT-4.1が利用可能に OpenAIからリリースされたGPT-4.1がAzure OpenAIでも利用可能になりました。 最大100万トークン対応:従来のGPT-4o(12.8万トークン)を大幅に超える 3モデル展開:「GPT‑4.1」「GPT‑4.1 mini」「GPT‑4.1 nano」 mini:GPT-4o超えの知能、レイテンシ半減、コスト83%減 nano:1Mトークン対応、MMLU 80.

Azure Durable Functions入門

  • POST
はじめに この記事では、Azure Durable Functionsについて解説します。 Azure Durable Functions ​Durable Functionsは、Azure Functionsの拡張機能で、状態を保持する(ステートフルな)ワークフローを実現可能にする機能です。 ​複数の処理を順番や並列で実行し、状態管理や再実行といった処理をユーザーは実装する必要がなく、Durable Functions側で自動で行うため、開発者はビジネスロジックの実装に集中することができます。 また、HTTPトリガー関数の場合3分50秒のタイムアウト制限があるため、長時間の処理を行うことができませんが、Durable Functionsを使うことで、長時間の処理を行うことが可能になります。 Azure公式ドキュメント: Azure Durable Functionsとは Azure Durable Functionsのアーキテクチャ Durable Functionsは以下の4つの関数で構成されています。 クライアント関数 (Client Function) オーケストレーター関数 (Orchestrator Function) アクティビティ関数 (Activity Function) エンティティ関数 (Entity Function) 次の項で、それぞれの関数について解説していきます。 Azure公式ドキュメント: Azure Durable Functionsにおける各関数の説明 クライアント関数 Durable Functionsをスタートさせるトリガー関数です。 通常のFunctionsと同様にHTTPトリガーやタイマートリガーなどイベントドリブンで実装されており、 定義したトリガーからイベントなどを受け取って、オーケストレーター関数を起動するのがこの関数の役目です。 オーケストレーター関数 後述するアクティビティ関数の実行を管理する役割の関数です。 後述するアクティビティ関数や他の関数を記載された通りに起動します。 ただし注意点として、オーケストレーター関数は 決定論的(deterministic) である必要があります。 決定論的とは、「同じ入力なら、いつ呼んでもまったく同じ動きをする」ように書く必要があることを示します。 Durable FunctionsではAzureサービスの障害時やサービスメンテナンス時などで処理が中断された場合に、オーケストレーター関数を再実行することができます。 再実行時に実行のたびに結果が変わるような処理が入っていると、予期しない動作を起こす危険性があるため、現在時刻やランダム値を使った処理など、毎回結果が変わるようなコードをオーケストレーター関数で定義することはアンチパターンとされています。