langchain_core.utils.function_calling
.tool_example_to_messages¶
- langchain_core.utils.function_calling.tool_example_to_messages(input: str, tool_calls: List[BaseModel], tool_outputs: Optional[List[str]] = None) List[BaseMessage] [源代码]¶
将示例转换为可以输入到LLM的消息列表。
此代码是一个适配器,用于将单个示例转换为聊天模型可以接收的消息列表。
每个示例的消息列表对应于
HumanMessage:包含要从中提取内容的文本。
AIMessage:包含从模型提取的信息。
- ToolMessage:包含对模型进行确认,表明模型请求了工具,并正确执行。
。
需要ToolMessage,因为某些聊天模型针对代理进行了超优化,而不是针对提取用例。
- 参数
input (字符串)– 用户输入字符串
tool_calls (列表[BaseModel])– 表示为Pydantic BaseModel的工具调用列表
tool_outputs (可选[列表[字符串]])– 可选[列表[str]],工具调用输出的列表。无需提供。如果未提供,将插入占位符值。默认为None。
- 返回
消息列表
- 返回类型
列表[BaseMessage]
示例
from typing import List, Optional from langchain_core.pydantic_v1 import BaseModel, Field from langchain_openai import ChatOpenAI class Person(BaseModel): '''Information about a person.''' name: Optional[str] = Field(..., description="The name of the person") hair_color: Optional[str] = Field( ..., description="The color of the person's hair if known" ) height_in_meters: Optional[str] = Field( ..., description="Height in METERs" ) examples = [ ( "The ocean is vast and blue. It's more than 20,000 feet deep.", Person(name=None, height_in_meters=None, hair_color=None), ), ( "Fiona traveled far from France to Spain.", Person(name="Fiona", height_in_meters=None, hair_color=None), ), ] messages = [] for txt, tool_call in examples: messages.extend( tool_example_to_messages(txt, [tool_call]) )