diff --git a/src/chatdbg/__main__.py b/src/chatdbg/__main__.py index 9a5777b..b070763 100644 --- a/src/chatdbg/__main__.py +++ b/src/chatdbg/__main__.py @@ -1,6 +1,7 @@ from .chatdbg_pdb import * import ipdb + def main(): - ipdb.__main__._get_debugger_cls = lambda : ChatDBG + ipdb.__main__._get_debugger_cls = lambda: ChatDBG ipdb.__main__.main() diff --git a/src/chatdbg/assistant/assistant.py b/src/chatdbg/assistant/assistant.py index ca6949e..3bfe65d 100644 --- a/src/chatdbg/assistant/assistant.py +++ b/src/chatdbg/assistant/assistant.py @@ -37,13 +37,16 @@ def __init__( try: self.client = OpenAI(timeout=timeout) except OpenAIError: - print(textwrap.dedent("""\ + print( + textwrap.dedent( + """\ You need an OpenAI key to use this tool. You can get a key here: https://platform.openai.com/api-keys Set the environment variable OPENAI_API_KEY to your key value. - """)) + """ + ) + ) sys.exit(-1) - self.assistants = self.client.beta.assistants self.threads = self.client.beta.threads @@ -146,11 +149,11 @@ def run(self, prompt, client_print=print): try: if self.assistant == None: return { - 'tokens' : run.usage.total_tokens, - 'prompt_tokens' : run.usage.prompt_tokens, - 'completion_tokens' : run.usage.completion_tokens, - 'model' : self.assistant.model, - 'cost' : cost, + "tokens": run.usage.total_tokens, + "prompt_tokens": run.usage.prompt_tokens, + "completion_tokens": run.usage.completion_tokens, + "model": self.assistant.model, + "cost": cost, } assert len(prompt) <= 32768 @@ -224,15 +227,15 @@ def run(self, prompt, client_print=print): client_print(f"[Cost: ~${cost:.2f} USD]") return { - 'tokens' : run.usage.total_tokens, - 'prompt_tokens' : run.usage.prompt_tokens, - 'completion_tokens' : run.usage.completion_tokens, - 'model' : self.assistant.model, - 'cost' : cost, - 'time' : elapsed_time, - 'thread.id' : self.thread.id, - 'run.id': run.id, - 'assistant.id' : self.assistant.id + "tokens": run.usage.total_tokens, + "prompt_tokens": run.usage.prompt_tokens, + "completion_tokens": run.usage.completion_tokens, + "model": self.assistant.model, + "cost": cost, + "time": elapsed_time, + "thread.id": self.thread.id, + "run.id": run.id, + "assistant.id": self.assistant.id, } except OpenAIError as e: client_print(f"*** OpenAI Error: {e}") diff --git a/src/chatdbg/chatdbg_pdb.py b/src/chatdbg/chatdbg_pdb.py index eba4a55..cae7bfe 100644 --- a/src/chatdbg/chatdbg_pdb.py +++ b/src/chatdbg/chatdbg_pdb.py @@ -86,7 +86,7 @@ def __init__(self, *args, **kwargs): self._assistant = None self._history = [] self._error_specific_prompt = "" - + global chatdbg_config if chatdbg_config == None: chatdbg_config = Chat() @@ -152,7 +152,9 @@ def interaction(self, frame, tb_or_exc): exception = None if exception != None: - details = "".join(traceback.format_exception_only(type(exception), exception)).rstrip() + details = "".join( + traceback.format_exception_only(type(exception), exception) + ).rstrip() self._error_specific_prompt = ( f"The program encountered the following error:\n```\n{details}\n```\n" ) @@ -587,8 +589,6 @@ def do_mark(self, arg): else: self._log.add_mark(arg) - - def do_config(self, arg): args = arg.split() if len(args) == 0: diff --git a/src/chatdbg/ipdb_util/capture.py b/src/chatdbg/ipdb_util/capture.py index 02107c2..21c75ba 100644 --- a/src/chatdbg/ipdb_util/capture.py +++ b/src/chatdbg/ipdb_util/capture.py @@ -1,8 +1,9 @@ from io import StringIO, TextIOWrapper + class CaptureInput: def __init__(self, input_stream): - input_stream = TextIOWrapper(input_stream.buffer, encoding='utf-8', newline='') + input_stream = TextIOWrapper(input_stream.buffer, encoding="utf-8", newline="") self.original_input = input_stream self.capture_buffer = StringIO()