@langchain/core
Version:
Core LangChain.js abstractions and schemas
23 lines (22 loc) • 660 B
JavaScript
import { ModelRefusalError } from "../errors/index.js";
import { isBaseMessage } from "../messages/base.js";
// src/output_parsers/refusal.ts
/**
* Throws {@link ModelRefusalError} if the generation's message is a refusal.
*
* @internal
*/
function throwIfRefused(generation) {
if (!generation || !("message" in generation)) return;
const { message } = generation;
if (!isBaseMessage(message)) return;
let blocks;
try {
blocks = message.contentBlocks;
} catch {
return;
}
for (const block of blocks) if (block.type === "refusal") throw ModelRefusalError.fromRefusal(block, message);
}
export { throwIfRefused };
//# sourceMappingURL=refusal.js.map