o %g@s|ddlZddlZddlZddlZddlZddlZddlmZdZdZ da ddZ Gddde Z d d Zd d Zd dZdS)N)LOGDIRzN**NETWORK ERROR DUE TO HIGH TRAFFIC. PLEASE REGENERATE OR REFRESH THIS PAGE.**zHYOUR INPUT VIOLATES OUR CONTENT MODERATION GUIDELINES. PLEASE TRY AGAIN.c Cstjddd}tjstjtjdtjd|td}|tjt|tj}|t _ td}|tj t|tj }|t _ t|}|tjt durtjtdd tjt|}tjj|d dd d a t |tjjjD]\}} t| tjr| t qx|S) Nz4%(asctime)s | %(levelname)s | %(name)s | %(message)sz%Y-%m-%d %H:%M:%S)fmtdatefmt)levelrstdoutstderrT)exist_okDzUTF-8)whenutcencoding)logging Formatter getLoggerhandlers basicConfigINFO setFormattersetLevelStreamToLoggersysrERRORrhandlerosmakedirsrpathjoinTimedRotatingFileHandlerrootmanager loggerDictitems isinstanceLogger addHandler) logger_nameZlogger_filename formatterZ stdout_loggerslZ stderr_loggerloggerfilenamenameitemr,/home/user/app/llava/utils.py build_loggers:            r.c@s6eZdZdZejfddZddZddZdd Z d S) rzR Fake file-like stream object that redirects writes to a logger instance. cCstj|_||_||_d|_dSN)rrterminalr( log_levellinebuf)selfr(r2r,r,r-__init__@s zStreamToLogger.__init__cCs t|j|SN)getattrr1)r4attrr,r,r- __getattr__Fs zStreamToLogger.__getattr__cCsT|j|}d|_|dD]}|ddkr |j|j|q |j|7_q dS)Nr0T )r3 splitlinesr(logr2rstrip)r4bufZ temp_linebufliner,r,r-writeIs  zStreamToLogger.writecCs*|jdkr|j|j|jd|_dSr/)r3r(r=r2r>r4r,r,r-flushWs  zStreamToLogger.flushN) __name__ __module__ __qualname____doc__r rr5r9rArCr,r,r,r-r<s  rcCs4ddl}t|jjdddt|jjddddS)zZ Disable the redundant torch default initialization to accelerate model creation. rNreset_parameterscSdSr6r,rBr,r,r-bz$disable_torch_init..cSrIr6r,rBr,r,r-rJcrK)torchsetattrnnLinear LayerNorm)rLr,r,r-disable_torch_init]srQc Csd}ddtjdd}|dd}dd |d d }|d }ztj|||d d }|ddd}W|StjjyN}z d}WYd}~|Sd}~wt yb}z d}WYd}~|Sd}~ww)z@ Check whether the text violates OpenAI moderation API. z%https://api.openai.com/v1/moderationszapplication/jsonzBearer ZOPENAI_API_KEY)z Content-Type Authorizationr;r0z {"input": "}zutf-8)headersdatatimeoutresultsrflaggedFN) renvironreplaceencoderequestspostjson exceptionsRequestExceptionKeyError)texturlrVrWretrZer,r,r-violates_moderationfs(   rhcCs$|durdSd|jd|dS)NNonezSemaphore(value=z , locked=))_valuelocked) semaphorer,r,r-pretty_print_semaphore{srn)datetimer logging.handlersrrr^llava.constantsrZserver_error_msgZmoderation_msgrr.objectrrQrhrnr,r,r,r-s +!