L i@0ddlmZddlZddlmZmZmZmZmZddl m Z m Z ddl Z ddl mZddlmZmZdd lmZmZdd lmZmZdd lmZmZmZdd lmZmZdd lm Z ddl!m"Z"ddl#m$Z$m%Z%ddlm&Z&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,ddl-m.Z.m/Z/erddl0m1Z2dZ3edee jhe jjfZ6edee$ee%efZ7Gdde*e6e7fZ8Gdde8e jhe$efe+Z9Gdde8e jje%efe,Z:ddZ;y) ) annotationsN) TYPE_CHECKINGAnyUnionMappingTypeVar)Selfoverride) _exceptions) load_auth refresh_auth)Beta AsyncBeta) NOT_GIVENNotGiven)is_dictasyncifyis_given) model_copytyped_cached_property)FinalRequestOptions) __version__)Stream AsyncStream)AnthropicErrorAPIStatusError)DEFAULT_MAX_RETRIES BaseClient SyncAPIClientAsyncAPIClient)Messages AsyncMessages) Credentialszvertex-2023-10-16 _HttpxClientT)bound_DefaultStreamTcReZdZeddZeddZe ddZy)BaseVertexClientctd)Nzregion not set) RuntimeError)selfs b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/anthropic/lib/vertex/_client.pyregionzBaseVertexClient.region&s+,,cJtjjd}|r|Sy)NANTHROPIC_VERTEX_PROJECT_ID)osenvirongetr- project_ids r.r7zBaseVertexClient.project_id*s!ZZ^^$AB  r0c*|jdk(rtj|||S|jdk(rtj|||S|jdk(rtj|||S|jdk(rtj |||S|jdk(rtj |||S|jdk(rtj|||S|jdk(rtj|||S|jd k(rtj|||S|jd k(rtj|||S|jd k\rtj|||St|||S) Ni)responsebodyiiiiiiiii) status_coder BadRequestErrorAuthenticationErrorPermissionDeniedError NotFoundError ConflictErrorUnprocessableEntityErrorRateLimitErrorServiceUnavailableErrorDeadlineExceededErrorInternalServerErrorr)r-err_msgr:r9s r._make_status_errorz#BaseVertexClient._make_status_error2sx   3 &..wPTU U   3 &227XTXY Y   3 &44WxVZ[ [   3 &,,WxdS S   3 &,,WxdS S   3 &77(Y]^ ^   3 &--gtT T   3 &66wX\] ]   3 &44WxVZ[ [   3 &227XTXY YgtDDr0Nreturnstr)rI str | None)rFrJr:objectr9zhttpx.ResponserIr)__name__ __module__ __qualname__rr/r7r rGr0r.r*r*%sh--$E$E $E ! $E  $E$Er0r*c eZdZUded<ded<eedddeeddddd dfdZedd Zedd Z dd Z eedddededdddid dd Z e Z xZ S)AnthropicVertexr#messagesrbetaNF r/r7 access_token credentialsbase_urltimeout max_retriesdefault_headers default_query http_client_strict_response_validationc t|s$tjjdt}t|s t d|/tjjd}||dk(rd}nd|d}t |t||||| | | t|r||_ ||_ ||_ ||_ t||_t||_y NCLOUD_ML_REGIONzNo region was given. The client should be instantiated with the `region` argument or the `CLOUD_ML_REGION` environment variable should be set.ANTHROPIC_VERTEX_BASE_URLglobalz$https://aiplatform.googleapis.com/v1zhttps://z-aiplatform.googleapis.com/v1)versionrXrYrZcustom_headers custom_queryr]r^)rr3r4r5r ValueErrorsuper__init__rr7r/rVrWr#rSrrT r-r/r7rVrWrXrYrZr[r\r]r^ __class__s r.rizAnthropicVertex.__init__^s ZZ^^$5yAFa   zz~~&ABHX%EH!)&1NOH #*&#(C   J (DO (&  J r0cFt||j|jSN)r7r/_prepare_optionsr7r/r-optionss r.roz AnthropicVertex._prepare_optionssDOODKKXXr0c||jjdryd|j|jd<yN AuthorizationzBearer headersr5_ensure_access_tokenr-requests r._prepare_requestz AnthropicVertex._prepare_requests6 ??   / -4T5N5N5P4Q+R(r0c|j |jS|js1t|j\|_}|js||_|jjs|jj st |j|jj s tdt|jj tsJ|jj SN)r7z0Could not resolve API token from the environment) rVrWrr7expiredtokenrr, isinstancerJr6s r.rwz$AnthropicVertex._ensure_access_tokens    ($$ $+4+P (D j??",    # #4+;+;+A+A )) *%%QR R$**00#666%%%r0 r/r7rVrWrXrYr]rZr[set_default_headersr\set_default_query _extra_kwargsc "| | td| | td|j}| i|| }n| | }|j}| i|| }n| | }|xs |j}|jdt |r|n |j t |r|n|jxst|xs |j|xs |j|xs |jt|tr |jn||t |r|n |j||d | Sz~ Create a new client instance re-using the same options given to the current client with optional overriding. zPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive) r/r7rVrWrXrYr]rZr[r\rPrg_custom_headers _custom_query_clientrkrr/r7rrVrWrXrrrYrZr-r/r7rVrWrXrYr]rZr[rr\rrrvparamss r.copyzAnthropicVertex.copy5(  &+>+Jop p  $):)Fkl l&&  &44O4G ,)G##  $00-0F  *&F!1T\\ t~~  %f-64;;%-j%9zt?[R[%:):):#7t'7'7.$.w$ADLLw#'/ '< $BRBR#     r0)r/str | NotGivenr7rrVrKrWGoogleCredentials | NonerXstr | httpx.URL | NonerY'float | httpx.Timeout | None | NotGivenrZintr[Mapping[str, str] | Noner\Mapping[str, object] | Noner]httpx.Client | Noner^boolrINonerqrrIrryz httpx.RequestrIrrH)r/rr7rrVrKrWrrXrrYrr]rrZint | NotGivenr[rrrr\rrrrMapping[str, Any]rIr rMrNrO__annotations__rrrir rorzrwr with_options __classcell__rks@r.rRrRZs J "+%.#'04+/;D.4859+/,122# 2 ! 2 . 2)29222232)2&*2 2hYYSS&*"+%.#'04+/;D+/&/488<599=+-4 4 # 4 ! 4 . 4 )4 94 )4 $4 24 64 34 74 )4 !4 pLr0rRc eZdZUded<ded<eedddeeddddd dfdZedd Zedd Z dd Z eedddededdddid dd Z e Z xZ S)AsyncAnthropicVertexr$rSrrTNFrUc t|s$tjjdt}t|s t d|/tjjd}||dk(rd}nd|d}t |t||||| | | t|r||_ ||_ ||_ ||_ t||_t||_yr`)rr3r4r5rrgrhrirr7r/rVrWr$rSrrTrjs r.rizAsyncAnthropicVertex.__init__s ZZ^^$5yAFa   zz~~&ABHX%EH!)&1NOH #*&#(C   J (DO (&%d+ dO r0cNKt||j|jSwrmrnrps r.roz%AsyncAnthropicVertex._prepare_options#sDOODKKXXs#%cK|jjdryd|jd{|jd<y7wrsrurxs r.rzz%AsyncAnthropicVertex._prepare_request's@ ??   / -44;T;T;V5V4W+X(5Vs1A AA c@K|j |jS|jsCtt|jd{\|_}|js||_|jj s|jj s'tt|jd{|jj s tdt|jj tsJ|jj S77cwr|) rVrWrrr7r}r~rr,rrJr6s r.rwz)AsyncAnthropicVertex._ensure_access_token/s    ($$ $1D)1DPTP_P_1`+` (D j??",    # #4+;+;+A+A((<()9)9: : :%%QR R$**00#666%%%,a ;s&AD D A-D8D9A"DDrc "| | td| | td|j}| i|| }n| | }|j}| i|| }n| | }|xs |j}|jdt |r|n |j t |r|n|jxst|xs |j|xs |j|xs |jt|tr |jn||t |r|n |j||d | Srrrs r.rzAsyncAnthropicVertex.copyArr0)r/rr7rrVrKrWrrXrrYrrZrr[rr\rr]httpx.AsyncClient | Noner^rrIrrrrH)r/rr7rrVrKrWrrXrrYrr]rrZrr[rrrr\rrrrrrIr rrs@r.rrs O "+%.#'04+/;D.485904,12$2$# 2$ ! 2$ . 2$)2$92$2$22$32$.2$&*2$ 2$hYYYY&*"+%.#'04+/;D04&/488<599=+-4 4 # 4 ! 4 . 4 )4 94 .4 $4 24 64 34 74 )4 !4 pLr0rczt|d}t|jr |jjdt|j dvr|j dk(r}| tdt|js td|jjd}|jjd d }|rd nd }d |d|d|d||_|j dvr*|j dk(r| tdd |d|d|_|j jdr td|S)NT)deepanthropic_version> /v1/messages/v1/messages?beta=truepostzNo project_id was given and it could not be resolved from credentials. The client should be instantiated with the `project_id` argument or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.z;Expected json data to be a dictionary for post /v1/messagesmodelstreamFstreamRawPredict rawPredictz /projects/z /locations/z/publishers/anthropic/models/:>/v1/messages/count_tokens#/v1/messages/count_tokens?beta=truez4/publishers/anthropic/models/count-tokens:rawPredictz/v1/messages/batchesz7The Batch API is not supported in the Vertex client yet) rr json_data setdefaultDEFAULT_VERSIONurlmethodr,popr5 startswithr) input_optionsr7r/rqrr specifiers r.roro|sQT2Gw  !$$%8/J{{@@W^^W]E]  c w(()\] ]!!%%g.""&&x7*0&l ":,k&A^_d^eefgpfqr {{ZZ_f_m_mqw_w  c #:,k&Auv {{45VWW Nr0)rrr7rKr/rJrIr)< __future__rr3typingrrrrrtyping_extensionsr r httpxr _authrr_betarr_typesrr_utilsrrr_compatrr_modelsr_versionr _streamingrrrr _base_clientrr r!r"resources.messagesr#r$google.auth.credentialsr%GoogleCredentialsrClient AsyncClientr&r(r*rRrrorPr0r.rs" >>, *")118*#-9 :H&uU\\5CTCT5T/UV +5kRUFV9V3WX2Ez-"@A2EjN&u||VC['@A=NbN+E,=,={3?O,OPR`Nb r0