Language Model
Langflow 中的 Language Model 组件使用指定的大型语言模型 (LLM) 生成文本。
Langflow 包含一个 Language Model 核心组件,内置了对许多 LLM 的支持。 或者,您可以使用任何 additional language model 来替代核心 Language Model 组件。
在流程中使用语言模型组件
在任何需要使用LLM的流程中,都可以使用语言模型组件。
这些组件接受聊天消息、文件和指令等输入,以生成文本响应。 流程必须包含聊天输入和输出组件,以便与LLM进行基于聊天的交互。 但是,您也可以将语言模型组件用于不直接发出聊天输出的操作,例如智能函数组件。
下面的示例使用语言模型核心组件创建一个类似于基础提示模板的聊天机器人流程。 它还解释了如何用另一个LLM替换核心组件。
-
将语言模型组件添加到您的流程中。
-
在OpenAI API密钥字段中,输入您的OpenAI API密钥。
此示例使用默认的OpenAI模型和内置的Anthropic模型来比较来自不同提供商的响应。 如果您想使用不同的提供商,请相应地编辑模型提供商、模型名称和API密钥字段。
我的首选提供商或模型未列出如果您想使用未内置在语言模型核心组件中的提供商或模型,可以按照附加语言模型中的说明,将此组件替换为另一个兼容组件。 然后,您可以继续按照这些步骤构建您的流程。
-
在组件的标题菜单中,点击控制,启用系统消息参数,然后点击关闭。
-
将提示模板组件添加到您的流程中。
-
在模板字段中,为LLM输入一些指令,例如
You are an expert in geography who is tutoring high school students
。 -
将提示模板组件的输出连接到语言模型组件的系统消息输入。
-
将聊天输入和聊天输出组件添加到您的流程中。
-
将聊天输入组件连接到语言模型组件的输入,然后将语言模型组件的消息输出连接到聊天输出组件。
-
打开游乐场,提出一个问题与LLM聊天并测试流程,例如
犹他的首府是什么?
。结果
以下响应是OpenAI模型响应的示例。 根据您请求时的模型版本、模板和输入,您的实际响应可能会有所不同。
_10The capital of Utah is Salt Lake City. It is not only the largest city in the state but also serves as the cultural and economic center of Utah. Salt Lake City was founded in 1847 by Mormon pioneers and is known for its proximity to the Great Salt Lake and its role in the history of the Church of Jesus Christ of Latter-day Saints. For more information, you can refer to sources such as the U.S. Geological Survey or the official state website of Utah. -
尝试使用不同的模型或提供商,看看响应如何变化。例如:
- 在语言模型组件中,将模型提供商更改为Anthropic。
- 选择一个Anthropic模型,例如Claude 3.5 Haiku。
- 输入一个Anthropic API密钥。
-
打开游乐场,提出与之前相同的问题,然后比较响应的内容和格式。
这有助于您了解不同模型如何处理相同的请求,以便您可以为用例选择最佳模型。 您还可以在每个模型提供商的文档中了解更多关于不同模型的信息。
结果
以下响应是Anthropic模型响应的示例。 根据您请求时的模型版本、模板和输入,您的实际响应可能会有所不同。
请注意,此响应更短并包含来源,而OpenAI响应更像百科全书式且未引用来源。
_10The capital of Utah is Salt Lake City. It is also the most populous city in the state. Salt Lake City has been the capital of Utah since 1896, when Utah became a state._10Sources:_10Utah State Government Official Website (utah.gov)_10U.S. Census Bureau_10Encyclopedia Britannica
语言模型参数
一些语言模型组件的输入参数在可视化编辑器中默认隐藏。 您可以通过组件的头部菜单中的 Controls 来切换参数。
名称 | 类型 | 描述 |
---|---|---|
provider | String | 输入参数。要使用的模型提供商。 |
model_name | String | 输入参数。要使用的模型名称。选项取决于所选的提供商。 |
api_key | SecretString | 输入参数。用于与所选提供商进行身份验证的 API 密钥。 |
input_value | String | 输入参数。要发送给模型的输入文本。 |
system_message | String | 输入参数。有助于设置助手行为的系统消息。 |
stream | Boolean | 输入参数。是否流式传输响应。默认值:false。 |
temperature | Float | 输入参数。控制响应中的随机性。范围:[0.0, 1.0] 。默认值:0.1 。 |
model | LanguageModel | 输出参数。默认 Message 输出的替代输出类型。生成一个使用指定参数配置的 Chat 实例。请参阅语言模型输出类型。 |
语言模型输出类型
语言模型组件,包括核心组件和捆绑组件,可以产生两种类型的输出:
-
模型响应:默认输出类型将模型的生成响应作为
Message
数据 发出。 当您想要典型的 LLM 交互(其中 LLM 根据给定输入生成文本响应)时,请使用此输出类型。 -
语言模型:当您需要将 LLM 连接到流程中的另一个组件时,将语言模型组件的输出类型更改为
LanguageModel
。 这是一种特定数据类型,仅某些组件需要,例如 智能函数组件。使用此配置时,语言模型组件旨在支持由另一个组件完成的操作,而不是为基于标准聊天的交互生成文本响应。 例如,智能函数组件使用 LLM 从自然语言输入创建函数。