Closed Owen-MS closed 8 months ago
嘿,@Owen-MS!很高兴再次看到你。希望一切都好!
要在HMLargeLanguageModel
类中将默认的stream
参数配置为false
,您需要修改LargeLanguageModel
类中invoke
方法的方法签名。具体来说,将stream
参数的默认值从True
更改为False
。
以下是修改后的invoke
方法签名中的一行:
def invoke(self, model: str, credentials: dict,
prompt_messages: list[PromptMessage], model_parameters: Optional[dict] = None,
tools: Optional[list[PromptMessageTool]] = None, stop: Optional[list[str]] = None,
stream: bool = False, user: Optional[str] = None, callbacks: list[Callback] = None) \
-> Union[LLMResult, Generator]:
此更改将stream
参数的默认行为设置为False
,这意味着除非在调用invoke
方法时另行指定,否则该方法默认不会流式传输响应。
stream
参数在HMLargeLanguageModel
类的_invoke
方法中决定了大型语言模型的响应应该是流式传输还是完全返回。当stream
设置为True
时,该方法返回一个生成器,该生成器在接收到响应的块时产生它们。这对于处理大型响应或实时交互场景非常有用,因为在这些场景中,即时的部分结果是有益的。相反,当stream
设置为False
时,该方法在返回之前等待模型的完全响应,这适用于需要在开始任何处理之前需要完整结果的场景。这种行为在_generate
方法中实现,该方法构造对模型的请求,包括相应地为requests.post
调用设置stream
参数。
请注意,HMLargeLanguageModel
类在提供的上下文中不存在。在上下文中定义的类是OpenLLMLargeLanguageModel
,它是LargeLanguageModel
的子类。LargeLanguageModel
类从core.model_runtime.model_providers.__base.large_language_model
导入。
源代码:
我需要改的不是当前行代码,而是如何配置stream
Self Checks
Provide a description of the help you need
如何配置非流式调用!!!! class HMLargeLanguageModel(LargeLanguageModel): def _invoke(self, model: str, credentials: dict, prompt_messages: list[PromptMessage], model_parameters: dict, tools: list[PromptMessageTool] | None = None, stop: list[str] | None = None, stream: bool = True, user: str | None = None) \ -> LLMResult | Generator: return self._generate(model=model, credentials=credentials, prompt_messages=prompt_messages, model_parameters=model_parameters, tools=tools, stop=stop, stream=stream, user=user) 默认的stream在哪里能配置为false