mirror of
https://github.com/Mintplex-Labs/langchain-python.git
synced 2026-08-27 09:21:30 -04:00
995220b797
`math_utils.py` is in the root code folder. This creates the `langchain.math_utils: Math Utils` group on the API Reference navigation ToC, on the same level with `Chains` and `Agents` which is not correct. Refactoring: - created the `utils/` folder - moved `math_utils.py` to `utils/math.py` - moved `utils.py` to `utils/utils.py` - split `utils.py` into `utils.py, env.py, strings.py` - added module description @baskaryan
40 lines
854 B
Python
40 lines
854 B
Python
from typing import Any, List
|
|
|
|
|
|
def stringify_value(val: Any) -> str:
|
|
"""Stringify a value.
|
|
|
|
Args:
|
|
val: The value to stringify.
|
|
|
|
Returns:
|
|
str: The stringified value.
|
|
"""
|
|
if isinstance(val, str):
|
|
return val
|
|
elif isinstance(val, dict):
|
|
return "\n" + stringify_dict(val)
|
|
elif isinstance(val, list):
|
|
return "\n".join(stringify_value(v) for v in val)
|
|
else:
|
|
return str(val)
|
|
|
|
|
|
def stringify_dict(data: dict) -> str:
|
|
"""Stringify a dictionary.
|
|
|
|
Args:
|
|
data: The dictionary to stringify.
|
|
|
|
Returns:
|
|
str: The stringified dictionary.
|
|
"""
|
|
text = ""
|
|
for key, value in data.items():
|
|
text += key + ": " + stringify_value(value) + "\n"
|
|
return text
|
|
|
|
|
|
def comma_list(items: List[Any]) -> str:
|
|
return ", ".join(str(item) for item in items)
|