Při použití umělé inteligence v aplikaci často potřebujete výstupy, které váš kód dokáže analyzovat, a ne jen volný text. Ať už generujete data pro uživatelské rozhraní, automatizujete obchodní logiku nebo organizujete vícekrokové uvažování, předvídatelné, strojově čitelné odpovědi jsou nezbytné.
Proto sada 4D 21 4D AIKit zavádí novou funkci response_format atribut, který umožňuje definovat přesnou strukturu výstupu modelu a zajistit tak konzistenci, validaci a hladkou integraci do logiky aplikace.
PROČ JSOU STRUKTUROVANÉ VÝSTUPY DŮLEŽITÉ
Strukturované výstupy jsou užitečné vždy, když potřebujete analyzovat nebo interpretovat to, co model umělé inteligence produkuje.
Například:
- Generování dat: Automatické vytváření strukturovaného obsahu, jako jsou záznamy o produktech, položky CRM nebo konfigurační data, které může vaše aplikace okamžitě použít.
- Zdůvodňování a plánování: V případě, že se vám podaří získat data, která budou použita pro analýzu: Můžete model požádat, aby navrhl další kroky nebo možnosti pracovních postupů, které může vaše aplikace automaticky zobrazit nebo provést.
- Vícekrokoví agenti (vzor ReAct): Kombinujte uvažování a jednání, kdy se umělá inteligence řídí určitými formáty, podle kterých řídí svou další činnost.
- Řízení myšlenkového řetězce (pouze viditelná část): Zachyťte kroky uvažování, které se rozhodnete vystavit uživatelům kvůli přehlednosti nebo ladění.
- Ladění / monitorování uvažování AI: Vynucujte strukturu, aby bylo možné zaznamenávat a analyzovat vnitřní logiku UI.
Zde je jednoduchý příklad toho, jak by model AI mohl vracet strukturovaná data o uvažování, která můžete okamžitě analyzovat ve 4D:
{
"thought": "The customer seems satisfied overall but mentioned slow delivery.",
"next_step": "offer_discount"
}
Příklad použití: Umělá inteligence shrne argumentaci a navrhne další akci, kterou může váš kód automaticky použít.
Strukturované výstupy s response_format
Při interakci s modelem umělé inteligence vývojáři často potřebují výsledky v určitém formátu, ať už jde o prostý text, objekty JSON nebo data ověřená podle schématu. Díky novému response_format můžete nyní modelu nařídit, aby vrátil odpověď v přesně požadované struktuře.
Zde je další případ, kdy strukturovaný výstup zajišťuje konzistentní, validovaná data, finanční přehled vrácený jako striktní JSON:
var $client:=cs.AIKit.OpenAI.new($openAIKey)
var $chatHelper:=$ai.chat.create("You are a financial data analyst.")
// Define the expected response format for the AI
var $response_format:={type: "json_schema"; json_schema: {}}
$response_format.json_schema.name:="sales_summary"
$response_format.json_schema.schema:={type: "object"; properties: {}}
$response_format.json_schema.schema.properties.total_revenue:={type: "number"}
$response_format.json_schema.schema.properties.gross_margin:={type: "number"}
$response_format.json_schema.schema.properties.top_products:={Type: "array"; items: {Type: "String"}}
$response_format.json_schema.schema.required:=["total_revenue"; "gross_margin"; "top_products"]
$response_format.json_schema.schema.additionalProperties:=False
// Attach the JSON Schema format to the chat helper
$chatHelper.parameters.response_format:=$jsonFormat
// Compose the message to send to the AI:
var $message:="Here are the sales figures for Q3:\n"
$message+="- Product A: $120,000 in sales, 40% margin\n"
$message+="- Product B: $85,000 in sales, 35% margin\n"
$message+="- Product C: $60,000 in sales, 50% margin\n"
$message+="Please calculate the total revenue, the overall gross margin, "
$message+="and list the top 2 products by revenue."
var $result:=$chatHelper.prompt($message)
//$result.choice.message.text:="{
// "total_revenue": 265000,
// "gross_margin": 0,406603773,
// "top_products": ["Product A","Product B"]
// ]
//}"
UI odpoví validovaným objektem JSON, připraveným k použití v databázi nebo uživatelském rozhraní, bez nutnosti následného zpracování.
MODELOVÁ PODPORA PROSTŘEDÍ
Podpora strukturovaných výstupů se liší v závislosti na použitém modelu:
-
OpenAI GPT-4o a GPT-4-Turbo nativně podporují response_format.
-
Místní nebo jiné cloudové modely (např. modely Claude, Gemini nebo Ollama) mohou strukturované výstupy podporovat odlišně, někdy prostřednictvím striktního volání funkcí, jindy prostřednictvím vynucení textového schématu.
A nezapomeňte: response_format není omezeno na JSON. V závislosti na modelu mohou být podporovány i další formáty, jako je prostý text, XML nebo syntaxe specifické pro danou doménu.
Závěr
S response_format v sadě 4D AIKit můžete zajistit, že vaše výstupy umělé inteligence budou přesně takové, jaké potřebujete, konzistentní, spolehlivé a připravené k přímému zapojení do uživatelského rozhraní, databáze nebo jiného systému. Tato funkce pomáhá vývojářům bez námahy analyzovat výstupy AI a hluboce integrovat inteligenci do jejich aplikací 4D. Transformuje AI z jednoduchého chatovacího partnera na výkonný, strukturovaný argumentační engine, který umožňuje chytřejší a dynamičtější funkce, než si uživatelé kdy dokázali představit.
K tomuto příspěvku zatím nelze přidávat komentáře.