🐛 fix(loading.py): import handle_partial_variables function to fix NameError when using it in instantiate_prompt function
🐛 fix(utils.py): add handle_partial_variables function to handle partial variables in prompt formatting
This commit is contained in:
parent
84a971ed0b
commit
8a82231deb
2 changed files with 18 additions and 1 deletions
|
|
@ -6,7 +6,11 @@ from langchain.agents.agent import AgentExecutor
|
|||
from langchain.agents.agent_toolkits.base import BaseToolkit
|
||||
from langchain.agents.tools import BaseTool
|
||||
from langflow.interface.initialize.llm import initialize_vertexai
|
||||
from langflow.interface.initialize.utils import handle_format_kwargs, handle_node_type
|
||||
from langflow.interface.initialize.utils import (
|
||||
handle_format_kwargs,
|
||||
handle_node_type,
|
||||
handle_partial_variables,
|
||||
)
|
||||
|
||||
from langflow.interface.initialize.vector_store import vecstore_initializer
|
||||
|
||||
|
|
@ -217,6 +221,9 @@ def instantiate_agent(node_type, class_object: Type[agent_module.Agent], params:
|
|||
def instantiate_prompt(node_type, class_object, params: Dict):
|
||||
params, prompt = handle_node_type(node_type, class_object, params)
|
||||
format_kwargs = handle_format_kwargs(prompt, params)
|
||||
# Now we'll use partial_format to format the prompt
|
||||
if format_kwargs:
|
||||
prompt = handle_partial_variables(prompt, format_kwargs)
|
||||
return prompt, format_kwargs
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,16 @@ def handle_format_kwargs(prompt, params: Dict):
|
|||
return format_kwargs
|
||||
|
||||
|
||||
def handle_partial_variables(prompt, format_kwargs: Dict):
|
||||
partial_variables = format_kwargs.copy()
|
||||
partial_variables = {
|
||||
key: value for key, value in partial_variables.items() if value
|
||||
}
|
||||
# Remove handle_keys otherwise LangChain raises an error
|
||||
partial_variables.pop("handle_keys", None)
|
||||
return prompt.partial(**partial_variables)
|
||||
|
||||
|
||||
def handle_variable(params: Dict, input_variable: str, format_kwargs: Dict):
|
||||
variable = params[input_variable]
|
||||
if isinstance(variable, str):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue