mirror of
https://github.com/aljazceru/dev-gpt.git
synced 2025-12-19 22:54:21 +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, \
|
from dev_gpt.constants import PRICING_GPT4_PROMPT, PRICING_GPT4_GENERATION, PRICING_GPT3_5_TURBO_PROMPT, \
|
||||||
PRICING_GPT3_5_TURBO_GENERATION, CHARS_PER_TOKEN
|
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.parser import identity_parser
|
||||||
from dev_gpt.options.generate.templates_system import template_system_message_base
|
from dev_gpt.options.generate.templates_system import template_system_message_base
|
||||||
from dev_gpt.utils.string_tools import print_colored, get_template_parameters
|
from dev_gpt.utils.string_tools import print_colored, get_template_parameters
|
||||||
@@ -128,14 +128,15 @@ class _GPTConversation:
|
|||||||
self.conversation_logger = conversation_logger
|
self.conversation_logger = conversation_logger
|
||||||
|
|
||||||
def print_messages(self, messages):
|
def print_messages(self, messages):
|
||||||
|
t = Timer().get_time_since_start()
|
||||||
for i, message in enumerate(messages):
|
for i, message in enumerate(messages):
|
||||||
if os.environ['VERBOSE'].lower() == 'true':
|
if os.environ['VERBOSE'].lower() == 'true':
|
||||||
if isinstance(message, SystemMessage):
|
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):
|
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):
|
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'):
|
def chat(self, prompt: str, role: str = 'user'):
|
||||||
MassageClass = HumanMessage if role == 'user' else SystemMessage
|
MassageClass = HumanMessage if role == 'user' else SystemMessage
|
||||||
@@ -143,7 +144,7 @@ class _GPTConversation:
|
|||||||
self.messages.append(chat_message)
|
self.messages.append(chat_message)
|
||||||
self.print_messages(self.messages)
|
self.print_messages(self.messages)
|
||||||
if self.print_stream:
|
if self.print_stream:
|
||||||
print_colored('assistant', '', 'green', end='')
|
print_colored(f'{Timer().get_time_since_start()} - assistant', '', 'green', end='')
|
||||||
print('thinking...')
|
print('thinking...')
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import click
|
|||||||
from dev_gpt.apis.gpt import configure_openai_api_key
|
from dev_gpt.apis.gpt import configure_openai_api_key
|
||||||
from dev_gpt.apis.jina_cloud import jina_auth_login
|
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.configure.key_handling import set_api_key
|
||||||
|
from dev_gpt.options.generate.conversation_logger import Timer
|
||||||
|
|
||||||
|
|
||||||
def openai_api_key_needed(func):
|
def openai_api_key_needed(func):
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
@@ -44,6 +46,7 @@ def path_param(func):
|
|||||||
@click.pass_context
|
@click.pass_context
|
||||||
@exception_interceptor
|
@exception_interceptor
|
||||||
def main(ctx):
|
def main(ctx):
|
||||||
|
Timer() # start timer
|
||||||
if ctx.invoked_subcommand is None:
|
if ctx.invoked_subcommand is None:
|
||||||
click.echo(ctx.get_help())
|
click.echo(ctx.get_help())
|
||||||
|
|
||||||
|
|||||||
@@ -25,4 +25,27 @@ class ConversationLogger:
|
|||||||
f.write(json.dumps(self.log_file, indent=2))
|
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