_evaluate_expression() — langchain Function Reference
Architecture documentation for the _evaluate_expression() function in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 9f5d2acc_7bd4_b52e_b0a0_63401395b8e4["_evaluate_expression()"] 781ec1fc_a277_bc9a_9bc4_a35f09bdb247["LLMMathChain"] 9f5d2acc_7bd4_b52e_b0a0_63401395b8e4 -->|defined in| 781ec1fc_a277_bc9a_9bc4_a35f09bdb247 e6ecd33c_18e0_06b4_0790_97d70ddc6b59["_process_llm_result()"] e6ecd33c_18e0_06b4_0790_97d70ddc6b59 -->|calls| 9f5d2acc_7bd4_b52e_b0a0_63401395b8e4 799fbded_d007_f93f_f09a_d6af8fab59c4["_aprocess_llm_result()"] 799fbded_d007_f93f_f09a_d6af8fab59c4 -->|calls| 9f5d2acc_7bd4_b52e_b0a0_63401395b8e4 style 9f5d2acc_7bd4_b52e_b0a0_63401395b8e4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain/langchain_classic/chains/llm_math/base.py lines 200–220
def _evaluate_expression(self, expression: str) -> str:
import numexpr
try:
local_dict = {"pi": math.pi, "e": math.e}
output = str(
numexpr.evaluate(
expression.strip(),
global_dict={}, # restrict access to globals
local_dict=local_dict, # add common mathematical functions
),
)
except Exception as e:
msg = (
f'LLMMathChain._evaluate("{expression}") raised error: {e}.'
" Please try again with a valid numerical expression"
)
raise ValueError(msg) from e
# Remove any leading and trailing brackets from the output
return re.sub(r"^\[|\]$", "", output)
Domain
Subdomains
Source
Frequently Asked Questions
What does _evaluate_expression() do?
_evaluate_expression() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/chains/llm_math/base.py.
Where is _evaluate_expression() defined?
_evaluate_expression() is defined in libs/langchain/langchain_classic/chains/llm_math/base.py at line 200.
What calls _evaluate_expression()?
_evaluate_expression() is called by 2 function(s): _aprocess_llm_result, _process_llm_result.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free