@langgraph-js/pro
Version:
The Pro SDK for LangGraph - seamlessly integrate your AI agents with frontend interfaces and build complex AI workflows
37 lines (35 loc) • 1.21 kB
text/typescript
import { BaseMessage, HumanMessage, isHumanMessage, MessageContentText } from "@langchain/core/messages";
/**
* 获取消息的文本内容, 会对多个文本消息进行合并处理
* @example
* const text = getTextMessageContent(message);
* console.log(text);
*/
export const getTextMessageContent = (message: BaseMessage): string => {
if (typeof message.content === "string") {
return message.content;
} else {
return message.content
.filter((i) => i.type === "text")
.map((i) => (i as MessageContentText).text)
.join("\n");
}
};
/**
* 获取最后一条人类发送的消息
* @example
* const lastHumanMessage = getLastHumanMessage(state.messages);
* console.log(lastHumanMessage);
*/
export function getLastHumanMessage(messages: BaseMessage[]): HumanMessage | undefined {
// 从后往前遍历消息列表
for (let i = messages.length - 1; i >= 0; i--) {
const message = messages[i];
// 检查消息是否是 HumanMessage 的实例
if (isHumanMessage(message)) {
return message;
}
}
// 如果没有找到 HumanMessage,则返回 undefined
return undefined;
}