mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-04 12:39:32 +00:00
chore(langchain): add ruff rules SLF (#32112)
See https://docs.astral.sh/ruff/rules/private-member-access/
This commit is contained in:
committed by
GitHub
parent
8f5ec20ccf
commit
e1238b8085
@@ -190,14 +190,14 @@ class AgentExecutorIterator:
|
|||||||
name=self.run_name,
|
name=self.run_name,
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
while self.agent_executor._should_continue(
|
while self.agent_executor._should_continue( # noqa: SLF001
|
||||||
self.iterations,
|
self.iterations,
|
||||||
self.time_elapsed,
|
self.time_elapsed,
|
||||||
):
|
):
|
||||||
# take the next step: this plans next action, executes it,
|
# take the next step: this plans next action, executes it,
|
||||||
# yielding action and observation as they are generated
|
# yielding action and observation as they are generated
|
||||||
next_step_seq: NextStepOutput = []
|
next_step_seq: NextStepOutput = []
|
||||||
for chunk in self.agent_executor._iter_next_step(
|
for chunk in self.agent_executor._iter_next_step( # noqa: SLF001
|
||||||
self.name_to_tool_map,
|
self.name_to_tool_map,
|
||||||
self.color_mapping,
|
self.color_mapping,
|
||||||
self.inputs,
|
self.inputs,
|
||||||
@@ -214,7 +214,7 @@ class AgentExecutorIterator:
|
|||||||
yield AddableDict(steps=[chunk], messages=chunk.messages)
|
yield AddableDict(steps=[chunk], messages=chunk.messages)
|
||||||
|
|
||||||
# convert iterator output to format handled by _process_next_step_output
|
# convert iterator output to format handled by _process_next_step_output
|
||||||
next_step = self.agent_executor._consume_next_step(next_step_seq)
|
next_step = self.agent_executor._consume_next_step(next_step_seq) # noqa: SLF001
|
||||||
# update iterations and time elapsed
|
# update iterations and time elapsed
|
||||||
self.update_iterations()
|
self.update_iterations()
|
||||||
# decide if this is the final output
|
# decide if this is the final output
|
||||||
@@ -258,14 +258,14 @@ class AgentExecutorIterator:
|
|||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
async with asyncio_timeout(self.agent_executor.max_execution_time):
|
async with asyncio_timeout(self.agent_executor.max_execution_time):
|
||||||
while self.agent_executor._should_continue(
|
while self.agent_executor._should_continue( # noqa: SLF001
|
||||||
self.iterations,
|
self.iterations,
|
||||||
self.time_elapsed,
|
self.time_elapsed,
|
||||||
):
|
):
|
||||||
# take the next step: this plans next action, executes it,
|
# take the next step: this plans next action, executes it,
|
||||||
# yielding action and observation as they are generated
|
# yielding action and observation as they are generated
|
||||||
next_step_seq: NextStepOutput = []
|
next_step_seq: NextStepOutput = []
|
||||||
async for chunk in self.agent_executor._aiter_next_step(
|
async for chunk in self.agent_executor._aiter_next_step( # noqa: SLF001
|
||||||
self.name_to_tool_map,
|
self.name_to_tool_map,
|
||||||
self.color_mapping,
|
self.color_mapping,
|
||||||
self.inputs,
|
self.inputs,
|
||||||
@@ -288,7 +288,7 @@ class AgentExecutorIterator:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# convert iterator output to format handled by _process_next_step
|
# convert iterator output to format handled by _process_next_step
|
||||||
next_step = self.agent_executor._consume_next_step(next_step_seq)
|
next_step = self.agent_executor._consume_next_step(next_step_seq) # noqa: SLF001
|
||||||
# update iterations and time elapsed
|
# update iterations and time elapsed
|
||||||
self.update_iterations()
|
self.update_iterations()
|
||||||
# decide if this is the final output
|
# decide if this is the final output
|
||||||
@@ -336,7 +336,7 @@ class AgentExecutorIterator:
|
|||||||
# Check for tool return
|
# Check for tool return
|
||||||
if len(next_step_output) == 1:
|
if len(next_step_output) == 1:
|
||||||
next_step_action = next_step_output[0]
|
next_step_action = next_step_output[0]
|
||||||
tool_return = self.agent_executor._get_tool_return(next_step_action)
|
tool_return = self.agent_executor._get_tool_return(next_step_action) # noqa: SLF001
|
||||||
if tool_return is not None:
|
if tool_return is not None:
|
||||||
return self._return(tool_return, run_manager=run_manager)
|
return self._return(tool_return, run_manager=run_manager)
|
||||||
|
|
||||||
@@ -364,7 +364,7 @@ class AgentExecutorIterator:
|
|||||||
# Check for tool return
|
# Check for tool return
|
||||||
if len(next_step_output) == 1:
|
if len(next_step_output) == 1:
|
||||||
next_step_action = next_step_output[0]
|
next_step_action = next_step_output[0]
|
||||||
tool_return = self.agent_executor._get_tool_return(next_step_action)
|
tool_return = self.agent_executor._get_tool_return(next_step_action) # noqa: SLF001
|
||||||
if tool_return is not None:
|
if tool_return is not None:
|
||||||
return await self._areturn(tool_return, run_manager=run_manager)
|
return await self._areturn(tool_return, run_manager=run_manager)
|
||||||
|
|
||||||
@@ -376,7 +376,7 @@ class AgentExecutorIterator:
|
|||||||
"""
|
"""
|
||||||
logger.warning("Stopping agent prematurely due to triggering stop condition")
|
logger.warning("Stopping agent prematurely due to triggering stop condition")
|
||||||
# this manually constructs agent finish with output key
|
# this manually constructs agent finish with output key
|
||||||
output = self.agent_executor._action_agent.return_stopped_response(
|
output = self.agent_executor._action_agent.return_stopped_response( # noqa: SLF001
|
||||||
self.agent_executor.early_stopping_method,
|
self.agent_executor.early_stopping_method,
|
||||||
self.intermediate_steps,
|
self.intermediate_steps,
|
||||||
**self.inputs,
|
**self.inputs,
|
||||||
@@ -389,7 +389,7 @@ class AgentExecutorIterator:
|
|||||||
the stopped response.
|
the stopped response.
|
||||||
"""
|
"""
|
||||||
logger.warning("Stopping agent prematurely due to triggering stop condition")
|
logger.warning("Stopping agent prematurely due to triggering stop condition")
|
||||||
output = self.agent_executor._action_agent.return_stopped_response(
|
output = self.agent_executor._action_agent.return_stopped_response( # noqa: SLF001
|
||||||
self.agent_executor.early_stopping_method,
|
self.agent_executor.early_stopping_method,
|
||||||
self.intermediate_steps,
|
self.intermediate_steps,
|
||||||
**self.inputs,
|
**self.inputs,
|
||||||
@@ -404,7 +404,7 @@ class AgentExecutorIterator:
|
|||||||
"""
|
"""
|
||||||
Return the final output of the iterator.
|
Return the final output of the iterator.
|
||||||
"""
|
"""
|
||||||
returned_output = self.agent_executor._return(
|
returned_output = self.agent_executor._return( # noqa: SLF001
|
||||||
output,
|
output,
|
||||||
self.intermediate_steps,
|
self.intermediate_steps,
|
||||||
run_manager=run_manager,
|
run_manager=run_manager,
|
||||||
@@ -421,7 +421,7 @@ class AgentExecutorIterator:
|
|||||||
"""
|
"""
|
||||||
Return the final output of the async iterator.
|
Return the final output of the async iterator.
|
||||||
"""
|
"""
|
||||||
returned_output = await self.agent_executor._areturn(
|
returned_output = await self.agent_executor._areturn( # noqa: SLF001
|
||||||
output,
|
output,
|
||||||
self.intermediate_steps,
|
self.intermediate_steps,
|
||||||
run_manager=run_manager,
|
run_manager=run_manager,
|
||||||
|
@@ -90,7 +90,7 @@ def initialize_agent(
|
|||||||
)
|
)
|
||||||
with contextlib.suppress(NotImplementedError):
|
with contextlib.suppress(NotImplementedError):
|
||||||
# TODO: Add tags from the serialized object directly.
|
# TODO: Add tags from the serialized object directly.
|
||||||
tags_.append(agent_obj._agent_type)
|
tags_.append(agent_obj._agent_type) # noqa: SLF001
|
||||||
else:
|
else:
|
||||||
msg = (
|
msg = (
|
||||||
"Somehow both `agent` and `agent_path` are None, this should never happen."
|
"Somehow both `agent` and `agent_path` are None, this should never happen."
|
||||||
|
@@ -134,7 +134,7 @@ class OpenAIFunctionsAgent(BaseSingleActionAgent):
|
|||||||
messages,
|
messages,
|
||||||
callbacks=callbacks,
|
callbacks=callbacks,
|
||||||
)
|
)
|
||||||
return self.output_parser._parse_ai_message(predicted_message)
|
return self.output_parser.parse_ai_message(predicted_message)
|
||||||
|
|
||||||
async def aplan(
|
async def aplan(
|
||||||
self,
|
self,
|
||||||
@@ -167,7 +167,7 @@ class OpenAIFunctionsAgent(BaseSingleActionAgent):
|
|||||||
functions=self.functions,
|
functions=self.functions,
|
||||||
callbacks=callbacks,
|
callbacks=callbacks,
|
||||||
)
|
)
|
||||||
return self.output_parser._parse_ai_message(predicted_message)
|
return self.output_parser.parse_ai_message(predicted_message)
|
||||||
|
|
||||||
def return_stopped_response(
|
def return_stopped_response(
|
||||||
self,
|
self,
|
||||||
|
@@ -30,7 +30,7 @@ class OpenAIFunctionsAgentOutputParser(AgentOutputParser):
|
|||||||
return "openai-functions-agent"
|
return "openai-functions-agent"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_ai_message(message: BaseMessage) -> Union[AgentAction, AgentFinish]:
|
def parse_ai_message(message: BaseMessage) -> Union[AgentAction, AgentFinish]:
|
||||||
"""Parse an AI message."""
|
"""Parse an AI message."""
|
||||||
if not isinstance(message, AIMessage):
|
if not isinstance(message, AIMessage):
|
||||||
msg = f"Expected an AI message got {type(message)}"
|
msg = f"Expected an AI message got {type(message)}"
|
||||||
@@ -89,7 +89,7 @@ class OpenAIFunctionsAgentOutputParser(AgentOutputParser):
|
|||||||
msg = "This output parser only works on ChatGeneration output"
|
msg = "This output parser only works on ChatGeneration output"
|
||||||
raise ValueError(msg) # noqa: TRY004
|
raise ValueError(msg) # noqa: TRY004
|
||||||
message = result[0].message
|
message = result[0].message
|
||||||
return self._parse_ai_message(message)
|
return self.parse_ai_message(message)
|
||||||
|
|
||||||
def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
|
def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
|
||||||
msg = "Can only parse messages"
|
msg = "Can only parse messages"
|
||||||
|
@@ -239,7 +239,7 @@ class StuffDocumentsChain(BaseCombineDocumentsChain):
|
|||||||
"""
|
"""
|
||||||
inputs = self._get_inputs(docs, **kwargs)
|
inputs = self._get_inputs(docs, **kwargs)
|
||||||
prompt = self.llm_chain.prompt.format(**inputs)
|
prompt = self.llm_chain.prompt.format(**inputs)
|
||||||
return self.llm_chain._get_num_tokens(prompt)
|
return self.llm_chain._get_num_tokens(prompt) # noqa: SLF001
|
||||||
|
|
||||||
def combine_docs(
|
def combine_docs(
|
||||||
self,
|
self,
|
||||||
|
@@ -388,7 +388,7 @@ class ConversationalRetrievalChain(BaseConversationalRetrievalChain):
|
|||||||
StuffDocumentsChain,
|
StuffDocumentsChain,
|
||||||
):
|
):
|
||||||
tokens = [
|
tokens = [
|
||||||
self.combine_docs_chain.llm_chain._get_num_tokens(doc.page_content)
|
self.combine_docs_chain.llm_chain._get_num_tokens(doc.page_content) # noqa: SLF001
|
||||||
for doc in docs
|
for doc in docs
|
||||||
]
|
]
|
||||||
token_count = sum(tokens[:num_docs])
|
token_count = sum(tokens[:num_docs])
|
||||||
|
@@ -33,7 +33,7 @@ class RetrievalQAWithSourcesChain(BaseQAWithSourcesChain):
|
|||||||
StuffDocumentsChain,
|
StuffDocumentsChain,
|
||||||
):
|
):
|
||||||
tokens = [
|
tokens = [
|
||||||
self.combine_documents_chain.llm_chain._get_num_tokens(doc.page_content)
|
self.combine_documents_chain.llm_chain._get_num_tokens(doc.page_content) # noqa: SLF001
|
||||||
for doc in docs
|
for doc in docs
|
||||||
]
|
]
|
||||||
token_count = sum(tokens[:num_docs])
|
token_count = sum(tokens[:num_docs])
|
||||||
|
@@ -38,7 +38,7 @@ class VectorDBQAWithSourcesChain(BaseQAWithSourcesChain):
|
|||||||
StuffDocumentsChain,
|
StuffDocumentsChain,
|
||||||
):
|
):
|
||||||
tokens = [
|
tokens = [
|
||||||
self.combine_documents_chain.llm_chain._get_num_tokens(doc.page_content)
|
self.combine_documents_chain.llm_chain._get_num_tokens(doc.page_content) # noqa: SLF001
|
||||||
for doc in docs
|
for doc in docs
|
||||||
]
|
]
|
||||||
token_count = sum(tokens[:num_docs])
|
token_count = sum(tokens[:num_docs])
|
||||||
|
@@ -25,10 +25,10 @@ class CombiningOutputParser(BaseOutputParser[dict[str, Any]]):
|
|||||||
msg = "Must have at least two parsers"
|
msg = "Must have at least two parsers"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
for parser in parsers:
|
for parser in parsers:
|
||||||
if parser._type == "combining":
|
if parser._type == "combining": # noqa: SLF001
|
||||||
msg = "Cannot nest combining parsers"
|
msg = "Cannot nest combining parsers"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
if parser._type == "list":
|
if parser._type == "list": # noqa: SLF001
|
||||||
msg = "Cannot combine list parsers"
|
msg = "Cannot combine list parsers"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
return values
|
return values
|
||||||
|
@@ -200,7 +200,6 @@ ignore = [
|
|||||||
"PLR09", # Too many something (args, statements, etc)
|
"PLR09", # Too many something (args, statements, etc)
|
||||||
"S112", # Rarely useful
|
"S112", # Rarely useful
|
||||||
"RUF012", # Doesn't play well with Pydantic
|
"RUF012", # Doesn't play well with Pydantic
|
||||||
"SLF001", # Private member access
|
|
||||||
"UP007", # pyupgrade: non-pep604-annotation-union
|
"UP007", # pyupgrade: non-pep604-annotation-union
|
||||||
|
|
||||||
# TODO rules
|
# TODO rules
|
||||||
|
Reference in New Issue
Block a user