mirror of https://github.com/hwchase17/langchain
Refactored `input` (#8202)
Refactored `input.py`. The same as https://github.com/langchain-ai/langchain/pull/7961 #8098 #8099 input.py is in the root code folder. This creates the `langchain.input: Input` group on the API Reference navigation ToC, on the same level as Chains and Agents which is incorrect. Refactoring: - copied input.py file into utils/input.py - I added the backwards compatibility ref in the original input.py. - changed several imports to a new ref @hwchase17, @baskaryanpull/8107/head^2
parent
72eb4fa4e8
commit
7cbe28ba9b
@ -1,42 +1,14 @@
|
|||||||
"""Handle chained inputs."""
|
"""DEPRECATED: Kept for backwards compatibility."""
|
||||||
from typing import Dict, List, Optional, TextIO
|
from langchain.utils.input import (
|
||||||
|
get_bolded_text,
|
||||||
_TEXT_COLOR_MAPPING = {
|
get_color_mapping,
|
||||||
"blue": "36;1",
|
get_colored_text,
|
||||||
"yellow": "33;1",
|
print_text,
|
||||||
"pink": "38;5;200",
|
)
|
||||||
"green": "32;1",
|
|
||||||
"red": "31;1",
|
__all__ = [
|
||||||
}
|
"get_bolded_text",
|
||||||
|
"get_color_mapping",
|
||||||
|
"get_colored_text",
|
||||||
def get_color_mapping(
|
"print_text",
|
||||||
items: List[str], excluded_colors: Optional[List] = None
|
]
|
||||||
) -> Dict[str, str]:
|
|
||||||
"""Get mapping for items to a support color."""
|
|
||||||
colors = list(_TEXT_COLOR_MAPPING.keys())
|
|
||||||
if excluded_colors is not None:
|
|
||||||
colors = [c for c in colors if c not in excluded_colors]
|
|
||||||
color_mapping = {item: colors[i % len(colors)] for i, item in enumerate(items)}
|
|
||||||
return color_mapping
|
|
||||||
|
|
||||||
|
|
||||||
def get_colored_text(text: str, color: str) -> str:
|
|
||||||
"""Get colored text."""
|
|
||||||
color_str = _TEXT_COLOR_MAPPING[color]
|
|
||||||
return f"\u001b[{color_str}m\033[1;3m{text}\u001b[0m"
|
|
||||||
|
|
||||||
|
|
||||||
def get_bolded_text(text: str) -> str:
|
|
||||||
"""Get bolded text."""
|
|
||||||
return f"\033[1m{text}\033[0m"
|
|
||||||
|
|
||||||
|
|
||||||
def print_text(
|
|
||||||
text: str, color: Optional[str] = None, end: str = "", file: Optional[TextIO] = None
|
|
||||||
) -> None:
|
|
||||||
"""Print text with highlighting and no end characters."""
|
|
||||||
text_to_print = get_colored_text(text, color) if color else text
|
|
||||||
print(text_to_print, end=end, file=file)
|
|
||||||
if file:
|
|
||||||
file.flush() # ensure all printed content are written to file
|
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
"""Handle chained inputs."""
|
||||||
|
from typing import Dict, List, Optional, TextIO
|
||||||
|
|
||||||
|
_TEXT_COLOR_MAPPING = {
|
||||||
|
"blue": "36;1",
|
||||||
|
"yellow": "33;1",
|
||||||
|
"pink": "38;5;200",
|
||||||
|
"green": "32;1",
|
||||||
|
"red": "31;1",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def get_color_mapping(
|
||||||
|
items: List[str], excluded_colors: Optional[List] = None
|
||||||
|
) -> Dict[str, str]:
|
||||||
|
"""Get mapping for items to a support color."""
|
||||||
|
colors = list(_TEXT_COLOR_MAPPING.keys())
|
||||||
|
if excluded_colors is not None:
|
||||||
|
colors = [c for c in colors if c not in excluded_colors]
|
||||||
|
color_mapping = {item: colors[i % len(colors)] for i, item in enumerate(items)}
|
||||||
|
return color_mapping
|
||||||
|
|
||||||
|
|
||||||
|
def get_colored_text(text: str, color: str) -> str:
|
||||||
|
"""Get colored text."""
|
||||||
|
color_str = _TEXT_COLOR_MAPPING[color]
|
||||||
|
return f"\u001b[{color_str}m\033[1;3m{text}\u001b[0m"
|
||||||
|
|
||||||
|
|
||||||
|
def get_bolded_text(text: str) -> str:
|
||||||
|
"""Get bolded text."""
|
||||||
|
return f"\033[1m{text}\033[0m"
|
||||||
|
|
||||||
|
|
||||||
|
def print_text(
|
||||||
|
text: str, color: Optional[str] = None, end: str = "", file: Optional[TextIO] = None
|
||||||
|
) -> None:
|
||||||
|
"""Print text with highlighting and no end characters."""
|
||||||
|
text_to_print = get_colored_text(text, color) if color else text
|
||||||
|
print(text_to_print, end=end, file=file)
|
||||||
|
if file:
|
||||||
|
file.flush() # ensure all printed content are written to file
|
Loading…
Reference in New Issue