ahuang11's picture
Upload 4 files
3119995
raw
history blame
2 kB
import re
import traceback
from rich import print as rprint
from rich.console import Console
from rich.markdown import Markdown
from rich.text import Text
from rich.rule import Rule
from rich.table import Table
from rich.panel import Panel
console = Console()
def print_markdown(message):
for line in message.split("\n"):
line = line.strip()
if line == "":
print("")
elif line == "---":
rprint(Rule(style="white"))
elif line.startswith("!!!"):
rprint(Text(line[3:], style="#D5D7FB"))
else:
rprint(Markdown(line))
if "\n" not in message and message.startswith(">"):
print("")
def print_exception(exc_type, exc_value, traceback_obj):
traceback_details = traceback.extract_tb(traceback_obj)
for filename, lineno, funcname, text in traceback_details:
console.print(
f"File: {filename}, Line: {lineno}, Func: {funcname}, Text: {text}"
)
console.print(f"{exc_type.__name__}: {exc_value}")
def extract_code_blocks(message):
pattern = r"```python\n(.*?)```"
matches = re.findall(pattern, message, re.DOTALL)
return "\n".join(matches)
def print_help():
table = Table(show_header=True, header_style="bold magenta")
table.add_column("Command")
table.add_column("Description")
# Add rows to the table for each command
table.add_row("-k, --k_value", "Number of chunks to return")
table.add_row(
"-l, --libraries",
"Limit your chat to a list of libraries. Usage: -l library1 library2 library3",
)
table.add_row(
"-m, --model", "Specify the model. Default: gpt-4-1106-preview (gpt-4-turbo)"
)
table.add_row(
"-c, --cite_sources", "Determines whether or not the AI model cites its sources"
)
table.add_row("-h, --help", "Help")
# Create a panel with the table
panel = Panel(table, title="Help", border_style="blue")
# Print the panel
rprint(panel)