Home / Function/ _evaluate_expression() — langchain Function Reference

_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)

Subdomains

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