McpToolRegistrationService class
ค้นหาเซิร์ฟเวอร์ MCP และเครื่องมือรายการที่จัดรูปแบบสําหรับ LangChain Orchestrator ใช้ listToolServers เพื่อดึงข้อมูลการกําหนดค่าเซิร์ฟเวอร์และ getTools เพื่อแจกแจงเครื่องมือ
นอกจากนี้ยังมีวิธีการส่งประวัติการแชทไปยังแพลตฟอร์ม MCP สําหรับการวิเคราะห์ภัยคุกคามแบบเรียลไทม์ (RTP)
ผู้ผลิต
| Mcp |
สร้าง McpToolRegistrationService |
วิธีการ
| add |
ลงทะเบียนเซิร์ฟเวอร์เครื่องมือ MCP และอัปเดตตัวเลือกตัวแทนด้วยเครื่องมือและการกําหนดค่าเซิร์ฟเวอร์ที่ค้นพบ เรียกสิ่งนี้เพื่อเปิดใช้งานการเข้าถึงเครื่องมือ LangChain แบบไดนามิกตามสภาพแวดล้อม MCP ปัจจุบัน |
| send |
ส่งประวัติการสนทนาจาก LangGraph CompiledStateGraph ไปยังแพลตฟอร์ม MCP นี่คือ API ระดับสูงสุดและใช้งานง่ายที่สุด ซึ่งดึงสถานะปัจจุบันจากกราฟ แยกข้อความ แปลงเป็นรูปแบบ ChatHistoryMessage และส่งไปยังแพลตฟอร์ม MCP สําหรับการป้องกันภัยคุกคามแบบเรียลไทม์ ตัวอย่าง
|
| send |
เรียกใช้ข้อความจากอินสแตนซ์ BaseChatMessageHistory และส่งไปยังแพลตฟอร์ม MCP ใช้ API นี้เมื่อทํางานกับนามธรรมหน่วยความจําของ LangChain (เช่น InMemoryChatMessageHistory, RedisChatMessageHistory และอื่น ๆ) ตัวอย่าง
|
| send |
ส่งอาร์เรย์ของข้อความ LangChain ไปยังแพลตฟอร์ม MCP เพื่อการป้องกันภัยคุกคามแบบเรียลไทม์ นี่คือ API ระดับต่ําสุดที่ยอมรับอาร์เรย์ baseMessage ดิบ ใช้สิ่งนี้เมื่อคุณได้แยกข้อความออกมาแล้ว หรือมีแหล่งข้อความแบบกําหนดเองที่ไม่ครอบคลุมโดย API ระดับที่สูงกว่า วิธีนี้แปลงอาร์เรย์ BaseMessage ที่ให้มาเป็นรูปแบบ ChatHistoryMessage และส่งไปยังแพลตฟอร์ม MCP อาร์เรย์ที่ว่างเปล่าจะถูกส่ง as-is เพื่อลงทะเบียนข้อความผู้ใช้ด้วยแพลตฟอร์ม ตัวอย่าง
|
| send |
แยกข้อความจาก LangGraph StateSnapshot และส่งไปยังแพลตฟอร์ม MCP ใช้ API นี้เมื่อคุณมี StateSnapshot (เช่น จากการเรียกก่อนหน้า ตัวอย่าง
|
รายละเอียดคอนสตรักเตอร์
McpToolRegistrationService(IConfigurationProvider<LangChainToolingConfiguration>)
สร้าง McpToolRegistrationService
new McpToolRegistrationService(configProvider?: IConfigurationProvider<LangChainToolingConfiguration>)
พารามิเตอร์
- configProvider
ตัวให้บริการการกําหนดค่าทางเลือก ค่าเริ่มต้นเป็น defaultLangChainToolingConfigurationProvider ถ้าไม่ได้ระบุ
รายละเอียดวิธีการ
addToolServersToAgent(ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>, Authorization, string, TurnContext, string)
ลงทะเบียนเซิร์ฟเวอร์เครื่องมือ MCP และอัปเดตตัวเลือกตัวแทนด้วยเครื่องมือและการกําหนดค่าเซิร์ฟเวอร์ที่ค้นพบ เรียกสิ่งนี้เพื่อเปิดใช้งานการเข้าถึงเครื่องมือ LangChain แบบไดนามิกตามสภาพแวดล้อม MCP ปัจจุบัน
function addToolServersToAgent(agent: ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>, authorization: Authorization, authHandlerName: string, turnContext: TurnContext, authToken: string): Promise<ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>>
พารามิเตอร์
- agent
-
ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>
อินสแตนซ์ของตัวแทน LangChain ที่จะเพิ่มเซิร์ฟเวอร์ MCP
- authorization
- Authorization
ออบเจ็กต์การตรวจสอบสําหรับการแลกเปลี่ยนโทเค็น
- authHandlerName
-
string
ชื่อของตัวจัดการการรับรองความถูกต้องเพื่อใช้สําหรับการแลกเปลี่ยนโทเค็น
- turnContext
- TurnContext
TurnContext ของคําขอปัจจุบัน
- authToken
-
string
โทเค็นแบเรอร์ทางเลือกสําหรับการเข้าถึงเซิร์ฟเวอร์ MCP
การส่งคืน
Promise<ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>>
อินสแตนซ์ของ Agent ที่อัปเดตแล้วด้วยเซิร์ฟเวอร์ MCP ที่ลงทะเบียน
sendChatHistoryAsync(TurnContext, CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>, RunnableConfig<Record<string, any>>, number, ToolOptions)
ส่งประวัติการสนทนาจาก LangGraph CompiledStateGraph ไปยังแพลตฟอร์ม MCP
นี่คือ API ระดับสูงสุดและใช้งานง่ายที่สุด ซึ่งดึงสถานะปัจจุบันจากกราฟ แยกข้อความ แปลงเป็นรูปแบบ ChatHistoryMessage และส่งไปยังแพลตฟอร์ม MCP สําหรับการป้องกันภัยคุกคามแบบเรียลไทม์
ตัวอย่าง
const config = { configurable: { thread_id: '1' } };
const result = await service.sendChatHistoryAsync(turnContext, graph, config);
if (result.succeeded) {
console.log('Chat history sent successfully');
}
function sendChatHistoryAsync(turnContext: TurnContext, graph: CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>, config: RunnableConfig<Record<string, any>>, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
พารามิเตอร์
- turnContext
- TurnContext
เปลี่ยนบริบทที่ประกอบด้วยข้อมูลการสนทนา
- graph
-
CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>
อินสแตนซ์ LangGraph CompiledStateGraph สถานะกราฟต้องมีอาร์เรย์ 'ข้อความ'
- config
-
RunnableConfig<Record<string, any>>
การกําหนดค่า RunnableConfig ที่ประกอบด้วย thread_id และการกําหนดค่าอื่น ๆ
- limit
-
number
ขีดจํากัดที่เลือกได้สําหรับจํานวนข้อความที่จะส่ง
- toolOptions
- ToolOptions
ตัวเลือกเครื่องมือทางเลือกสําหรับการกําหนดเอง
การส่งคืน
Promise<OperationResult>
สัญญาจะแก้ไขการ OperationResult ที่ระบุความสําเร็จหรือความล้มเหลว
sendChatHistoryFromChatHistoryAsync(TurnContext, BaseChatMessageHistory, number, ToolOptions)
เรียกใช้ข้อความจากอินสแตนซ์ BaseChatMessageHistory และส่งไปยังแพลตฟอร์ม MCP
ใช้ API นี้เมื่อทํางานกับนามธรรมหน่วยความจําของ LangChain (เช่น InMemoryChatMessageHistory, RedisChatMessageHistory และอื่น ๆ)
ตัวอย่าง
const chatHistory = new InMemoryChatMessageHistory();
// ... add messages to history ...
const result = await service.sendChatHistoryFromChatHistoryAsync(turnContext, chatHistory);
function sendChatHistoryFromChatHistoryAsync(turnContext: TurnContext, chatHistory: BaseChatMessageHistory, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
พารามิเตอร์
- turnContext
- TurnContext
เปลี่ยนบริบทที่ประกอบด้วยข้อมูลการสนทนา
- chatHistory
-
BaseChatMessageHistory
อินสแตนซ์ BaseChatMessageHistory เพื่อดึงข้อมูลข้อความ
- limit
-
number
ขีดจํากัดที่เลือกได้สําหรับจํานวนข้อความที่จะส่ง
- toolOptions
- ToolOptions
ตัวเลือกเครื่องมือทางเลือกสําหรับการกําหนดเอง
การส่งคืน
Promise<OperationResult>
สัญญาจะแก้ไขการ OperationResult ที่ระบุความสําเร็จหรือความล้มเหลว
sendChatHistoryFromMessagesAsync(TurnContext, BaseMessage<MessageStructure<MessageToolSet>, MessageType>[], number, ToolOptions)
ส่งอาร์เรย์ของข้อความ LangChain ไปยังแพลตฟอร์ม MCP เพื่อการป้องกันภัยคุกคามแบบเรียลไทม์
นี่คือ API ระดับต่ําสุดที่ยอมรับอาร์เรย์ baseMessage ดิบ ใช้สิ่งนี้เมื่อคุณได้แยกข้อความออกมาแล้ว หรือมีแหล่งข้อความแบบกําหนดเองที่ไม่ครอบคลุมโดย API ระดับที่สูงกว่า
วิธีนี้แปลงอาร์เรย์ BaseMessage ที่ให้มาเป็นรูปแบบ ChatHistoryMessage และส่งไปยังแพลตฟอร์ม MCP อาร์เรย์ที่ว่างเปล่าจะถูกส่ง as-is เพื่อลงทะเบียนข้อความผู้ใช้ด้วยแพลตฟอร์ม
ตัวอย่าง
const messages = await messageHistory.getMessages();
const result = await service.sendChatHistoryFromMessagesAsync(turnContext, messages, 50);
if (result.succeeded) {
console.log('Chat history sent successfully');
} else {
console.error('Failed to send chat history:', result.errors);
}
function sendChatHistoryFromMessagesAsync(turnContext: TurnContext, messages: BaseMessage<MessageStructure<MessageToolSet>, MessageType>[], limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
พารามิเตอร์
- turnContext
- TurnContext
เปลี่ยนบริบทที่ประกอบด้วยข้อมูลการสนทนา
- messages
-
BaseMessage<MessageStructure<MessageToolSet>, MessageType>[]
อาร์เรย์ของวัตถุ LangChain BaseMessage ที่จะส่ง
- limit
-
number
ขีดจํากัดที่เลือกได้สําหรับจํานวนข้อความที่จะส่ง
- toolOptions
- ToolOptions
ตัวเลือกเครื่องมือทางเลือกสําหรับการกําหนดเอง
การส่งคืน
Promise<OperationResult>
สัญญาจะแก้ไขการ OperationResult ที่ระบุความสําเร็จหรือความล้มเหลว
sendChatHistoryFromStateAsync(TurnContext, StateSnapshot, number, ToolOptions)
แยกข้อความจาก LangGraph StateSnapshot และส่งไปยังแพลตฟอร์ม MCP
ใช้ API นี้เมื่อคุณมี StateSnapshot (เช่น จากการเรียกก่อนหน้า graph.getState() ) อยู่แล้ว และต้องการหลีกเลี่ยงสถานะการดึงข้อมูลอีกครั้ง
ตัวอย่าง
const config = { configurable: { thread_id: '1' } };
const stateSnapshot = await graph.getState(config);
const result = await service.sendChatHistoryFromStateAsync(turnContext, stateSnapshot);
function sendChatHistoryFromStateAsync(turnContext: TurnContext, stateSnapshot: StateSnapshot, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
พารามิเตอร์
- turnContext
- TurnContext
เปลี่ยนบริบทที่ประกอบด้วยข้อมูลการสนทนา
- stateSnapshot
-
StateSnapshot
LangGraph StateSnapshot ที่ประกอบด้วยสถานะข้อความ
- limit
-
number
ขีดจํากัดที่เลือกได้สําหรับจํานวนข้อความที่จะส่ง
- toolOptions
- ToolOptions
ตัวเลือกเครื่องมือทางเลือกสําหรับการกําหนดเอง
การส่งคืน
Promise<OperationResult>
สัญญาจะแก้ไขการ OperationResult ที่ระบุความสําเร็จหรือความล้มเหลว