在開發 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 有些許不同。
參考資料: