mirror of
https://github.com/aljazceru/dev-gpt.git
synced 2025-12-19 14:44:20 +01:00
⏪ fix: fix bring back the test description for func generation
This commit is contained in:
@@ -16,7 +16,7 @@ from urllib3.exceptions import InvalidChunkLength
|
||||
|
||||
from dev_gpt.constants import PRICING_GPT4_PROMPT, PRICING_GPT4_GENERATION, PRICING_GPT3_5_TURBO_PROMPT, \
|
||||
PRICING_GPT3_5_TURBO_GENERATION, CHARS_PER_TOKEN
|
||||
from dev_gpt.options.generate.conversation_logger import ConversationLogger
|
||||
from dev_gpt.options.generate.conversation_logger import ConversationLogger, Timer
|
||||
from dev_gpt.options.generate.parser import identity_parser
|
||||
from dev_gpt.options.generate.templates_system import template_system_message_base
|
||||
from dev_gpt.utils.string_tools import print_colored, get_template_parameters
|
||||
@@ -128,14 +128,15 @@ class _GPTConversation:
|
||||
self.conversation_logger = conversation_logger
|
||||
|
||||
def print_messages(self, messages):
|
||||
t = Timer().get_time_since_start()
|
||||
for i, message in enumerate(messages):
|
||||
if os.environ['VERBOSE'].lower() == 'true':
|
||||
if isinstance(message, SystemMessage):
|
||||
print_colored(f'({i}) system - prompt', message.content, 'magenta')
|
||||
print_colored(f'{t} - ({i}) system - prompt', message.content, 'magenta')
|
||||
elif isinstance(message, HumanMessage):
|
||||
print_colored(f'({i}) user - prompt', message.content, 'blue')
|
||||
print_colored(f'{t} - ({i}) user - prompt', message.content, 'blue')
|
||||
elif isinstance(message, AIMessage):
|
||||
print_colored(f'({i}) assistant - prompt', message.content, 'green')
|
||||
print_colored(f'{t} - ({i}) assistant - prompt', message.content, 'green')
|
||||
|
||||
def chat(self, prompt: str, role: str = 'user'):
|
||||
MassageClass = HumanMessage if role == 'user' else SystemMessage
|
||||
@@ -143,7 +144,7 @@ class _GPTConversation:
|
||||
self.messages.append(chat_message)
|
||||
self.print_messages(self.messages)
|
||||
if self.print_stream:
|
||||
print_colored('assistant', '', 'green', end='')
|
||||
print_colored(f'{Timer().get_time_since_start()} - assistant', '', 'green', end='')
|
||||
print('thinking...')
|
||||
for i in range(10):
|
||||
try:
|
||||
|
||||
@@ -7,6 +7,8 @@ import click
|
||||
from dev_gpt.apis.gpt import configure_openai_api_key
|
||||
from dev_gpt.apis.jina_cloud import jina_auth_login
|
||||
from dev_gpt.options.configure.key_handling import set_api_key
|
||||
from dev_gpt.options.generate.conversation_logger import Timer
|
||||
|
||||
|
||||
def openai_api_key_needed(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
@@ -44,6 +46,7 @@ def path_param(func):
|
||||
@click.pass_context
|
||||
@exception_interceptor
|
||||
def main(ctx):
|
||||
Timer() # start timer
|
||||
if ctx.invoked_subcommand is None:
|
||||
click.echo(ctx.get_help())
|
||||
|
||||
|
||||
@@ -25,4 +25,27 @@ class ConversationLogger:
|
||||
f.write(json.dumps(self.log_file, indent=2))
|
||||
|
||||
|
||||
import datetime
|
||||
|
||||
class Singleton(type):
|
||||
_instances = {}
|
||||
|
||||
def __call__(cls, *args, **kwargs):
|
||||
if cls not in cls._instances:
|
||||
cls._instances[cls] = super().__call__(*args, **kwargs)
|
||||
return cls._instances[cls]
|
||||
|
||||
class Timer(metaclass=Singleton):
|
||||
def __init__(self):
|
||||
if not hasattr(self, "start_time"):
|
||||
self.start_time = datetime.datetime.now()
|
||||
|
||||
def get_time_since_start(self):
|
||||
now = datetime.datetime.now()
|
||||
time_diff = now - self.start_time
|
||||
minutes, seconds = divmod(time_diff.seconds, 60)
|
||||
|
||||
if minutes > 0:
|
||||
return f"{minutes}m, {seconds}s"
|
||||
else:
|
||||
return f"{seconds}s"
|
||||
|
||||
Reference in New Issue
Block a user