Poy Chang's Blog

將 C# 物件轉成 JSON Schema 用於 AI 結構化輸出

在開發 AI 結構化輸出功能時,常常需要將 C# 物件轉換成 JSON Schema,以便讓 AI 模型能夠理解和使用這些結構化資料。本文將提供一個簡單的工具來實現這個轉換過程。

poychang/csharp-class-to-json-schema 提供兩個 Web Component,可將 C# class / record 模型轉換成 Azure OpenAI Structured Outputs 可接受的 JSON Schema 子集。

標準結構化輸出的 JSON Schema

csharp-json-schema-converter 掛在網頁上的效果如下,你也可以直接用下方的工具來將 C# 類別轉換成用於 AI 做結構化輸出時所需要的 JSON Schema:

這個工具是套用 Microsoft Learn 的結構化輸出這篇文章內容所開發的,該文章有詳細的說明如何使用 JSON Schema 來定義結構化輸出格式。

適用於 MAF Response Format 的 JSON Schema

如果是要在 Microsoft Foundry 的 Agent Service 中使用,則需要符合 Agent Service 的 JSON Schema 格式規範,也就是使用 csharp-json-schema-maf-converter ,這時可以使用下方的工具來進行轉換,再將生成的 JSON Schema 貼到 Agent 的 JSON 結構描述中即可:

此格式是來自 Microsoft Agent Framework (MAF) 的程式碼中所定義的格式規範,與一般的 JSON Schema 有些許不同。


參考資料: