Adapters
LangChain Adapter
ts
import { toLangChainMessages } from "guodu-prompt-engine-langchain";
import { TemplateEngine } from "guodu-prompt-engine-core";
const engine = new TemplateEngine({ baseDir: "./prompts" });
const coreMessages = await engine.render("demo.md", { topic: "grammar" });
const langchainMessages = toLangChainMessages(coreMessages);映射规则:
system -> systemuser -> humanassistant -> aitool/tool_result -> toolimage_url保持为image_url(url 保留,detail 忽略)tool_result内容映射为 tool message 文本内容,并保留tool_call_id/name/status- 若
tool/tool_result消息中没有结构化tool_resultpart,则会回退到tool_call_id: "unknown"
AI SDK Adapter
ts
import { toAISDKMessages } from "guodu-prompt-engine-ai-sdk";
import { TemplateEngine } from "guodu-prompt-engine-core";
const engine = new TemplateEngine({ baseDir: "./prompts" });
const coreMessages = await engine.render("demo.md");
const aiSdkMessages = toAISDKMessages(coreMessages);映射规则:
- 角色映射:
system/user/assistant保持一致,tool/tool_result映射为tool - 用户消息:
image_url -> image - assistant/system 消息中的
image_url会降级为文本 URL(AI SDK 对这两类角色不接受图片 part) tool_result映射为tool-resultcontent part(toolCallId/toolName/result/isError)- 若
tool消息缺少结构化tool_resultpart,会回退为toolCallId/toolName = "unknown"