跳至主要内容

Fake LLM

LangChain 提供了一个用于测试目的的假 LLM 聊天模型。这使您能够模拟对 LLM 的调用并模拟如果 LLM 以特定方式响应会发生什么。

用法

import { FakeListChatModel } from "@langchain/core/utils/testing";
import { HumanMessage } from "@langchain/core/messages";
import { StringOutputParser } from "@langchain/core/output_parsers";

/**
* The FakeListChatModel can be used to simulate ordered predefined responses.
*/

const chat = new FakeListChatModel({
responses: ["I'll callback later.", "You 'console' them!"],
});

const firstMessage = new HumanMessage("You want to hear a JavasSript joke?");
const secondMessage = new HumanMessage(
"How do you cheer up a JavaScript developer?"
);
const firstResponse = await chat.invoke([firstMessage]);
const secondResponse = await chat.invoke([secondMessage]);

console.log({ firstResponse });
console.log({ secondResponse });

/**
* The FakeListChatModel can also be used to simulate streamed responses.
*/

const stream = await chat
.pipe(new StringOutputParser())
.stream(`You want to hear a JavasSript joke?`);
const chunks = [];
for await (const chunk of stream) {
chunks.push(chunk);
}

console.log(chunks.join(""));

/**
* The FakeListChatModel can also be used to simulate delays in either either synchronous or streamed responses.
*/

const slowChat = new FakeListChatModel({
responses: ["Because Oct 31 equals Dec 25", "You 'console' them!"],
sleep: 1000,
});

const thirdMessage = new HumanMessage(
"Why do programmers always mix up Halloween and Christmas?"
);
const slowResponse = await slowChat.invoke([thirdMessage]);
console.log({ slowResponse });

const slowStream = await slowChat
.pipe(new StringOutputParser())
.stream("How do you cheer up a JavaScript developer?");
const slowChunks = [];
for await (const chunk of slowStream) {
slowChunks.push(chunk);
}

console.log(slowChunks.join(""));

API 参考


此页面有帮助吗?


您也可以留下详细的反馈 在 GitHub 上.