模块 nemoguardrails.rails.llm.llmrails
#
LLM Rails 入口点。
全局变量#
explain_info_var
streaming_handler_var
类 LLMRails
#
基于给定配置的 Rails。
方法 LLMRails.__init__
#
__init__(
config: nemoguardrails.rails.llm.config.RailsConfig,
llm: Optional[langchain.llms.base.BaseLLM] = None,
verbose: bool = False
)
初始化 LLMRails 实例。
参数
config
: 一个 rails 配置。llm
: 要使用的可选 LLM 引擎。verbose
: 日志记录是否应详细。
方法 LLMRails.explain
#
explain() → ExplainInfo
返回最新 ExplainInfo 对象的辅助函数。
方法 LLMRails.generate
#
generate(prompt: Optional[str] = None, messages: Optional[List[dict]] = None)
generate_async 的同步版本。
方法 LLMRails.generate_async
#
generate_async(
prompt: Optional[str] = None,
messages: Optional[List[dict]] = None,
streaming_handler: Optional[nemoguardrails.streaming.StreamingHandler] = None
) → Union[str, dict]
生成补全或下一个消息。
消息的格式如下:
[
{"role": "context", "content": {"user_name": "John"}},
{"role": "user", "content": "Hello! How are you?"},
{"role": "assistant", "content": "I am fine, thank you!"},
{"role": "event", "event": {"type": "UserSilent"}},
...
]
参数
prompt
: 用于补全的提示。messages
: 用于生成下一个消息的消息历史记录。streaming_handler
: 如果指定,并且配置支持流式传输,将使用提供的处理程序进行流式传输。
返回: 补全(提供提示时)或下一个消息。
暂不支持系统消息。
方法 LLMRails.generate_events
#
generate_events(events: List[dict]) → List[dict]
LLMRails.generate_events_async
的同步版本。
方法 LLMRails.generate_events_async
#
generate_events_async(events: List[dict]) → List[dict]
根据提供的历史记录生成下一个事件。
事件的格式如下:
[
{"type": "...", ...},
...
]
参数
events
: 用于生成下一个事件的事件历史记录。
返回: 新生成的事件。
方法 LLMRails.register_action
#
register_action(
action: <built-in function callable>,
name: Optional[str] = None
)
为 rails 配置注册一个自定义动作。
方法 LLMRails.register_action_param
#
register_action_param(name: str, value: Any)
注册一个自定义动作参数。
方法 LLMRails.register_embedding_search_provider
#
register_embedding_search_provider(
name: str,
cls: Type[nemoguardrails.embeddings.index.EmbeddingsIndex]
) → None
注册一个新的嵌入搜索提供商。
参数
name
: 将使用的嵌入搜索提供商的名称。cls
: 将用于生成和搜索嵌入的类
方法 LLMRails.register_filter
#
register_filter(
filter_fn: <built-in function callable>,
name: Optional[str] = None
)
为 rails 配置注册一个自定义过滤器。
方法 LLMRails.register_output_parser
#
register_output_parser(output_parser: <built-in function callable>, name: str)
为 rails 配置注册一个自定义输出解析器。
方法 LLMRails.register_prompt_context
#
register_prompt_context(name: str, value_or_fn: Any)
注册一个值以包含在提示上下文中。
- 名称:
将使用的变量或函数的名称。 :value_or_fn: 将用于生成值的值或函数。
方法 LLMRails.stream_async
#
stream_async(
prompt: Optional[str] = None,
messages: Optional[List[dict]] = None
) → AsyncIterator[str]
用于直接从 LLM 获取流式传输 token 的简化接口。