From e97ca9d160a04473e2cdc761e270a4f9d480cc77 Mon Sep 17 00:00:00 2001 From: whylabs Date: Wed, 29 Nov 2023 03:34:44 +0000 Subject: [PATCH] Update from https://github.com/whylabs-ai/whylogs-container-python/commit/4ace755caf88358782718a6a9a32eb6a79b29892 --- .doctrees/environment.pickle | Bin 930578 -> 1010115 bytes .doctrees/whylogs_container.util.doctree | Bin 35966 -> 15427 bytes .../whylogs_container.whylabs.actor.doctree | Bin 82498 -> 73442 bytes ...hylogs_container.whylabs.container.doctree | Bin 237834 -> 256737 bytes ...s_container.whylabs.llm_validation.doctree | Bin 218396 -> 281708 bytes _sources/whylogs_container.util.rst.txt | 16 -- ...hylogs_container.whylabs.container.rst.txt | 8 + genindex.html | 199 ++++++++++++------ modules.html | 2 - objects.inv | Bin 2297 -> 2380 bytes py-modindex.html | 18 +- searchindex.js | 2 +- whylogs_container.html | 15 +- whylogs_container.util.html | 60 ------ whylogs_container.whylabs.actor.html | 6 +- whylogs_container.whylabs.container.html | 54 +++++ whylogs_container.whylabs.html | 38 +++- whylogs_container.whylabs.llm_validation.html | 130 +++++++++++- 18 files changed, 369 insertions(+), 179 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index f730308bdf9056b094f55b4b775648f767814439..adf30fba73f34c30daf6cc29d7be154f60778d9f 100644 GIT binary patch literal 1010115 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 Z(Fng(U{|3+$3m+pSed#_2NY=bL$ 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 U_tBpEq%564@eXTnd$Ice0ml?ytpET3 literal 218396 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

Index

-
+
A | B | C | D | E | F | G | H | I | K | L | M | O | P | R | S | T | U | V | W | Y

A

- + - +
-
  • whylogs_container.whylabs.container.config_test
  • +
    +
  • + whylogs_container.whylabs.container.container_config + +
  • @@ -1013,6 +1078,16 @@

    W

+
+

Y

+ + +
+
+ diff --git a/modules.html b/modules.html index f3f5eae..b1f0b05 100644 --- a/modules.html +++ b/modules.html @@ -195,8 +195,6 @@

whylogs_containerSubpackages
  • whylogs_container.util package
    • Submodules
    • -
    • whylogs_container.util.list_util module
    • -
    • whylogs_container.util.list_util_test module
    • whylogs_container.util.signal_util module
    • whylogs_container.util.string_util module
    • whylogs_container.util.string_util_test module
    • diff --git a/objects.inv b/objects.inv index 449974b3653d10f1c6a8c0a7cf37bd36e27ed6f2..c7e2f3fa66cb3259f673f8e499a2ac25333743a3 100644 GIT binary patch delta 2269 zcmV<32qO3S5zG>hhku>TcB42J$M^LVo-@6T&eXPcByqZY+KD~3Q`OZQ9T{X>9f4?l zB=M}~HRko^Nm_gvNQ{juaK$Fa0m1*LE9vS=Nbs`TbFo#}7m+3`qH+}Pzl0(%oR0oA zdU<;m?R3chnVrA-WpwrFeF~!)KXa2LNy|GS#kLXQxWBt1Wq(vmqkslDJE{_$jfs5C zL^S$*Qt6b0mMq$K4qo0B(a0A8#o3|msj;R?_k*6^8YO>lz&0ByX{7Ovs2%Mo8=01n z0hKrqR9U%@Xq{E}56LA*$XcDTQ=Y1Ysfv`u*Fv_uYnt}bdn0>tOCcoCO>ugf{(qOA z+$YLDCrTZ)`+pJP4=W;HQlcrYJw=OW{+c7J_qIBc})D-gACT7{%E^ye8V; zxii3lLs-vC7!K`kvZW4zq=|Y}x2K<}wC;{*qNv6`39S33XWdUXs>RInqZzbfZJRZ$ODz4 zNvEQ1ybfIa6#ywXbmd!QwGG(l6;)L2@7!b@*^ZNPhx(d^F_lCc>9F{V^tji)xb1Yz zyYv@?IDh34V)PD72zj~M`9}0c>|zx}VuqjS9v?Dz-bMeUrv0^HTM#2=QssDNX@mQa zs9sIlpovte-L3_6tp7|nvklP>F)%Pn5(yVBK*R}wYCYolxH9J(?VW_Np`;!1tE3$S?l8(~8C&zb2pK?D#dkOX-4Mf%PH#JB z%72G+`B-2`NJ4H&#Qu}UaD(6~#!JsPE8#L>dsI)=3Tei$I;eq*w z4PhKBO{6w4eqq*Q8eNHTopB|7N^P#i8A(x@T)3%m^!$y;2NF^R*2z~i(ar2(whJ_^;X_;yuvr$?fBtlJQ%Lo;#WKwj+q|k z)0uZWI4k8?lZVxK@y(mM**K|sG{F_lPO-Vyv6Eqj=xVE6??h)p+R)Xf_`|coXc+Cx7_2 z@ekJ+))9ISlRv!GWcJ{UrSLaUHpw4;E08IHLJUpCb{wv05U^;wC|5!B7A~9;E|$Vf z0x)AA#h}Fj<(4B^4`So%Fb2iAx5FS7a|%`s3PA)l19?v{ zchI0}YYkw^x+aOrMSTu3eBrX5Zhy6ZYH7(w5$0ySH0z62lXfbJ4%t+WG7aoW>)QDm zA4um`2Z+s@Gqqb?w3M?O1W+ealSGxZ{tj}ClvyiZvKVB}U5cV{^&h3DQfNmB&(=Ei zxlSP$v+3ZJa6s24S&p$0fTH#I9$Xavsj_Mcqzo))J)mum;DYd_nm_Qf0e{x(9!N6p zT@uX=;}j~VYG-sHUV5)Z`NJd--ZXZSZO*crXB>Z0Xw&Kt!>r)G^g* zi~3Nd|$IR@q`A8wSHhfTU0atSf~q%3P|E>EZhd3_#>_ z8los6Dy4uNJ)EJsc+$IXpr3fW*&Win@GT3|cI`k<;+JnD>JH@F;TY)1p-~@p1ksEE zK9V?x;vjrIf#hIh(SJ+>J;G=vaW>LuMshmhID+M>qkd12?gya(2A|0~#l%#Wav(TA z@t&(*d7MTJM|cjSRveL#4hPCOW^oZy)zuw6P-voY^+2JC$K3;kCZZv@;S2=&fkG2V z64zk8kB7kG?%_rrQ>C+otzSje)nr3mJbmj%IVY8!gqv_V0)JDPH8sHoo~V3RIb@+^ zs_4$fZ~0nTfPSV>T~KAX1{Pf!KY3j+uxjZ8#>Gq)ef4SFf5j>$!GUX5AzMzuvnV!z z&j2d3%gH<6m7Dw@q{&R6 zK(-HZQ#4i>U4IirS4D90tvG&N#tZ;nvn@{k;IsDNwZ;2;y5yTAUTtQy{p;RXCtxyD zIWW+IZt1Ig(;USZmQm0}?+NK2r`D|Cp_VjC=BT0pw5vuGXBB8gU-eRx0obOA#GPsE zz>TT_80IL4JF|#a<}&l;R%c(XgG708kHJ8HlGC`bAml$;Ih>BMiR delta 2186 zcmV;52zB?&68RC3hksqocH%e|-q%ymXJ#9n>22?vgmiJ51R6-yRBv>IeF1f3%cGwp z^r~NDUT>acB>!MLAz-R($r}zxLf@yWtE(&N%6{4H8Q)4A@8%^8BlRj;=nvFQFA>XDYEpTGoUZl?wM&C)$F-jDJ1>rV3(dAvQV*73In3 z=aV3r6&EdQ z&B|U{H!_)9Z~=jC%IsyL@kvBfY7dPpxS7BNU26sI z2v}cIOEZa@0ce zQxHUH;j#P6^0?Qzxb1fAyYd&fI8_SKYUd0H1qIsqLG%XfViZJDil1PQ4-GtTqQ4W< zeB02i6CvhM)p}-Wocox_UPbx=CXy9)yAjYa{(m!J)C@$k#K4ZJSWmb#0X($~Wa|~r zk0Ub{<67I@5}*lHZlKz1L3TN)>O0s;1g~}vktW8~Q=GG>{#y;nGZj3E3-_w`R@d;V zv2}AWWxbh`6S&Ag+ARyK;gCcrr-|yA1hyU2@mKuM>JlW0(i^@f@;OCZb? z?3Y_^nef2u!-i0Xr6NM<6u(eoF}1>#hwP1)ol_bsD{o9nW%6OB#>w*+A|6N#(%B?m z!$dc;hgC3n7%%WVST4WL7Pr2dk8a0z!GGg)g};9OHVv+q_%>Jt%kc`|1h?adoAF?H z%@)7n$#BH)G@ag8BJ#%KKKM6YjDLR|FIV_FSlxWa%gG<(VbFQJyEDpj{cSZ~dVeD{ zn~xuY2@d8H{M-1OZyLrB1`m@zg4Ja9;EhXZZ(PZwIO>v4wggHrH09fIyoM;E$#zkl zdG_WmoB}Qnz9*40VIQRdWrFm}!=C;c|2j^c(zrLvAeu68rUoUT$!0oEq?guay5|(x z^=R`u$V&9Mrd`g#Jq)PE$)cOSZht_cDul;FgD*V9?-u*J4w8SA!d$PHdVNvsSf`Na z&`jy6(T*)?6T3LkcWK<31X8_bRPI(61#Wdi!KsmHK%!b?uZI>Rsn;?TGJw1a12F&Oz~?GFMYa$d2KR1%EW-(K(>| zUM&v%jDz*McLZ6?E*5h`8Mtbx+-Vi@m)^CgI81V4TMI0-p|4nR5$>?s2_RO195pkG zu*t4bIKiGm>ndOs^LCy#4){ zV{|&?A+rE>Q;vweb51D{5`XZX#LNt}LnOUZ3PnoJ!ZkX!0w@N#bImNlQ5Mi(i{!J1 zje5H@qOfCmRFrB_jzy6{P|H-dT+h0p5rZNnqC;INVNo8sphcE^Un6sVP1#x7kCP~S z2!!Al#C7z|>f*I;--Nznm$N%c^U}5~blW3@p1^IgprQ03g)fJ+OMk*_`@=_<1pf6% zBjt>S`vFnG&tS~`CA&s_QYzJV5Nw2IFo?lZTt699SN+KKus&${nyBA1$ihM)!nySw zhEx!hdC7s$`Hsu&z4GzuF&yD@SheDW#4sFE+A|j)K2;OFS|#NN5`JZYXc96V0oG{> zVgP&?e*uwgB+4CU(SHCK4Z#fOM0ojV8qY+mUvqdCpJy(a-g?oO!l%l13tQhm?`pH5 z37%bbt@fnyOm`bDN66H6O?9+!&!~Dpq03ImQPG|8--?hK2lGscx&Wz}atylEp?yY} zW7Nt9jLV%Ycnu-#U$M$faL1Ze!d9E`G)c9?Gl1IevVG8_^ncU-13cO=vc<(Zsd-rD zTpll6JZ+5I;!h+c0~C`dC~wi$9>3*HBp->%DIqfl`RN)1jIN1%A4cs-+?Wkj+O-{E5b_nm`UfFh_a#6AOQ(AyxYU2<8JO-bCYH zB)y1Y3rY5zsgYFCFQz20(bdnRGBqnVn%J+Os$vljZJ}C;ufRec!$|Rx!qtJoRk}Cq zlK=hvUpX@W)Ye31B!2p2T)-pX>HezB$ZNmP9n73Y?teDQI*}qNFZ@mfpKA4;0h(t_ zn|Kn42zSjt=4ttVmU;f1Y~g*c)>$5Zlg<0&QA)z6qqXHPwmDhl;avfvk6w%OVddp( z1Wwjpe~ZBA#H$F-p%gC{XoXchvT}6xWd&z(TXxOy_|j3U$7P=7@Fotm6_F$3cho-8 MwV?EW>I39jK7_74Python Module Index

whylogs_container.util - - -     - whylogs_container.util.list_util - - - - -     - whylogs_container.util.list_util_test - -     @@ -287,6 +275,12 @@

Python Module Index

whylogs_container.whylabs.container.config_test + + +     + whylogs_container.whylabs.container.container_config + +     diff --git a/searchindex.js b/searchindex.js index 8295246..cb30cd7 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "modules", "whylogs_container", "whylogs_container.util", "whylogs_container.whylabs", "whylogs_container.whylabs.actor", "whylogs_container.whylabs.container", "whylogs_container.whylabs.llm_validation"], "filenames": ["index.rst", "modules.rst", "whylogs_container.rst", "whylogs_container.util.rst", "whylogs_container.whylabs.rst", "whylogs_container.whylabs.actor.rst", "whylogs_container.whylabs.container.rst", "whylogs_container.whylabs.llm_validation.rst"], "titles": ["Welcome to whylogs-container-python\u2019s documentation!", "whylogs_container", "whylogs_container package", "whylogs_container.util package", "whylogs_container.whylabs package", "whylogs_container.whylabs.actor package", "whylogs_container.whylabs.container package", "whylogs_container.whylabs.llm_validation package"], "terms": {"index": 0, "modul": [0, 1], "search": 0, "page": [0, 6], "packag": 1, "subpackag": 1, "util": [1, 2], "submodul": [1, 2, 4], "list_util": [1, 2], "list_util_test": [1, 2], "signal_util": [1, 2], "string_util": [1, 2], "string_util_test": [1, 2], "content": 1, "whylab": [1, 2], "get_like_item": [2, 3], "type_batched_item": [2, 3], "test_get_like_items_empti": [2, 3], "test_get_like_items_hp": [2, 3], "test_get_like_items_single_item": [2, 3], "test_get_like_items_single_typ": [2, 3], "test_get_like_items_until_empti": [2, 3], "test_it": [2, 3], "suspended_sign": [2, 3], "encode_str": [2, 3], "test_different_hash": [2, 3], "test_order_doesnt_matt": [2, 3], "actor": [2, 4], "logger": [2, 4, 6], "openai_messag": [2, 4, 7], "contain": [2, 4, 7], "auth": [2, 4], "config": [2, 4, 5], "config_test": [2, 4], "environ": [2, 4], "request": [2, 4, 5, 7], "rout": [2, 4], "startup": [2, 4], "llm_valid": [2, 4], "config_pars": [2, 4], "metadata": [2, 4], "schema_build": [2, 4], "signal": [2, 3, 4], "valid": [2, 4], "validation_util": [2, 4], "validation_workflow": [2, 4], "item": 3, "list": [3, 5, 6, 7], "ani": [3, 6, 7], "tupl": 3, "type": [3, 5, 6], "gener": [3, 7], "none": [3, 5, 6, 7], "suspend": 3, "handl": [3, 6], "execut": 3, "col_nam": 3, "str": [3, 5, 6, 7], "int": [3, 5, 6, 7], "encod": 3, "string": 3, "number": [3, 6], "hash": 3, "each": [3, 6], "one": 3, "ad": 3, "them": 3, "togeth": 3, "thi": [3, 6, 7], "i": [3, 6, 7], "us": [3, 6, 7], "group": 3, "kei": [3, 6], "base": [3, 5, 6, 7], "don": [3, 6], "t": [3, 6, 7], "care": 3, "about": 3, "order": 3, "have": [3, 6], "reason": 3, "low": 3, "collis": 3, "rate": 3, "without": 3, "sort": 3, "everyth": 3, "containerloggerfactori": [4, 5], "create_logg": [4, 5], "containerprocessrollinglogg": [4, 5, 6], "process_batch": [4, 5], "process_openai_messag": [4, 5], "run": [4, 5], "convert_dataset_cad": [4, 5], "convert_schedul": [4, 5], "openaimessag": [4, 5, 7], "dataset_id": [4, 5, 6], "get_user_prompt": [4, 5], "prompt_id": [4, 5, 6, 7], "request_tim": [4, 5], "respons": [4, 5, 6, 7], "to_log_request_dict": [4, 5], "to_openai_dict": [4, 5], "openaipromptdict": [4, 5], "role": [4, 5, 6], "openairequestdict": [4, 5, 7], "messag": [4, 5, 6, 7], "model": [4, 5, 6, 7], "temperatur": [4, 5, 6], "whylabs_dataset_id": [4, 5, 6, 7], "api_key_auth": [4, 6], "containerschema": [4, 6], "schema": [4, 5, 6, 7], "validation_schema": [4, 6], "get_dataset_opt": [4, 6], "get_llm_validation_opt": [4, 6], "init": [4, 6], "test_indexing_into_toolkit": [4, 6], "containerconfig": [4, 5, 6], "assert_llm_endpoint": [4, 6], "auth_dis": [4, 6], "container_password": [4, 6], "default_dataset_cad": [4, 6], "default_openai_api_kei": [4, 6], "default_openai_organ": [4, 6], "default_whylabs_org_id": [4, 6], "default_whylabs_upload_cad": [4, 6], "default_whylabs_upload_interv": [4, 6], "disable_container_password": [4, 6], "fail_startup_without_config": [4, 6], "llm_contain": [4, 6], "whylabs_api_kei": [4, 6], "envvarnam": [4, 6], "default_whylabs_dataset_cad": [4, 6], "max_request_batch_s": [4, 6], "max_request_buffer_byt": [4, 6], "openai_api_kei": [4, 6], "openai_organ": [4, 6], "logembeddingrequest": [4, 6], "datasetid": [4, 6], "embed": [4, 6], "timestamp": [4, 6, 7], "logmultipl": [4, 6], "column": [4, 6], "data": [4, 6], "logrequest": [4, 6], "multipl": [4, 6], "openairequest": [4, 6], "prompt": [4, 6, 7], "pubsubmessag": [4, 6], "attribut": [4, 6], "messageid": [4, 6], "publishtim": [4, 6], "pubsubrequest": [4, 6], "subscript": [4, 6], "health": [4, 6], "log": [4, 6], "log_debug_info": [4, 6], "log_embed": [4, 6], "log_embeddings_json": [4, 6], "log_json": [4, 6], "log_pubsub": [4, 6], "log_pubsub_embed": [4, 6], "openai_proxi": [4, 6], "publish_profil": [4, 6], "shutdown": [4, 6], "fix_torch_thread": [4, 6], "init_log": [4, 6], "update_pid": [4, 6], "build_langkit_valid": [4, 7], "build_langkit_validators_dictionari": [4, 7], "parse_yaml_to_dict": [4, 7], "validate_yaml": [4, 7], "load_llm_profiling_opt": [4, 7], "load_llm_validation_config_opt": [4, 7], "load_yaml_data": [4, 7], "configurationmetadata": [4, 7], "config_error": [4, 7], "profilingrul": [4, 7], "metric": [4, 7], "validationconfig": [4, 7], "id": [4, 6, 7], "polici": [4, 7], "policy_vers": [4, 7], "profil": [4, 6, 7], "rule": [4, 7], "schema_vers": [4, 7], "validationmetadata": [4, 7], "failed_metr": [4, 7], "is_valid": [4, 7], "validator_nam": [4, 7], "valu": [4, 6, 7], "validationrul": [4, 7], "config_path": [4, 7], "include_upp": [4, 7], "lower_threshold": [4, 7], "rule_typ": [4, 7], "upper_threshold": [4, 7], "get_profiling_schema": [4, 7], "get_validators_udf_schema": [4, 7], "failur": [4, 7], "result": [4, 7], "success": [4, 7], "validationerror": [4, 7], "validate_input": [4, 7], "flag_failed_valid": [4, 7], "make_openai_request": [4, 7], "basethresholdvalidatorbuild": [4, 7], "build_valid": [4, 7], "inputoutputvalidatorbuild": [4, 7], "build": [4, 6, 7], "regexvalidatorbuild": [4, 7], "build_patterns_valid": [4, 7], "sentimentvalidatorbuild": [4, 7], "textstatvalidatorbuild": [4, 7], "themesvalidatorbuild": [4, 7], "toxicityvalidatorbuild": [4, 7], "validatorbuild": [4, 7], "class": [5, 6, 7], "threadloggerfactori": 5, "option": 5, "loggeropt": 5, "threadrollinglogg": 5, "aggregate_bi": 5, "whylog": [5, 6], "api": [5, 6], "experiment": 5, "time_util": 5, "timegranular": 5, "dai": [5, 6], "write_schedul": 5, "schedul": 5, "cadenc": [5, 6], "minut": [5, 6], "interv": [5, 6], "5": 5, "core": 5, "datasetschema": [5, 7], "sync_en": 5, "bool": [5, 6, 7], "fals": [5, 6, 7], "current_time_fn": 5, "callabl": 5, "queue_config": 5, "queueconfig": 5, "max_batch_s": 5, "50000": 5, "message_accumualtion_dur": 5, "1": [5, 7], "0": [5, 6, 7], "message_poll_wait": 5, "max_buffer_byt": 5, "100000000": 5, "thread_queue_config": 5, "writer_factori": 5, "process_rolling_logg": 5, "writerfactori": 5, "whylabswriterfactori": 5, "object": [5, 6, 7], "queue_typ": 5, "process_actor": 5, "queuetyp": 5, "faster_fifo": 5, "logger_factori": 5, "loggerfactori": 5, "baseprocessrollinglogg": 5, "batch": [5, 6], "flushmessag": 5, "rawlogmessag": 5, "rawlogembeddingsmessag": 5, "rawpubsubmessag": 5, "rawpubsubembeddingmessag": 5, "logmessag": 5, "closemessag": 5, "processloggerstatusmessag": 5, "batch_typ": 5, "method": 5, "sub": 5, "process": [5, 6], "can": [5, 6], "overridden": 5, "dataset_cad": 5, "datasetcad": [5, 6], "upload_cad": 5, "datasetuploadcadencegranular": [5, 6], "upload_interv": 5, "byte": 5, "logrequestdict": 5, "typeddict": 5, "api_kei": 6, "depend": 6, "apikeyhead": 6, "dict": [6, 7], "whylabs_toolkit": 6, "config_typ": 6, "datasetopt": [6, 7], "enum": 6, "all": [6, 7], "variabl": 6, "name": [6, 7], "applic": 6, "set": [6, 7], "true": [6, 7], "you": 6, "re": 6, "llm": 6, "openapi": 6, "monitor": [6, 7], "todo": 6, "isn": 6, "sent": 6, "per": 6, "password": 6, "The": 6, "look": 6, "header": 6, "curl": 6, "format": 6, "send": 6, "h": 6, "author": 6, "bearer": 6, "my_password": 6, "daili": 6, "default": 6, "hourli": 6, "whenev": 6, "specifi": 6, "dataset": [6, 7], "determin": 6, "how": 6, "bucket": 6, "pool": 6, "hour": 6, "organ": 6, "m": 6, "d": 6, "often": 6, "ar": 6, "upload": 6, "mani": 6, "unit": 6, "time": 6, "If": 6, "Then": 6, "omit": 6, "fail": 6, "start": 6, "custom": 6, "configur": 6, "found": 6, "safeguard": 6, "want": 6, "make": 6, "sure": 6, "up": 6, "correctli": 6, "python": 6, "env": 6, "var": 6, "identifi": 6, "deploy": 6, "imag": 6, "50_000": 6, "maximum": 6, "place": 6, "onto": 6, "queue": 6, "after": 6, "thei": 6, "come": 6, "from": [6, 7], "rest": 6, "server": 6, "read": 6, "bulk": 6, "larger": 6, "longer": 6, "take": 6, "mostli": 6, "transpar": 6, "caller": 6, "end": 6, "matter": 6, "when": 6, "ha": 6, "so": 6, "becaus": 6, "throughput": 6, "too": 6, "high": 6, "keep": 6, "In": [6, 7], "case": [6, 7], "requestor": 6, "wait": 6, "which": [6, 7], "could": 6, "potenti": 6, "would": 6, "consid": 6, "lower": 6, "see": 6, "lot": 6, "out": 6, "tp": 6, "rel": 6, "our": 6, "doc": 6, "": [6, 7], "perform": 6, "load": 6, "test": 6, "1_000_000_000": 6, "1gb": 6, "size": 6, "buffer": 6, "put": 6, "increas": 6, "give": 6, "more": 6, "befor": 6, "It": 6, "good": 6, "idea": 6, "timeout": 6, "spikei": 6, "traffic": 6, "pattern": 6, "memori": 6, "host": 6, "noth": 6, "better": 6, "do": 6, "openai": 6, "onli": [6, 7], "appli": 6, "float": [6, 7], "basemodel": 6, "user": [6, 7], "message_id": 6, "publish_tim": 6, "async": 6, "_raw_request": 6, "tabular": 6, "swagger": 6, "ui": 6, "abl": 6, "call": 6, "current": 6, "sampl": 6, "bash": 6, "x": 6, "post": 6, "json": 6, "http": 6, "localhost": 6, "8000": 6, "raw": 6, "62": 6, "ag": 6, "workclass": 6, "fnlwgt": 6, "educ": 6, "25": 6, "privat": 6, "226802": 6, "11th": 6, "import": 6, "defin": [6, 7], "your": 6, "endpoint": 6, "url": 6, "hand": 6, "ai": 6, "integr": 6, "support": 6, "1634235000": 6, "12": 6, "45": 6, "33": 6, "92": 6, "an": [6, 7], "exampl": [6, 7], "bodi": 6, "manual": 6, "experi": 6, "shouldn": 6, "product": 6, "steep": 6, "penalti": 6, "compar": 6, "normal": 6, "pydanticundefin": 6, "validation_rul": 7, "validation_config": 7, "conditionvalid": 7, "file_path": 7, "yaml_data": 7, "liter": 7, "llm_config_path": 7, "whylogs_config": 7, "file_directori": 7, "A": 7, "indic": 7, "langkit": 7, "should": 7, "doesn": 7, "work": 7, "mode": 7, "To": 7, "includ": 7, "avail": 7, "llm_metric": 7, "keyword": 7, "dataclass": 7, "yaml": 7, "pars": 7, "phase": 7, "setup": 7, "file": 7, "below": 7, "15": 7, "my_new_polici": 7, "9294f3fa": 7, "4f4b": 7, "4363": 7, "9397": 7, "87d3499fce28": 7, "toxic": 7, "textstat": 7, "schema_nam": 7, "identity_column": 7, "udfschema": 7, "arg": 7, "kwarg": 7, "protocol": 7, "except": 7, "valueerror": 7, "input_text": 7, "input_typ": 7, "condition_nam": 7, "openai_request_bodi": 7, "abc": 7, "abstract": 7}, "objects": {"": [[2, 0, 0, "-", "whylogs_container"]], "whylogs_container": [[3, 0, 0, "-", "util"], [4, 0, 0, "-", "whylabs"]], "whylogs_container.util": [[3, 0, 0, "-", "list_util"], [3, 0, 0, "-", "list_util_test"], [3, 0, 0, "-", "signal_util"], [3, 0, 0, "-", "string_util"], [3, 0, 0, "-", "string_util_test"]], "whylogs_container.util.list_util": [[3, 1, 1, "", "get_like_items"], [3, 1, 1, "", "type_batched_items"]], "whylogs_container.util.list_util_test": [[3, 1, 1, "", "test_get_like_items_empty"], [3, 1, 1, "", "test_get_like_items_hp"], [3, 1, 1, "", "test_get_like_items_single_item"], [3, 1, 1, "", "test_get_like_items_single_type"], [3, 1, 1, "", "test_get_like_items_until_empty"], [3, 1, 1, "", "test_iter"]], "whylogs_container.util.signal_util": [[3, 1, 1, "", "suspended_signals"]], "whylogs_container.util.string_util": [[3, 1, 1, "", "encode_strings"]], "whylogs_container.util.string_util_test": [[3, 1, 1, "", "test_different_hashes"], [3, 1, 1, "", "test_order_doesnt_matter"]], "whylogs_container.whylabs": [[5, 0, 0, "-", "actor"], [6, 0, 0, "-", "container"], [7, 0, 0, "-", "llm_validation"]], "whylogs_container.whylabs.actor": [[5, 0, 0, "-", "logger"], [5, 0, 0, "-", "openai_messages"]], "whylogs_container.whylabs.actor.logger": [[5, 2, 1, "", "ContainerLoggerFactory"], [5, 2, 1, "", "ContainerProcessRollingLogger"], [5, 1, 1, "", "convert_dataset_cadence"], [5, 1, 1, "", "convert_schedule"], [5, 1, 1, "", "create_logger"]], "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory": [[5, 3, 1, "", "create_logger"]], "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger": [[5, 3, 1, "", "process_batch"], [5, 3, 1, "", "process_openai_message"], [5, 3, 1, "", "run"]], "whylogs_container.whylabs.actor.openai_messages": [[5, 2, 1, "", "OpenAIMessage"], [5, 2, 1, "", "OpenAIPromptDict"], [5, 2, 1, "", "OpenAIRequestDict"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage": [[5, 4, 1, "", "dataset_id"], [5, 3, 1, "", "get_user_prompt"], [5, 4, 1, "", "prompt_id"], [5, 4, 1, "", "request"], [5, 4, 1, "", "request_time"], [5, 4, 1, "", "response"], [5, 3, 1, "", "to_log_request_dict"], [5, 3, 1, "", "to_openai_dict"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict": [[5, 4, 1, "", "content"], [5, 4, 1, "", "role"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict": [[5, 4, 1, "", "messages"], [5, 4, 1, "", "model"], [5, 4, 1, "", "temperature"], [5, 4, 1, "", "whylabs_dataset_id"]], "whylogs_container.whylabs.container": [[6, 0, 0, "-", "auth"], [6, 0, 0, "-", "config"], [6, 0, 0, "-", "config_test"], [6, 0, 0, "-", "environment"], [6, 0, 0, "-", "requests"], [6, 0, 0, "-", "routes"], [6, 0, 0, "-", "startup"]], "whylogs_container.whylabs.container.auth": [[6, 2, 1, "", "Auth"]], "whylogs_container.whylabs.container.auth.Auth": [[6, 3, 1, "", "api_key_auth"]], "whylogs_container.whylabs.container.config": [[6, 2, 1, "", "ContainerSchemas"], [6, 1, 1, "", "get_dataset_options"], [6, 1, 1, "", "get_llm_validation_options"], [6, 1, 1, "", "init"]], "whylogs_container.whylabs.container.config.ContainerSchemas": [[6, 4, 1, "", "schemas"], [6, 4, 1, "", "validation_schemas"]], "whylogs_container.whylabs.container.config_test": [[6, 1, 1, "", "test_indexing_into_toolkit"]], "whylogs_container.whylabs.container.environment": [[6, 2, 1, "", "ContainerConfig"], [6, 2, 1, "", "EnvVarNames"]], "whylogs_container.whylabs.container.environment.ContainerConfig": [[6, 3, 1, "", "assert_llm_endpoint"], [6, 3, 1, "", "auth_disabled"], [6, 4, 1, "", "container_password"], [6, 4, 1, "", "default_dataset_cadence"], [6, 4, 1, "", "default_openai_api_key"], [6, 4, 1, "", "default_openai_organization"], [6, 4, 1, "", "default_whylabs_org_id"], [6, 4, 1, "", "default_whylabs_upload_cadence"], [6, 4, 1, "", "default_whylabs_upload_interval"], [6, 4, 1, "", "disable_container_password"], [6, 4, 1, "", "fail_startup_without_config"], [6, 4, 1, "", "llm_container"], [6, 4, 1, "", "whylabs_api_key"]], "whylogs_container.whylabs.container.environment.EnvVarNames": [[6, 4, 1, "", "CONTAINER_PASSWORD"], [6, 4, 1, "", "DEFAULT_WHYLABS_DATASET_CADENCE"], [6, 4, 1, "", "DEFAULT_WHYLABS_ORG_ID"], [6, 4, 1, "", "DEFAULT_WHYLABS_UPLOAD_CADENCE"], [6, 4, 1, "", "DEFAULT_WHYLABS_UPLOAD_INTERVAL"], [6, 4, 1, "", "DISABLE_CONTAINER_PASSWORD"], [6, 4, 1, "", "FAIL_STARTUP_WITHOUT_CONFIG"], [6, 4, 1, "", "LLM_CONTAINER"], [6, 4, 1, "", "MAX_REQUEST_BATCH_SIZE"], [6, 4, 1, "", "MAX_REQUEST_BUFFER_BYTES"], [6, 4, 1, "", "OPENAI_API_KEY"], [6, 4, 1, "", "OPENAI_ORGANIZATION"], [6, 4, 1, "", "WHYLABS_API_KEY"]], "whylogs_container.whylabs.container.requests": [[6, 2, 1, "", "LogEmbeddingRequest"], [6, 2, 1, "", "LogMultiple"], [6, 2, 1, "", "LogRequest"], [6, 2, 1, "", "OpenAIRequest"], [6, 2, 1, "", "PubSubMessage"], [6, 2, 1, "", "PubSubRequest"]], "whylogs_container.whylabs.container.requests.LogEmbeddingRequest": [[6, 4, 1, "", "datasetId"], [6, 4, 1, "", "embeddings"], [6, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.container.requests.LogMultiple": [[6, 4, 1, "", "columns"], [6, 4, 1, "", "data"]], "whylogs_container.whylabs.container.requests.LogRequest": [[6, 4, 1, "", "datasetId"], [6, 4, 1, "", "multiple"], [6, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.container.requests.OpenAIRequest": [[6, 4, 1, "", "prompt"], [6, 4, 1, "", "role"], [6, 4, 1, "", "temperature"]], "whylogs_container.whylabs.container.requests.PubSubMessage": [[6, 4, 1, "", "attributes"], [6, 4, 1, "", "data"], [6, 4, 1, "", "messageId"], [6, 4, 1, "", "publishTime"]], "whylogs_container.whylabs.container.requests.PubSubRequest": [[6, 4, 1, "", "message"], [6, 4, 1, "", "subscription"]], "whylogs_container.whylabs.container.routes": [[6, 1, 1, "", "health"], [6, 1, 1, "", "log"], [6, 1, 1, "", "log_debug_info"], [6, 1, 1, "", "log_embeddings"], [6, 1, 1, "", "log_embeddings_json"], [6, 1, 1, "", "log_json"], [6, 1, 1, "", "log_pubsub"], [6, 1, 1, "", "log_pubsub_embeddings"], [6, 1, 1, "", "openai_proxy"], [6, 1, 1, "", "publish_profiles"], [6, 1, 1, "", "shutdown"]], "whylogs_container.whylabs.container.startup": [[6, 1, 1, "", "fix_torch_threading"], [6, 1, 1, "", "init_logging"], [6, 1, 1, "", "update_pid"]], "whylogs_container.whylabs.llm_validation": [[7, 0, 0, "-", "config"], [7, 0, 0, "-", "config_parsing"], [7, 0, 0, "-", "metadata"], [7, 0, 0, "-", "schema_builder"], [7, 0, 0, "-", "signals"], [7, 0, 0, "-", "validate"], [7, 0, 0, "-", "validation_utils"], [7, 0, 0, "-", "validation_workflow"], [7, 0, 0, "-", "validators"]], "whylogs_container.whylabs.llm_validation.config": [[7, 1, 1, "", "build_langkit_validator"], [7, 1, 1, "", "build_langkit_validators_dictionary"], [7, 1, 1, "", "parse_yaml_to_dict"], [7, 1, 1, "", "validate_yaml"]], "whylogs_container.whylabs.llm_validation.config_parsing": [[7, 1, 1, "", "load_llm_profiling_options"], [7, 1, 1, "", "load_llm_validation_config_options"], [7, 1, 1, "", "load_yaml_data"]], "whylogs_container.whylabs.llm_validation.metadata": [[7, 2, 1, "", "ConfigurationMetadata"], [7, 2, 1, "", "ProfilingRule"], [7, 2, 1, "", "ValidationConfig"], [7, 2, 1, "", "ValidationMetadata"], [7, 2, 1, "", "ValidationRule"]], "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata": [[7, 4, 1, "", "config_error"], [7, 4, 1, "", "message"], [7, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule": [[7, 4, 1, "", "metrics"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig": [[7, 4, 1, "", "id"], [7, 4, 1, "", "policy"], [7, 4, 1, "", "policy_version"], [7, 4, 1, "", "profiling"], [7, 4, 1, "", "rules"], [7, 4, 1, "", "schema_version"], [7, 4, 1, "", "whylabs_dataset_id"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata": [[7, 4, 1, "", "failed_metric"], [7, 4, 1, "", "is_valid"], [7, 4, 1, "", "prompt_id"], [7, 4, 1, "", "timestamp"], [7, 4, 1, "", "validator_name"], [7, 4, 1, "", "value"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationRule": [[7, 4, 1, "", "config_path"], [7, 4, 1, "", "include_upper"], [7, 4, 1, "", "lower_threshold"], [7, 4, 1, "", "metric"], [7, 4, 1, "", "module"], [7, 4, 1, "", "rule_type"], [7, 4, 1, "", "upper_threshold"]], "whylogs_container.whylabs.llm_validation.schema_builder": [[7, 1, 1, "", "get_profiling_schema"], [7, 1, 1, "", "get_validators_udf_schema"]], "whylogs_container.whylabs.llm_validation.signals": [[7, 2, 1, "", "Failure"], [7, 2, 1, "", "Result"], [7, 2, 1, "", "Success"], [7, 5, 1, "", "ValidationError"]], "whylogs_container.whylabs.llm_validation.validate": [[7, 1, 1, "", "validate_input"]], "whylogs_container.whylabs.llm_validation.validation_utils": [[7, 1, 1, "", "flag_failed_validation"]], "whylogs_container.whylabs.llm_validation.validation_workflow": [[7, 1, 1, "", "make_openai_request"], [7, 1, 1, "", "validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators": [[7, 2, 1, "", "BaseThresholdValidatorBuilder"], [7, 2, 1, "", "InputOutputValidatorBuilder"], [7, 2, 1, "", "RegexValidatorBuilder"], [7, 2, 1, "", "SentimentValidatorBuilder"], [7, 2, 1, "", "TextStatValidatorBuilder"], [7, 2, 1, "", "ThemesValidatorBuilder"], [7, 2, 1, "", "ToxicityValidatorBuilder"], [7, 2, 1, "", "ValidatorBuilder"]], "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder": [[7, 3, 1, "", "build_validator"]], "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder": [[7, 3, 1, "", "build"], [7, 3, 1, "", "build_patterns_validator"]], "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder": [[7, 3, 1, "", "build"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"]}, "titleterms": {"welcom": 0, "whylog": 0, "contain": [0, 6], "python": 0, "": 0, "document": 0, "indic": 0, "tabl": 0, "whylogs_contain": [1, 2, 3, 4, 5, 6, 7], "packag": [2, 3, 4, 5, 6, 7], "subpackag": [2, 4], "modul": [2, 3, 4, 5, 6, 7], "content": [2, 3, 4, 5, 6, 7], "util": 3, "submodul": [3, 5, 6, 7], "list_util": 3, "list_util_test": 3, "signal_util": 3, "string_util": 3, "string_util_test": 3, "whylab": [4, 5, 6, 7], "actor": 5, "logger": 5, "openai_messag": 5, "auth": 6, "config": [6, 7], "config_test": 6, "environ": 6, "requir": 6, "option": 6, "request": 6, "rout": 6, "startup": 6, "llm_valid": 7, "config_pars": 7, "metadata": 7, "schema_build": 7, "signal": 7, "valid": 7, "validation_util": 7, "validation_workflow": 7}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Welcome to whylogs-container-python\u2019s documentation!": [[0, "welcome-to-whylogs-container-python-s-documentation"]], "Indices and tables": [[0, "indices-and-tables"]], "whylogs_container": [[1, "whylogs-container"]], "whylogs_container package": [[2, "whylogs-container-package"]], "Subpackages": [[2, "subpackages"], [4, "subpackages"]], "Module contents": [[2, "module-whylogs_container"], [3, "module-whylogs_container.util"], [4, "module-whylogs_container.whylabs"], [5, "module-whylogs_container.whylabs.actor"], [6, "module-whylogs_container.whylabs.container"], [7, "module-whylogs_container.whylabs.llm_validation"]], "whylogs_container.util package": [[3, "whylogs-container-util-package"]], "Submodules": [[3, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"]], "whylogs_container.util.list_util module": [[3, "module-whylogs_container.util.list_util"]], "whylogs_container.util.list_util_test module": [[3, "module-whylogs_container.util.list_util_test"]], "whylogs_container.util.signal_util module": [[3, "module-whylogs_container.util.signal_util"]], "whylogs_container.util.string_util module": [[3, "module-whylogs_container.util.string_util"]], "whylogs_container.util.string_util_test module": [[3, "module-whylogs_container.util.string_util_test"]], "whylogs_container.whylabs package": [[4, "whylogs-container-whylabs-package"]], "whylogs_container.whylabs.actor package": [[5, "whylogs-container-whylabs-actor-package"]], "whylogs_container.whylabs.actor.logger module": [[5, "module-whylogs_container.whylabs.actor.logger"]], "whylogs_container.whylabs.actor.openai_messages module": [[5, "module-whylogs_container.whylabs.actor.openai_messages"]], "whylogs_container.whylabs.container package": [[6, "whylogs-container-whylabs-container-package"]], "whylogs_container.whylabs.container.auth module": [[6, "module-whylogs_container.whylabs.container.auth"]], "whylogs_container.whylabs.container.config module": [[6, "module-whylogs_container.whylabs.container.config"]], "whylogs_container.whylabs.container.config_test module": [[6, "module-whylogs_container.whylabs.container.config_test"]], "whylogs_container.whylabs.container.environment module": [[6, "module-whylogs_container.whylabs.container.environment"]], "Required": [[6, "required"]], "Optional": [[6, "optional"]], "whylogs_container.whylabs.container.requests module": [[6, "module-whylogs_container.whylabs.container.requests"]], "whylogs_container.whylabs.container.routes module": [[6, "module-whylogs_container.whylabs.container.routes"]], "}\u2019": [[6, "id5"], [6, "id18"]], "whylogs_container.whylabs.container.startup module": [[6, "module-whylogs_container.whylabs.container.startup"]], "whylogs_container.whylabs.llm_validation package": [[7, "whylogs-container-whylabs-llm-validation-package"]], "whylogs_container.whylabs.llm_validation.config module": [[7, "module-whylogs_container.whylabs.llm_validation.config"]], "whylogs_container.whylabs.llm_validation.config_parsing module": [[7, "module-whylogs_container.whylabs.llm_validation.config_parsing"]], "whylogs_container.whylabs.llm_validation.metadata module": [[7, "module-whylogs_container.whylabs.llm_validation.metadata"]], "whylogs_container.whylabs.llm_validation.schema_builder module": [[7, "module-whylogs_container.whylabs.llm_validation.schema_builder"]], "whylogs_container.whylabs.llm_validation.signals module": [[7, "module-whylogs_container.whylabs.llm_validation.signals"]], "whylogs_container.whylabs.llm_validation.validate module": [[7, "module-whylogs_container.whylabs.llm_validation.validate"]], "whylogs_container.whylabs.llm_validation.validation_utils module": [[7, "module-whylogs_container.whylabs.llm_validation.validation_utils"]], "whylogs_container.whylabs.llm_validation.validation_workflow module": [[7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators module": [[7, "module-whylogs_container.whylabs.llm_validation.validators"]]}, "indexentries": {"module": [[2, "module-whylogs_container"], [3, "module-whylogs_container.util"], [3, "module-whylogs_container.util.list_util"], [3, "module-whylogs_container.util.list_util_test"], [3, "module-whylogs_container.util.signal_util"], [3, "module-whylogs_container.util.string_util"], [3, "module-whylogs_container.util.string_util_test"], [4, "module-whylogs_container.whylabs"], [5, "module-whylogs_container.whylabs.actor"], [5, "module-whylogs_container.whylabs.actor.logger"], [5, "module-whylogs_container.whylabs.actor.openai_messages"], [6, "module-whylogs_container.whylabs.container"], [6, "module-whylogs_container.whylabs.container.auth"], [6, "module-whylogs_container.whylabs.container.config"], [6, "module-whylogs_container.whylabs.container.config_test"], [6, "module-whylogs_container.whylabs.container.environment"], [6, "module-whylogs_container.whylabs.container.requests"], [6, "module-whylogs_container.whylabs.container.routes"], [6, "module-whylogs_container.whylabs.container.startup"], [7, "module-whylogs_container.whylabs.llm_validation"], [7, "module-whylogs_container.whylabs.llm_validation.config"], [7, "module-whylogs_container.whylabs.llm_validation.config_parsing"], [7, "module-whylogs_container.whylabs.llm_validation.metadata"], [7, "module-whylogs_container.whylabs.llm_validation.schema_builder"], [7, "module-whylogs_container.whylabs.llm_validation.signals"], [7, "module-whylogs_container.whylabs.llm_validation.validate"], [7, "module-whylogs_container.whylabs.llm_validation.validation_utils"], [7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"], [7, "module-whylogs_container.whylabs.llm_validation.validators"]], "whylogs_container": [[2, "module-whylogs_container"]], "encode_strings() (in module whylogs_container.util.string_util)": [[3, "whylogs_container.util.string_util.encode_strings"]], "get_like_items() (in module whylogs_container.util.list_util)": [[3, "whylogs_container.util.list_util.get_like_items"]], "suspended_signals() (in module whylogs_container.util.signal_util)": [[3, "whylogs_container.util.signal_util.suspended_signals"]], "test_different_hashes() (in module whylogs_container.util.string_util_test)": [[3, "whylogs_container.util.string_util_test.test_different_hashes"]], "test_get_like_items_empty() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_get_like_items_empty"]], "test_get_like_items_hp() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_get_like_items_hp"]], "test_get_like_items_single_item() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_get_like_items_single_item"]], "test_get_like_items_single_type() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_get_like_items_single_type"]], "test_get_like_items_until_empty() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_get_like_items_until_empty"]], "test_iter() (in module whylogs_container.util.list_util_test)": [[3, "whylogs_container.util.list_util_test.test_iter"]], "test_order_doesnt_matter() (in module whylogs_container.util.string_util_test)": [[3, "whylogs_container.util.string_util_test.test_order_doesnt_matter"]], "type_batched_items() (in module whylogs_container.util.list_util)": [[3, "whylogs_container.util.list_util.type_batched_items"]], "whylogs_container.util": [[3, "module-whylogs_container.util"]], "whylogs_container.util.list_util": [[3, "module-whylogs_container.util.list_util"]], "whylogs_container.util.list_util_test": [[3, "module-whylogs_container.util.list_util_test"]], "whylogs_container.util.signal_util": [[3, "module-whylogs_container.util.signal_util"]], "whylogs_container.util.string_util": [[3, "module-whylogs_container.util.string_util"]], "whylogs_container.util.string_util_test": [[3, "module-whylogs_container.util.string_util_test"]], "whylogs_container.whylabs": [[4, "module-whylogs_container.whylabs"]], "containerloggerfactory (class in whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory"]], "containerprocessrollinglogger (class in whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger"]], "openaimessage (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage"]], "openaipromptdict (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict"]], "openairequestdict (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict"]], "content (whylogs_container.whylabs.actor.openai_messages.openaipromptdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict.content"]], "convert_dataset_cadence() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.convert_dataset_cadence"]], "convert_schedule() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.convert_schedule"]], "create_logger() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.create_logger"]], "create_logger() (whylogs_container.whylabs.actor.logger.containerloggerfactory method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory.create_logger"]], "dataset_id (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.dataset_id"]], "get_user_prompt() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.get_user_prompt"]], "messages (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.messages"]], "model (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.model"]], "process_batch() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.process_batch"]], "process_openai_message() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.process_openai_message"]], "prompt_id (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.prompt_id"]], "request (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.request"]], "request_time (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.request_time"]], "response (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.response"]], "role (whylogs_container.whylabs.actor.openai_messages.openaipromptdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict.role"]], "run() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.run"]], "temperature (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.temperature"]], "to_log_request_dict() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.to_log_request_dict"]], "to_openai_dict() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.to_openai_dict"]], "whylabs_dataset_id (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.whylabs_dataset_id"]], "whylogs_container.whylabs.actor": [[5, "module-whylogs_container.whylabs.actor"]], "whylogs_container.whylabs.actor.logger": [[5, "module-whylogs_container.whylabs.actor.logger"]], "whylogs_container.whylabs.actor.openai_messages": [[5, "module-whylogs_container.whylabs.actor.openai_messages"]], "auth (class in whylogs_container.whylabs.container.auth)": [[6, "whylogs_container.whylabs.container.auth.Auth"]], "container_password (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.CONTAINER_PASSWORD"]], "containerconfig (class in whylogs_container.whylabs.container.environment)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig"]], "containerschemas (class in whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas"]], "default_whylabs_dataset_cadence (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_DATASET_CADENCE"]], "default_whylabs_org_id (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_ORG_ID"]], "default_whylabs_upload_cadence (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_UPLOAD_CADENCE"]], "default_whylabs_upload_interval (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_UPLOAD_INTERVAL"]], "disable_container_password (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DISABLE_CONTAINER_PASSWORD"]], "envvarnames (class in whylogs_container.whylabs.container.environment)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames"]], "fail_startup_without_config (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.FAIL_STARTUP_WITHOUT_CONFIG"]], "llm_container (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.LLM_CONTAINER"]], "logembeddingrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest"]], "logmultiple (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple"]], "logrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogRequest"]], "max_request_batch_size (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.MAX_REQUEST_BATCH_SIZE"]], "max_request_buffer_bytes (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.MAX_REQUEST_BUFFER_BYTES"]], "openai_api_key (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.OPENAI_API_KEY"]], "openai_organization (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.OPENAI_ORGANIZATION"]], "openairequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest"]], "pubsubmessage (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage"]], "pubsubrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest"]], "whylabs_api_key (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.WHYLABS_API_KEY"]], "api_key_auth() (whylogs_container.whylabs.container.auth.auth method)": [[6, "whylogs_container.whylabs.container.auth.Auth.api_key_auth"]], "assert_llm_endpoint() (whylogs_container.whylabs.container.environment.containerconfig method)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.assert_llm_endpoint"]], "attributes (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.attributes"]], "auth_disabled() (whylogs_container.whylabs.container.environment.containerconfig method)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.auth_disabled"]], "columns (whylogs_container.whylabs.container.requests.logmultiple attribute)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple.columns"]], "container_password (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.container_password"]], "data (whylogs_container.whylabs.container.requests.logmultiple attribute)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple.data"]], "data (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.data"]], "datasetid (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.datasetId"]], "datasetid (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.datasetId"]], "default_dataset_cadence (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_dataset_cadence"]], "default_openai_api_key (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_openai_api_key"]], "default_openai_organization (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_openai_organization"]], "default_whylabs_org_id (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_org_id"]], "default_whylabs_upload_cadence (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_upload_cadence"]], "default_whylabs_upload_interval (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_upload_interval"]], "disable_container_password (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.disable_container_password"]], "embeddings (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.embeddings"]], "fail_startup_without_config (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.fail_startup_without_config"]], "fix_torch_threading() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.fix_torch_threading"]], "get_dataset_options() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.get_dataset_options"]], "get_llm_validation_options() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.get_llm_validation_options"]], "health() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.health"]], "init() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.init"]], "init_logging() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.init_logging"]], "llm_container (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.llm_container"]], "log() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log"]], "log_debug_info() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_debug_info"]], "log_embeddings() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_embeddings"]], "log_embeddings_json() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_embeddings_json"]], "log_json() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_json"]], "log_pubsub() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_pubsub"]], "log_pubsub_embeddings() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_pubsub_embeddings"]], "message (whylogs_container.whylabs.container.requests.pubsubrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest.message"]], "messageid (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.messageId"]], "multiple (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.multiple"]], "openai_proxy() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.openai_proxy"]], "prompt (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.prompt"]], "publishtime (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.publishTime"]], "publish_profiles() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.publish_profiles"]], "role (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.role"]], "schemas (whylogs_container.whylabs.container.config.containerschemas attribute)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas.schemas"]], "shutdown() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.shutdown"]], "subscription (whylogs_container.whylabs.container.requests.pubsubrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest.subscription"]], "temperature (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.temperature"]], "test_indexing_into_toolkit() (in module whylogs_container.whylabs.container.config_test)": [[6, "whylogs_container.whylabs.container.config_test.test_indexing_into_toolkit"]], "timestamp (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.timestamp"]], "timestamp (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.timestamp"]], "update_pid() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.update_pid"]], "validation_schemas (whylogs_container.whylabs.container.config.containerschemas attribute)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas.validation_schemas"]], "whylabs_api_key (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.whylabs_api_key"]], "whylogs_container.whylabs.container": [[6, "module-whylogs_container.whylabs.container"]], "whylogs_container.whylabs.container.auth": [[6, "module-whylogs_container.whylabs.container.auth"]], "whylogs_container.whylabs.container.config": [[6, "module-whylogs_container.whylabs.container.config"]], "whylogs_container.whylabs.container.config_test": [[6, "module-whylogs_container.whylabs.container.config_test"]], "whylogs_container.whylabs.container.environment": [[6, "module-whylogs_container.whylabs.container.environment"]], "whylogs_container.whylabs.container.requests": [[6, "module-whylogs_container.whylabs.container.requests"]], "whylogs_container.whylabs.container.routes": [[6, "module-whylogs_container.whylabs.container.routes"]], "whylogs_container.whylabs.container.startup": [[6, "module-whylogs_container.whylabs.container.startup"]], "basethresholdvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder"]], "configurationmetadata (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata"]], "failure (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Failure"]], "inputoutputvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder"]], "profilingrule (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule"]], "regexvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder"]], "result (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Result"]], "sentimentvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder"]], "success (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Success"]], "textstatvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder"]], "themesvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder"]], "toxicityvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder"]], "validationconfig (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig"]], "validationerror": [[7, "whylogs_container.whylabs.llm_validation.signals.ValidationError"]], "validationmetadata (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata"]], "validationrule (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule"]], "validatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder"]], "build() (whylogs_container.whylabs.llm_validation.validators.inputoutputvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.regexvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.sentimentvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.textstatvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.themesvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.toxicityvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.validatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder.build"]], "build_langkit_validator() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.build_langkit_validator"]], "build_langkit_validators_dictionary() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.build_langkit_validators_dictionary"]], "build_patterns_validator() (whylogs_container.whylabs.llm_validation.validators.regexvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder.build_patterns_validator"]], "build_validator() (whylogs_container.whylabs.llm_validation.validators.basethresholdvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder.build_validator"]], "config_error (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.config_error"]], "config_path (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.config_path"]], "failed_metric (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.failed_metric"]], "flag_failed_validation() (in module whylogs_container.whylabs.llm_validation.validation_utils)": [[7, "whylogs_container.whylabs.llm_validation.validation_utils.flag_failed_validation"]], "get_profiling_schema() (in module whylogs_container.whylabs.llm_validation.schema_builder)": [[7, "whylogs_container.whylabs.llm_validation.schema_builder.get_profiling_schema"]], "get_validators_udf_schema() (in module whylogs_container.whylabs.llm_validation.schema_builder)": [[7, "whylogs_container.whylabs.llm_validation.schema_builder.get_validators_udf_schema"]], "id (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.id"]], "include_upper (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.include_upper"]], "is_valid (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.is_valid"]], "load_llm_profiling_options() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_llm_profiling_options"]], "load_llm_validation_config_options() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_llm_validation_config_options"]], "load_yaml_data() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_yaml_data"]], "lower_threshold (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.lower_threshold"]], "make_openai_request() (in module whylogs_container.whylabs.llm_validation.validation_workflow)": [[7, "whylogs_container.whylabs.llm_validation.validation_workflow.make_openai_request"]], "message (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.message"]], "metric (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.metric"]], "metrics (whylogs_container.whylabs.llm_validation.metadata.profilingrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule.metrics"]], "module (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.module"]], "parse_yaml_to_dict() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.parse_yaml_to_dict"]], "policy (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.policy"]], "policy_version (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.policy_version"]], "profiling (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.profiling"]], "prompt_id (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.prompt_id"]], "rule_type (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.rule_type"]], "rules (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.rules"]], "schema_version (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.schema_version"]], "timestamp (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.timestamp"]], "timestamp (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.timestamp"]], "upper_threshold (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.upper_threshold"]], "validate_input() (in module whylogs_container.whylabs.llm_validation.validate)": [[7, "whylogs_container.whylabs.llm_validation.validate.validate_input"]], "validate_yaml() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.validate_yaml"]], "validation_workflow() (in module whylogs_container.whylabs.llm_validation.validation_workflow)": [[7, "whylogs_container.whylabs.llm_validation.validation_workflow.validation_workflow"]], "validator_name (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.validator_name"]], "value (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.value"]], "whylabs_dataset_id (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.whylabs_dataset_id"]], "whylogs_container.whylabs.llm_validation": [[7, "module-whylogs_container.whylabs.llm_validation"]], "whylogs_container.whylabs.llm_validation.config": [[7, "module-whylogs_container.whylabs.llm_validation.config"]], "whylogs_container.whylabs.llm_validation.config_parsing": [[7, "module-whylogs_container.whylabs.llm_validation.config_parsing"]], "whylogs_container.whylabs.llm_validation.metadata": [[7, "module-whylogs_container.whylabs.llm_validation.metadata"]], "whylogs_container.whylabs.llm_validation.schema_builder": [[7, "module-whylogs_container.whylabs.llm_validation.schema_builder"]], "whylogs_container.whylabs.llm_validation.signals": [[7, "module-whylogs_container.whylabs.llm_validation.signals"]], "whylogs_container.whylabs.llm_validation.validate": [[7, "module-whylogs_container.whylabs.llm_validation.validate"]], "whylogs_container.whylabs.llm_validation.validation_utils": [[7, "module-whylogs_container.whylabs.llm_validation.validation_utils"]], "whylogs_container.whylabs.llm_validation.validation_workflow": [[7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators": [[7, "module-whylogs_container.whylabs.llm_validation.validators"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "modules", "whylogs_container", "whylogs_container.util", "whylogs_container.whylabs", "whylogs_container.whylabs.actor", "whylogs_container.whylabs.container", "whylogs_container.whylabs.llm_validation"], "filenames": ["index.rst", "modules.rst", "whylogs_container.rst", "whylogs_container.util.rst", "whylogs_container.whylabs.rst", "whylogs_container.whylabs.actor.rst", "whylogs_container.whylabs.container.rst", "whylogs_container.whylabs.llm_validation.rst"], "titles": ["Welcome to whylogs-container-python\u2019s documentation!", "whylogs_container", "whylogs_container package", "whylogs_container.util package", "whylogs_container.whylabs package", "whylogs_container.whylabs.actor package", "whylogs_container.whylabs.container package", "whylogs_container.whylabs.llm_validation package"], "terms": {"index": 0, "modul": [0, 1], "search": 0, "page": [0, 6], "packag": 1, "subpackag": 1, "util": [1, 2], "submodul": [1, 2, 4], "signal_util": [1, 2], "string_util": [1, 2], "string_util_test": [1, 2], "content": 1, "whylab": [1, 2], "suspended_sign": [2, 3], "encode_str": [2, 3], "test_different_hash": [2, 3], "test_order_doesnt_matt": [2, 3], "actor": [2, 4], "logger": [2, 4, 6], "openai_messag": [2, 4, 7], "contain": [2, 4, 7], "auth": [2, 4], "config": [2, 4, 5], "config_test": [2, 4], "container_config": [2, 4], "environ": [2, 4], "request": [2, 4, 5, 7], "rout": [2, 4], "startup": [2, 4], "llm_valid": [2, 4], "config_pars": [2, 4], "metadata": [2, 4], "schema_build": [2, 4], "signal": [2, 3, 4], "valid": [2, 4], "validation_util": [2, 4], "validation_workflow": [2, 4], "ani": [3, 6, 7], "suspend": 3, "handl": [3, 6], "execut": 3, "col_nam": 3, "list": [3, 5, 6, 7], "str": [3, 5, 6, 7], "int": [3, 5, 6, 7], "encod": 3, "string": 3, "number": [3, 6], "hash": 3, "each": [3, 6], "one": 3, "ad": 3, "them": 3, "togeth": 3, "thi": [3, 6, 7], "i": [3, 6, 7], "us": [3, 6, 7], "gener": [3, 7], "group": 3, "kei": [3, 4, 6, 7], "base": [3, 5, 6, 7], "don": [3, 6], "t": [3, 6, 7], "care": 3, "about": 3, "order": 3, "have": [3, 6], "reason": 3, "low": 3, "collis": 3, "rate": 3, "without": 3, "sort": 3, "everyth": 3, "none": [3, 5, 6, 7], "containerloggerfactori": [4, 5], "create_logg": [4, 5], "containerprocessrollinglogg": [4, 5, 6], "process_batch": [4, 5], "process_openai_messag": [4, 5], "run": [4, 5], "convert_dataset_cad": [4, 5], "convert_schedul": [4, 5], "openaimessag": [4, 5, 7], "dataset_id": [4, 5, 6], "get_user_prompt": [4, 5], "prompt_id": [4, 5, 6, 7], "request_tim": [4, 5], "respons": [4, 5, 6, 7], "to_log_request_dict": [4, 5], "to_openai_dict": [4, 5], "openaipromptdict": [4, 5], "role": [4, 5, 6], "openairequestdict": [4, 5, 7], "messag": [4, 5, 6, 7], "model": [4, 5, 6, 7], "temperatur": [4, 5, 6], "whylabs_dataset_id": [4, 5, 6, 7], "api_key_auth": [4, 6], "containerschema": [4, 6], "schema": [4, 5, 6, 7], "validation_schema": [4, 6], "get_dataset_opt": [4, 6], "get_llm_validation_opt": [4, 6], "init": [4, 6], "test_indexing_into_toolkit": [4, 6], "containerconfig": [4, 5, 6], "get_udf": [4, 6], "udfconfig": [4, 6], "applicable_column": [4, 6], "metric": [4, 6, 7], "udf": [4, 6], "assert_llm_endpoint": [4, 6], "auth_dis": [4, 6], "container_password": [4, 6], "default_dataset_cad": [4, 6], "default_openai_api_kei": [4, 6], "default_openai_organ": [4, 6], "default_whylabs_org_id": [4, 6], "default_whylabs_upload_cad": [4, 6], "default_whylabs_upload_interv": [4, 6], "disable_container_password": [4, 6], "fail_startup_without_config": [4, 6], "llm_contain": [4, 6], "whylabs_api_kei": [4, 6], "envvarnam": [4, 6], "default_whylabs_dataset_cad": [4, 6], "max_request_batch_s": [4, 6], "max_request_buffer_byt": [4, 6], "openai_api_kei": [4, 6], "openai_organ": [4, 6], "logembeddingrequest": [4, 6], "datasetid": [4, 6], "embed": [4, 6], "timestamp": [4, 6, 7], "logmultipl": [4, 6], "column": [4, 6], "data": [4, 6], "logrequest": [4, 6], "multipl": [4, 6], "openairequest": [4, 6], "prompt": [4, 6, 7], "pubsubmessag": [4, 6], "attribut": [4, 6], "messageid": [4, 6], "publishtim": [4, 6], "pubsubrequest": [4, 6], "subscript": [4, 6], "health": [4, 6], "log": [4, 6], "log_debug_info": [4, 6], "log_embed": [4, 6], "log_embeddings_json": [4, 6], "log_json": [4, 6], "log_pubsub": [4, 6], "log_pubsub_embed": [4, 6], "openai_proxi": [4, 6], "publish_profil": [4, 6], "shutdown": [4, 6], "fix_torch_thread": [4, 6], "init_log": [4, 6], "update_pid": [4, 6], "moduledefinit": [4, 7], "config_path": [4, 7], "include_upp": [4, 7], "lower_threshold": [4, 7], "upper_threshold": [4, 7], "yamlconfig": [4, 7], "id": [4, 6, 7], "polici": [4, 7], "policy_vers": [4, 7], "profil": [4, 6, 7], "rule": [4, 7], "schema_vers": [4, 7], "build_langkit_valid": [4, 7], "build_langkit_validators_dictionari": [4, 7], "parse_yaml_to_dict": [4, 7], "validate_yaml": [4, 7], "load_llm_profiling_opt": [4, 7], "load_llm_validation_config_opt": [4, 7], "load_yaml_data": [4, 7], "configurationmetadata": [4, 7], "config_error": [4, 7], "profilingrul": [4, 7], "validationconfig": [4, 7], "validationmetadata": [4, 7], "failed_metr": [4, 7], "is_valid": [4, 7], "validator_nam": [4, 7], "valu": [4, 6, 7], "validationrul": [4, 7], "rule_typ": [4, 7], "get_profiling_schema": [4, 7], "get_validators_udf_schema": [4, 7], "failur": [4, 7], "result": [4, 7], "success": [4, 7], "validationerror": [4, 7], "validate_input": [4, 7], "flag_failed_valid": [4, 7], "make_openai_request": [4, 7], "basethresholdvalidatorbuild": [4, 7], "build_valid": [4, 7], "inputoutputvalidatorbuild": [4, 7], "build": [4, 6, 7], "regexvalidatorbuild": [4, 7], "sentimentvalidatorbuild": [4, 7], "textstatvalidatorbuild": [4, 7], "themesvalidatorbuild": [4, 7], "toxicityvalidatorbuild": [4, 7], "validatorbuild": [4, 7], "class": [5, 6, 7], "threadloggerfactori": 5, "option": 5, "loggeropt": 5, "threadrollinglogg": 5, "aggregate_bi": 5, "whylog": [5, 6], "api": [5, 6], "experiment": 5, "time_util": 5, "timegranular": 5, "dai": [5, 6], "write_schedul": 5, "schedul": 5, "cadenc": [5, 6], "minut": [5, 6], "interv": [5, 6], "5": 5, "core": 5, "datasetschema": [5, 7], "sync_en": 5, "bool": [5, 6, 7], "fals": [5, 6, 7], "current_time_fn": 5, "type": [5, 6], "callabl": [5, 6], "queue_config": 5, "queueconfig": 5, "max_batch_s": 5, "50000": 5, "message_accumualtion_dur": 5, "1": [5, 7], "0": [5, 6, 7], "message_poll_wait": 5, "max_buffer_byt": 5, "100000000": 5, "thread_queue_config": 5, "writer_factori": 5, "process_rolling_logg": 5, "writerfactori": 5, "whylabswriterfactori": 5, "object": [5, 6, 7], "queue_typ": 5, "process_actor": 5, "queuetyp": 5, "faster_fifo": 5, "logger_factori": 5, "loggerfactori": 5, "baseprocessrollinglogg": 5, "batch": [5, 6], "batch_typ": 5, "method": 5, "sub": 5, "process": [5, 6], "can": [5, 6], "overridden": 5, "dataset_cad": 5, "datasetcad": [5, 6], "upload_cad": 5, "datasetuploadcadencegranular": [5, 6], "upload_interv": 5, "byte": 5, "logrequestdict": 5, "typeddict": [5, 6], "api_kei": 6, "depend": 6, "apikeyhead": 6, "dict": [6, 7], "whylabs_toolkit": 6, "config_typ": 6, "datasetopt": [6, 7], "abc": [6, 7], "abstract": [6, 7], "metricspec": 6, "datafram": 6, "sequenc": 6, "float": [6, 7], "enum": 6, "all": [6, 7], "variabl": 6, "name": [6, 7], "applic": 6, "set": [6, 7], "true": [6, 7], "you": 6, "re": 6, "llm": 6, "openapi": 6, "monitor": [6, 7], "todo": 6, "isn": 6, "sent": 6, "per": 6, "password": 6, "The": 6, "look": 6, "header": 6, "curl": 6, "format": 6, "send": 6, "h": 6, "author": 6, "bearer": 6, "my_password": 6, "daili": 6, "default": 6, "hourli": 6, "whenev": 6, "specifi": 6, "dataset": [6, 7], "determin": 6, "how": 6, "bucket": 6, "pool": 6, "hour": 6, "organ": 6, "m": 6, "d": 6, "often": 6, "ar": 6, "upload": 6, "mani": 6, "unit": 6, "time": 6, "If": 6, "Then": 6, "omit": 6, "fail": 6, "start": 6, "custom": 6, "configur": 6, "found": 6, "safeguard": 6, "want": 6, "make": 6, "sure": 6, "up": 6, "correctli": 6, "python": 6, "env": 6, "var": 6, "identifi": 6, "deploy": 6, "imag": 6, "50_000": 6, "maximum": 6, "place": 6, "onto": 6, "queue": 6, "after": 6, "thei": 6, "come": 6, "from": [6, 7], "rest": 6, "server": 6, "read": 6, "bulk": 6, "larger": 6, "longer": 6, "take": 6, "mostli": 6, "transpar": 6, "caller": 6, "end": 6, "matter": 6, "when": 6, "ha": 6, "so": 6, "becaus": 6, "throughput": 6, "too": 6, "high": 6, "keep": 6, "In": [6, 7], "case": [6, 7], "requestor": 6, "wait": 6, "which": [6, 7], "could": 6, "potenti": 6, "would": 6, "consid": 6, "lower": 6, "see": 6, "lot": 6, "out": 6, "tp": 6, "rel": 6, "our": 6, "doc": 6, "": [6, 7], "perform": 6, "load": 6, "test": 6, "1_000_000_000": 6, "1gb": 6, "size": 6, "buffer": 6, "put": 6, "increas": 6, "give": 6, "more": 6, "befor": 6, "It": 6, "good": 6, "idea": 6, "timeout": 6, "spikei": 6, "traffic": 6, "pattern": 6, "memori": 6, "host": 6, "noth": 6, "better": 6, "do": 6, "openai": 6, "onli": [6, 7], "appli": 6, "basemodel": [6, 7], "user": [6, 7], "message_id": 6, "publish_tim": 6, "async": 6, "_raw_request": 6, "tabular": 6, "swagger": 6, "ui": 6, "abl": 6, "call": 6, "current": 6, "sampl": 6, "bash": 6, "x": 6, "post": 6, "json": 6, "http": 6, "localhost": 6, "8000": 6, "raw": 6, "62": 6, "ag": 6, "workclass": 6, "fnlwgt": 6, "educ": 6, "25": 6, "privat": 6, "226802": 6, "11th": 6, "import": 6, "defin": [6, 7], "your": 6, "endpoint": 6, "url": 6, "hand": 6, "ai": 6, "integr": 6, "support": 6, "1634235000": 6, "12": 6, "45": 6, "33": 6, "92": 6, "an": [6, 7], "exampl": [6, 7], "bodi": 6, "manual": 6, "experi": 6, "shouldn": 6, "product": 6, "steep": 6, "penalti": 6, "compar": 6, "normal": 6, "pydanticundefin": 6, "liter": 7, "toxic": 7, "sentiment": 7, "theme": 7, "textstat": 7, "regex": 7, "input_output": 7, "validation_rul": 7, "validation_config": 7, "conditionvalid": 7, "file_path": 7, "yaml_data": 7, "llm_config_path": 7, "whylogs_config": 7, "file_directori": 7, "A": 7, "indic": 7, "langkit": 7, "should": 7, "doesn": 7, "work": 7, "mode": 7, "To": 7, "includ": 7, "avail": 7, "llm_metric": 7, "keyword": 7, "dataclass": 7, "yaml": 7, "pars": 7, "phase": 7, "setup": 7, "file": 7, "below": 7, "15": 7, "my_new_polici": 7, "9294f3fa": 7, "4f4b": 7, "4363": 7, "9397": 7, "87d3499fce28": 7, "schema_nam": 7, "identity_column": 7, "udfschema": 7, "arg": 7, "kwarg": 7, "protocol": 7, "except": 7, "valueerror": 7, "input_text": 7, "input_typ": 7, "condition_nam": 7, "openai_request_bodi": 7}, "objects": {"": [[2, 0, 0, "-", "whylogs_container"]], "whylogs_container": [[3, 0, 0, "-", "util"], [4, 0, 0, "-", "whylabs"]], "whylogs_container.util": [[3, 0, 0, "-", "signal_util"], [3, 0, 0, "-", "string_util"], [3, 0, 0, "-", "string_util_test"]], "whylogs_container.util.signal_util": [[3, 1, 1, "", "suspended_signals"]], "whylogs_container.util.string_util": [[3, 1, 1, "", "encode_strings"]], "whylogs_container.util.string_util_test": [[3, 1, 1, "", "test_different_hashes"], [3, 1, 1, "", "test_order_doesnt_matter"]], "whylogs_container.whylabs": [[5, 0, 0, "-", "actor"], [6, 0, 0, "-", "container"], [7, 0, 0, "-", "llm_validation"]], "whylogs_container.whylabs.actor": [[5, 0, 0, "-", "logger"], [5, 0, 0, "-", "openai_messages"]], "whylogs_container.whylabs.actor.logger": [[5, 2, 1, "", "ContainerLoggerFactory"], [5, 2, 1, "", "ContainerProcessRollingLogger"], [5, 1, 1, "", "convert_dataset_cadence"], [5, 1, 1, "", "convert_schedule"], [5, 1, 1, "", "create_logger"]], "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory": [[5, 3, 1, "", "create_logger"]], "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger": [[5, 3, 1, "", "process_batch"], [5, 3, 1, "", "process_openai_message"], [5, 3, 1, "", "run"]], "whylogs_container.whylabs.actor.openai_messages": [[5, 2, 1, "", "OpenAIMessage"], [5, 2, 1, "", "OpenAIPromptDict"], [5, 2, 1, "", "OpenAIRequestDict"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage": [[5, 4, 1, "", "dataset_id"], [5, 3, 1, "", "get_user_prompt"], [5, 4, 1, "", "prompt_id"], [5, 4, 1, "", "request"], [5, 4, 1, "", "request_time"], [5, 4, 1, "", "response"], [5, 3, 1, "", "to_log_request_dict"], [5, 3, 1, "", "to_openai_dict"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict": [[5, 4, 1, "", "content"], [5, 4, 1, "", "role"]], "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict": [[5, 4, 1, "", "messages"], [5, 4, 1, "", "model"], [5, 4, 1, "", "temperature"], [5, 4, 1, "", "whylabs_dataset_id"]], "whylogs_container.whylabs.container": [[6, 0, 0, "-", "auth"], [6, 0, 0, "-", "config"], [6, 0, 0, "-", "config_test"], [6, 0, 0, "-", "container_config"], [6, 0, 0, "-", "environment"], [6, 0, 0, "-", "requests"], [6, 0, 0, "-", "routes"], [6, 0, 0, "-", "startup"]], "whylogs_container.whylabs.container.auth": [[6, 2, 1, "", "Auth"]], "whylogs_container.whylabs.container.auth.Auth": [[6, 3, 1, "", "api_key_auth"]], "whylogs_container.whylabs.container.config": [[6, 2, 1, "", "ContainerSchemas"], [6, 1, 1, "", "get_dataset_options"], [6, 1, 1, "", "get_llm_validation_options"], [6, 1, 1, "", "init"]], "whylogs_container.whylabs.container.config.ContainerSchemas": [[6, 4, 1, "", "schemas"], [6, 4, 1, "", "validation_schemas"]], "whylogs_container.whylabs.container.config_test": [[6, 1, 1, "", "test_indexing_into_toolkit"]], "whylogs_container.whylabs.container.container_config": [[6, 2, 1, "", "ContainerConfig"], [6, 2, 1, "", "UDFConfig"]], "whylogs_container.whylabs.container.container_config.ContainerConfig": [[6, 3, 1, "", "get_dataset_options"], [6, 3, 1, "", "get_udfs"]], "whylogs_container.whylabs.container.container_config.UDFConfig": [[6, 4, 1, "", "applicable_columns"], [6, 4, 1, "", "metrics"], [6, 4, 1, "", "udf"]], "whylogs_container.whylabs.container.environment": [[6, 2, 1, "", "ContainerConfig"], [6, 2, 1, "", "EnvVarNames"]], "whylogs_container.whylabs.container.environment.ContainerConfig": [[6, 3, 1, "", "assert_llm_endpoint"], [6, 3, 1, "", "auth_disabled"], [6, 4, 1, "", "container_password"], [6, 4, 1, "", "default_dataset_cadence"], [6, 4, 1, "", "default_openai_api_key"], [6, 4, 1, "", "default_openai_organization"], [6, 4, 1, "", "default_whylabs_org_id"], [6, 4, 1, "", "default_whylabs_upload_cadence"], [6, 4, 1, "", "default_whylabs_upload_interval"], [6, 4, 1, "", "disable_container_password"], [6, 4, 1, "", "fail_startup_without_config"], [6, 4, 1, "", "llm_container"], [6, 4, 1, "", "whylabs_api_key"]], "whylogs_container.whylabs.container.environment.EnvVarNames": [[6, 4, 1, "", "CONTAINER_PASSWORD"], [6, 4, 1, "", "DEFAULT_WHYLABS_DATASET_CADENCE"], [6, 4, 1, "", "DEFAULT_WHYLABS_ORG_ID"], [6, 4, 1, "", "DEFAULT_WHYLABS_UPLOAD_CADENCE"], [6, 4, 1, "", "DEFAULT_WHYLABS_UPLOAD_INTERVAL"], [6, 4, 1, "", "DISABLE_CONTAINER_PASSWORD"], [6, 4, 1, "", "FAIL_STARTUP_WITHOUT_CONFIG"], [6, 4, 1, "", "LLM_CONTAINER"], [6, 4, 1, "", "MAX_REQUEST_BATCH_SIZE"], [6, 4, 1, "", "MAX_REQUEST_BUFFER_BYTES"], [6, 4, 1, "", "OPENAI_API_KEY"], [6, 4, 1, "", "OPENAI_ORGANIZATION"], [6, 4, 1, "", "WHYLABS_API_KEY"]], "whylogs_container.whylabs.container.requests": [[6, 2, 1, "", "LogEmbeddingRequest"], [6, 2, 1, "", "LogMultiple"], [6, 2, 1, "", "LogRequest"], [6, 2, 1, "", "OpenAIRequest"], [6, 2, 1, "", "PubSubMessage"], [6, 2, 1, "", "PubSubRequest"]], "whylogs_container.whylabs.container.requests.LogEmbeddingRequest": [[6, 4, 1, "", "datasetId"], [6, 4, 1, "", "embeddings"], [6, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.container.requests.LogMultiple": [[6, 4, 1, "", "columns"], [6, 4, 1, "", "data"]], "whylogs_container.whylabs.container.requests.LogRequest": [[6, 4, 1, "", "datasetId"], [6, 4, 1, "", "multiple"], [6, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.container.requests.OpenAIRequest": [[6, 4, 1, "", "prompt"], [6, 4, 1, "", "role"], [6, 4, 1, "", "temperature"]], "whylogs_container.whylabs.container.requests.PubSubMessage": [[6, 4, 1, "", "attributes"], [6, 4, 1, "", "data"], [6, 4, 1, "", "messageId"], [6, 4, 1, "", "publishTime"]], "whylogs_container.whylabs.container.requests.PubSubRequest": [[6, 4, 1, "", "message"], [6, 4, 1, "", "subscription"]], "whylogs_container.whylabs.container.routes": [[6, 1, 1, "", "health"], [6, 1, 1, "", "log"], [6, 1, 1, "", "log_debug_info"], [6, 1, 1, "", "log_embeddings"], [6, 1, 1, "", "log_embeddings_json"], [6, 1, 1, "", "log_json"], [6, 1, 1, "", "log_pubsub"], [6, 1, 1, "", "log_pubsub_embeddings"], [6, 1, 1, "", "openai_proxy"], [6, 1, 1, "", "publish_profiles"], [6, 1, 1, "", "shutdown"]], "whylogs_container.whylabs.container.startup": [[6, 1, 1, "", "fix_torch_threading"], [6, 1, 1, "", "init_logging"], [6, 1, 1, "", "update_pid"]], "whylogs_container.whylabs.llm_validation": [[7, 0, 0, "-", "config"], [7, 0, 0, "-", "config_parsing"], [7, 0, 0, "-", "metadata"], [7, 0, 0, "-", "schema_builder"], [7, 0, 0, "-", "signals"], [7, 0, 0, "-", "validate"], [7, 0, 0, "-", "validation_utils"], [7, 0, 0, "-", "validation_workflow"], [7, 0, 0, "-", "validators"]], "whylogs_container.whylabs.llm_validation.config": [[7, 2, 1, "", "ModuleDefinition"], [7, 2, 1, "", "YamlConfig"], [7, 1, 1, "", "build_langkit_validator"], [7, 1, 1, "", "build_langkit_validators_dictionary"], [7, 1, 1, "", "parse_yaml_to_dict"], [7, 1, 1, "", "validate_yaml"]], "whylogs_container.whylabs.llm_validation.config.ModuleDefinition": [[7, 4, 1, "", "config_path"], [7, 4, 1, "", "include_upper"], [7, 4, 1, "", "lower_threshold"], [7, 4, 1, "", "metric"], [7, 4, 1, "", "module"], [7, 4, 1, "", "upper_threshold"]], "whylogs_container.whylabs.llm_validation.config.YamlConfig": [[7, 4, 1, "", "id"], [7, 4, 1, "", "policy"], [7, 4, 1, "", "policy_version"], [7, 4, 1, "", "profiling"], [7, 4, 1, "", "rules"], [7, 4, 1, "", "schema_version"], [7, 4, 1, "", "whylabs_dataset_id"]], "whylogs_container.whylabs.llm_validation.config_parsing": [[7, 1, 1, "", "load_llm_profiling_options"], [7, 1, 1, "", "load_llm_validation_config_options"], [7, 1, 1, "", "load_yaml_data"]], "whylogs_container.whylabs.llm_validation.metadata": [[7, 2, 1, "", "ConfigurationMetadata"], [7, 2, 1, "", "ProfilingRule"], [7, 2, 1, "", "ValidationConfig"], [7, 2, 1, "", "ValidationMetadata"], [7, 2, 1, "", "ValidationRule"]], "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata": [[7, 4, 1, "", "config_error"], [7, 4, 1, "", "message"], [7, 4, 1, "", "timestamp"]], "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule": [[7, 4, 1, "", "metrics"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig": [[7, 4, 1, "", "id"], [7, 4, 1, "", "policy"], [7, 4, 1, "", "policy_version"], [7, 4, 1, "", "profiling"], [7, 4, 1, "", "rules"], [7, 4, 1, "", "schema_version"], [7, 4, 1, "", "whylabs_dataset_id"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata": [[7, 4, 1, "", "failed_metric"], [7, 4, 1, "", "is_valid"], [7, 4, 1, "", "prompt_id"], [7, 4, 1, "", "timestamp"], [7, 4, 1, "", "validator_name"], [7, 4, 1, "", "value"]], "whylogs_container.whylabs.llm_validation.metadata.ValidationRule": [[7, 4, 1, "", "config_path"], [7, 4, 1, "", "include_upper"], [7, 4, 1, "", "lower_threshold"], [7, 4, 1, "", "metric"], [7, 4, 1, "", "module"], [7, 4, 1, "", "rule_type"], [7, 4, 1, "", "upper_threshold"]], "whylogs_container.whylabs.llm_validation.schema_builder": [[7, 1, 1, "", "get_profiling_schema"], [7, 1, 1, "", "get_validators_udf_schema"]], "whylogs_container.whylabs.llm_validation.signals": [[7, 2, 1, "", "Failure"], [7, 2, 1, "", "Result"], [7, 2, 1, "", "Success"], [7, 5, 1, "", "ValidationError"]], "whylogs_container.whylabs.llm_validation.validate": [[7, 1, 1, "", "validate_input"]], "whylogs_container.whylabs.llm_validation.validation_utils": [[7, 1, 1, "", "flag_failed_validation"]], "whylogs_container.whylabs.llm_validation.validation_workflow": [[7, 1, 1, "", "make_openai_request"], [7, 1, 1, "", "validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators": [[7, 2, 1, "", "BaseThresholdValidatorBuilder"], [7, 2, 1, "", "InputOutputValidatorBuilder"], [7, 2, 1, "", "RegexValidatorBuilder"], [7, 2, 1, "", "SentimentValidatorBuilder"], [7, 2, 1, "", "TextStatValidatorBuilder"], [7, 2, 1, "", "ThemesValidatorBuilder"], [7, 2, 1, "", "ToxicityValidatorBuilder"], [7, 2, 1, "", "ValidatorBuilder"]], "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder": [[7, 3, 1, "", "build_validator"]], "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder": [[7, 3, 1, "", "build"], [7, 4, 1, "", "key"], [7, 4, 1, "", "validator"]], "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder": [[7, 3, 1, "", "build"]], "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder": [[7, 3, 1, "", "build"], [7, 4, 1, "", "key"], [7, 4, 1, "", "validator"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "exception", "Python exception"]}, "titleterms": {"welcom": 0, "whylog": 0, "contain": [0, 6], "python": 0, "": 0, "document": 0, "indic": 0, "tabl": 0, "whylogs_contain": [1, 2, 3, 4, 5, 6, 7], "packag": [2, 3, 4, 5, 6, 7], "subpackag": [2, 4], "modul": [2, 3, 4, 5, 6, 7], "content": [2, 3, 4, 5, 6, 7], "util": 3, "submodul": [3, 5, 6, 7], "signal_util": 3, "string_util": 3, "string_util_test": 3, "whylab": [4, 5, 6, 7], "actor": 5, "logger": 5, "openai_messag": 5, "auth": 6, "config": [6, 7], "config_test": 6, "container_config": 6, "environ": 6, "requir": 6, "option": 6, "request": 6, "rout": 6, "startup": 6, "llm_valid": 7, "config_pars": 7, "metadata": 7, "schema_build": 7, "signal": 7, "valid": 7, "validation_util": 7, "validation_workflow": 7}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Welcome to whylogs-container-python\u2019s documentation!": [[0, "welcome-to-whylogs-container-python-s-documentation"]], "Indices and tables": [[0, "indices-and-tables"]], "whylogs_container": [[1, "whylogs-container"]], "whylogs_container package": [[2, "whylogs-container-package"]], "Subpackages": [[2, "subpackages"], [4, "subpackages"]], "Module contents": [[2, "module-whylogs_container"], [3, "module-whylogs_container.util"], [4, "module-whylogs_container.whylabs"], [5, "module-whylogs_container.whylabs.actor"], [6, "module-whylogs_container.whylabs.container"], [7, "module-whylogs_container.whylabs.llm_validation"]], "whylogs_container.util package": [[3, "whylogs-container-util-package"]], "Submodules": [[3, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"]], "whylogs_container.util.signal_util module": [[3, "module-whylogs_container.util.signal_util"]], "whylogs_container.util.string_util module": [[3, "module-whylogs_container.util.string_util"]], "whylogs_container.util.string_util_test module": [[3, "module-whylogs_container.util.string_util_test"]], "whylogs_container.whylabs package": [[4, "whylogs-container-whylabs-package"]], "whylogs_container.whylabs.actor package": [[5, "whylogs-container-whylabs-actor-package"]], "whylogs_container.whylabs.actor.logger module": [[5, "module-whylogs_container.whylabs.actor.logger"]], "whylogs_container.whylabs.actor.openai_messages module": [[5, "module-whylogs_container.whylabs.actor.openai_messages"]], "whylogs_container.whylabs.container package": [[6, "whylogs-container-whylabs-container-package"]], "whylogs_container.whylabs.container.auth module": [[6, "module-whylogs_container.whylabs.container.auth"]], "whylogs_container.whylabs.container.config module": [[6, "module-whylogs_container.whylabs.container.config"]], "whylogs_container.whylabs.container.config_test module": [[6, "module-whylogs_container.whylabs.container.config_test"]], "whylogs_container.whylabs.container.container_config module": [[6, "module-whylogs_container.whylabs.container.container_config"]], "whylogs_container.whylabs.container.environment module": [[6, "module-whylogs_container.whylabs.container.environment"]], "Required": [[6, "required"]], "Optional": [[6, "optional"]], "whylogs_container.whylabs.container.requests module": [[6, "module-whylogs_container.whylabs.container.requests"]], "whylogs_container.whylabs.container.routes module": [[6, "module-whylogs_container.whylabs.container.routes"]], "}\u2019": [[6, "id5"], [6, "id18"]], "whylogs_container.whylabs.container.startup module": [[6, "module-whylogs_container.whylabs.container.startup"]], "whylogs_container.whylabs.llm_validation package": [[7, "whylogs-container-whylabs-llm-validation-package"]], "whylogs_container.whylabs.llm_validation.config module": [[7, "module-whylogs_container.whylabs.llm_validation.config"]], "whylogs_container.whylabs.llm_validation.config_parsing module": [[7, "module-whylogs_container.whylabs.llm_validation.config_parsing"]], "whylogs_container.whylabs.llm_validation.metadata module": [[7, "module-whylogs_container.whylabs.llm_validation.metadata"]], "whylogs_container.whylabs.llm_validation.schema_builder module": [[7, "module-whylogs_container.whylabs.llm_validation.schema_builder"]], "whylogs_container.whylabs.llm_validation.signals module": [[7, "module-whylogs_container.whylabs.llm_validation.signals"]], "whylogs_container.whylabs.llm_validation.validate module": [[7, "module-whylogs_container.whylabs.llm_validation.validate"]], "whylogs_container.whylabs.llm_validation.validation_utils module": [[7, "module-whylogs_container.whylabs.llm_validation.validation_utils"]], "whylogs_container.whylabs.llm_validation.validation_workflow module": [[7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators module": [[7, "module-whylogs_container.whylabs.llm_validation.validators"]]}, "indexentries": {"module": [[2, "module-whylogs_container"], [3, "module-whylogs_container.util"], [3, "module-whylogs_container.util.signal_util"], [3, "module-whylogs_container.util.string_util"], [3, "module-whylogs_container.util.string_util_test"], [4, "module-whylogs_container.whylabs"], [5, "module-whylogs_container.whylabs.actor"], [5, "module-whylogs_container.whylabs.actor.logger"], [5, "module-whylogs_container.whylabs.actor.openai_messages"], [6, "module-whylogs_container.whylabs.container"], [6, "module-whylogs_container.whylabs.container.auth"], [6, "module-whylogs_container.whylabs.container.config"], [6, "module-whylogs_container.whylabs.container.config_test"], [6, "module-whylogs_container.whylabs.container.container_config"], [6, "module-whylogs_container.whylabs.container.environment"], [6, "module-whylogs_container.whylabs.container.requests"], [6, "module-whylogs_container.whylabs.container.routes"], [6, "module-whylogs_container.whylabs.container.startup"], [7, "module-whylogs_container.whylabs.llm_validation"], [7, "module-whylogs_container.whylabs.llm_validation.config"], [7, "module-whylogs_container.whylabs.llm_validation.config_parsing"], [7, "module-whylogs_container.whylabs.llm_validation.metadata"], [7, "module-whylogs_container.whylabs.llm_validation.schema_builder"], [7, "module-whylogs_container.whylabs.llm_validation.signals"], [7, "module-whylogs_container.whylabs.llm_validation.validate"], [7, "module-whylogs_container.whylabs.llm_validation.validation_utils"], [7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"], [7, "module-whylogs_container.whylabs.llm_validation.validators"]], "whylogs_container": [[2, "module-whylogs_container"]], "encode_strings() (in module whylogs_container.util.string_util)": [[3, "whylogs_container.util.string_util.encode_strings"]], "suspended_signals() (in module whylogs_container.util.signal_util)": [[3, "whylogs_container.util.signal_util.suspended_signals"]], "test_different_hashes() (in module whylogs_container.util.string_util_test)": [[3, "whylogs_container.util.string_util_test.test_different_hashes"]], "test_order_doesnt_matter() (in module whylogs_container.util.string_util_test)": [[3, "whylogs_container.util.string_util_test.test_order_doesnt_matter"]], "whylogs_container.util": [[3, "module-whylogs_container.util"]], "whylogs_container.util.signal_util": [[3, "module-whylogs_container.util.signal_util"]], "whylogs_container.util.string_util": [[3, "module-whylogs_container.util.string_util"]], "whylogs_container.util.string_util_test": [[3, "module-whylogs_container.util.string_util_test"]], "whylogs_container.whylabs": [[4, "module-whylogs_container.whylabs"]], "containerloggerfactory (class in whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory"]], "containerprocessrollinglogger (class in whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger"]], "openaimessage (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage"]], "openaipromptdict (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict"]], "openairequestdict (class in whylogs_container.whylabs.actor.openai_messages)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict"]], "content (whylogs_container.whylabs.actor.openai_messages.openaipromptdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict.content"]], "convert_dataset_cadence() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.convert_dataset_cadence"]], "convert_schedule() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.convert_schedule"]], "create_logger() (in module whylogs_container.whylabs.actor.logger)": [[5, "whylogs_container.whylabs.actor.logger.create_logger"]], "create_logger() (whylogs_container.whylabs.actor.logger.containerloggerfactory method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerLoggerFactory.create_logger"]], "dataset_id (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.dataset_id"]], "get_user_prompt() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.get_user_prompt"]], "messages (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.messages"]], "model (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.model"]], "process_batch() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.process_batch"]], "process_openai_message() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.process_openai_message"]], "prompt_id (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.prompt_id"]], "request (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.request"]], "request_time (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.request_time"]], "response (whylogs_container.whylabs.actor.openai_messages.openaimessage attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.response"]], "role (whylogs_container.whylabs.actor.openai_messages.openaipromptdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIPromptDict.role"]], "run() (whylogs_container.whylabs.actor.logger.containerprocessrollinglogger method)": [[5, "whylogs_container.whylabs.actor.logger.ContainerProcessRollingLogger.run"]], "temperature (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.temperature"]], "to_log_request_dict() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.to_log_request_dict"]], "to_openai_dict() (whylogs_container.whylabs.actor.openai_messages.openaimessage method)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIMessage.to_openai_dict"]], "whylabs_dataset_id (whylogs_container.whylabs.actor.openai_messages.openairequestdict attribute)": [[5, "whylogs_container.whylabs.actor.openai_messages.OpenAIRequestDict.whylabs_dataset_id"]], "whylogs_container.whylabs.actor": [[5, "module-whylogs_container.whylabs.actor"]], "whylogs_container.whylabs.actor.logger": [[5, "module-whylogs_container.whylabs.actor.logger"]], "whylogs_container.whylabs.actor.openai_messages": [[5, "module-whylogs_container.whylabs.actor.openai_messages"]], "auth (class in whylogs_container.whylabs.container.auth)": [[6, "whylogs_container.whylabs.container.auth.Auth"]], "container_password (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.CONTAINER_PASSWORD"]], "containerconfig (class in whylogs_container.whylabs.container.container_config)": [[6, "whylogs_container.whylabs.container.container_config.ContainerConfig"]], "containerconfig (class in whylogs_container.whylabs.container.environment)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig"]], "containerschemas (class in whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas"]], "default_whylabs_dataset_cadence (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_DATASET_CADENCE"]], "default_whylabs_org_id (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_ORG_ID"]], "default_whylabs_upload_cadence (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_UPLOAD_CADENCE"]], "default_whylabs_upload_interval (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DEFAULT_WHYLABS_UPLOAD_INTERVAL"]], "disable_container_password (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.DISABLE_CONTAINER_PASSWORD"]], "envvarnames (class in whylogs_container.whylabs.container.environment)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames"]], "fail_startup_without_config (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.FAIL_STARTUP_WITHOUT_CONFIG"]], "llm_container (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.LLM_CONTAINER"]], "logembeddingrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest"]], "logmultiple (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple"]], "logrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.LogRequest"]], "max_request_batch_size (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.MAX_REQUEST_BATCH_SIZE"]], "max_request_buffer_bytes (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.MAX_REQUEST_BUFFER_BYTES"]], "openai_api_key (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.OPENAI_API_KEY"]], "openai_organization (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.OPENAI_ORGANIZATION"]], "openairequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest"]], "pubsubmessage (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage"]], "pubsubrequest (class in whylogs_container.whylabs.container.requests)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest"]], "udfconfig (class in whylogs_container.whylabs.container.container_config)": [[6, "whylogs_container.whylabs.container.container_config.UDFConfig"]], "whylabs_api_key (whylogs_container.whylabs.container.environment.envvarnames attribute)": [[6, "whylogs_container.whylabs.container.environment.EnvVarNames.WHYLABS_API_KEY"]], "api_key_auth() (whylogs_container.whylabs.container.auth.auth method)": [[6, "whylogs_container.whylabs.container.auth.Auth.api_key_auth"]], "applicable_columns (whylogs_container.whylabs.container.container_config.udfconfig attribute)": [[6, "whylogs_container.whylabs.container.container_config.UDFConfig.applicable_columns"]], "assert_llm_endpoint() (whylogs_container.whylabs.container.environment.containerconfig method)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.assert_llm_endpoint"]], "attributes (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.attributes"]], "auth_disabled() (whylogs_container.whylabs.container.environment.containerconfig method)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.auth_disabled"]], "columns (whylogs_container.whylabs.container.requests.logmultiple attribute)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple.columns"]], "container_password (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.container_password"]], "data (whylogs_container.whylabs.container.requests.logmultiple attribute)": [[6, "whylogs_container.whylabs.container.requests.LogMultiple.data"]], "data (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.data"]], "datasetid (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.datasetId"]], "datasetid (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.datasetId"]], "default_dataset_cadence (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_dataset_cadence"]], "default_openai_api_key (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_openai_api_key"]], "default_openai_organization (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_openai_organization"]], "default_whylabs_org_id (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_org_id"]], "default_whylabs_upload_cadence (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_upload_cadence"]], "default_whylabs_upload_interval (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.default_whylabs_upload_interval"]], "disable_container_password (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.disable_container_password"]], "embeddings (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.embeddings"]], "fail_startup_without_config (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.fail_startup_without_config"]], "fix_torch_threading() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.fix_torch_threading"]], "get_dataset_options() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.get_dataset_options"]], "get_dataset_options() (whylogs_container.whylabs.container.container_config.containerconfig method)": [[6, "whylogs_container.whylabs.container.container_config.ContainerConfig.get_dataset_options"]], "get_llm_validation_options() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.get_llm_validation_options"]], "get_udfs() (whylogs_container.whylabs.container.container_config.containerconfig method)": [[6, "whylogs_container.whylabs.container.container_config.ContainerConfig.get_udfs"]], "health() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.health"]], "init() (in module whylogs_container.whylabs.container.config)": [[6, "whylogs_container.whylabs.container.config.init"]], "init_logging() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.init_logging"]], "llm_container (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.llm_container"]], "log() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log"]], "log_debug_info() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_debug_info"]], "log_embeddings() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_embeddings"]], "log_embeddings_json() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_embeddings_json"]], "log_json() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_json"]], "log_pubsub() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_pubsub"]], "log_pubsub_embeddings() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.log_pubsub_embeddings"]], "message (whylogs_container.whylabs.container.requests.pubsubrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest.message"]], "messageid (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.messageId"]], "metrics (whylogs_container.whylabs.container.container_config.udfconfig attribute)": [[6, "whylogs_container.whylabs.container.container_config.UDFConfig.metrics"]], "multiple (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.multiple"]], "openai_proxy() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.openai_proxy"]], "prompt (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.prompt"]], "publishtime (whylogs_container.whylabs.container.requests.pubsubmessage attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubMessage.publishTime"]], "publish_profiles() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.publish_profiles"]], "role (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.role"]], "schemas (whylogs_container.whylabs.container.config.containerschemas attribute)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas.schemas"]], "shutdown() (in module whylogs_container.whylabs.container.routes)": [[6, "whylogs_container.whylabs.container.routes.shutdown"]], "subscription (whylogs_container.whylabs.container.requests.pubsubrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.PubSubRequest.subscription"]], "temperature (whylogs_container.whylabs.container.requests.openairequest attribute)": [[6, "whylogs_container.whylabs.container.requests.OpenAIRequest.temperature"]], "test_indexing_into_toolkit() (in module whylogs_container.whylabs.container.config_test)": [[6, "whylogs_container.whylabs.container.config_test.test_indexing_into_toolkit"]], "timestamp (whylogs_container.whylabs.container.requests.logembeddingrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogEmbeddingRequest.timestamp"]], "timestamp (whylogs_container.whylabs.container.requests.logrequest attribute)": [[6, "whylogs_container.whylabs.container.requests.LogRequest.timestamp"]], "udf (whylogs_container.whylabs.container.container_config.udfconfig attribute)": [[6, "whylogs_container.whylabs.container.container_config.UDFConfig.udf"]], "update_pid() (in module whylogs_container.whylabs.container.startup)": [[6, "whylogs_container.whylabs.container.startup.update_pid"]], "validation_schemas (whylogs_container.whylabs.container.config.containerschemas attribute)": [[6, "whylogs_container.whylabs.container.config.ContainerSchemas.validation_schemas"]], "whylabs_api_key (whylogs_container.whylabs.container.environment.containerconfig attribute)": [[6, "whylogs_container.whylabs.container.environment.ContainerConfig.whylabs_api_key"]], "whylogs_container.whylabs.container": [[6, "module-whylogs_container.whylabs.container"]], "whylogs_container.whylabs.container.auth": [[6, "module-whylogs_container.whylabs.container.auth"]], "whylogs_container.whylabs.container.config": [[6, "module-whylogs_container.whylabs.container.config"]], "whylogs_container.whylabs.container.config_test": [[6, "module-whylogs_container.whylabs.container.config_test"]], "whylogs_container.whylabs.container.container_config": [[6, "module-whylogs_container.whylabs.container.container_config"]], "whylogs_container.whylabs.container.environment": [[6, "module-whylogs_container.whylabs.container.environment"]], "whylogs_container.whylabs.container.requests": [[6, "module-whylogs_container.whylabs.container.requests"]], "whylogs_container.whylabs.container.routes": [[6, "module-whylogs_container.whylabs.container.routes"]], "whylogs_container.whylabs.container.startup": [[6, "module-whylogs_container.whylabs.container.startup"]], "basethresholdvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder"]], "configurationmetadata (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata"]], "failure (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Failure"]], "inputoutputvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder"]], "moduledefinition (class in whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition"]], "profilingrule (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule"]], "regexvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder"]], "result (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Result"]], "sentimentvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder"]], "success (class in whylogs_container.whylabs.llm_validation.signals)": [[7, "whylogs_container.whylabs.llm_validation.signals.Success"]], "textstatvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder"]], "themesvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder"]], "toxicityvalidatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder"]], "validationconfig (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig"]], "validationerror": [[7, "whylogs_container.whylabs.llm_validation.signals.ValidationError"]], "validationmetadata (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata"]], "validationrule (class in whylogs_container.whylabs.llm_validation.metadata)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule"]], "validatorbuilder (class in whylogs_container.whylabs.llm_validation.validators)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder"]], "yamlconfig (class in whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig"]], "build() (whylogs_container.whylabs.llm_validation.validators.inputoutputvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.InputOutputValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.regexvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.sentimentvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.SentimentValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.textstatvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.TextStatValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.themesvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ThemesValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.toxicityvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ToxicityValidatorBuilder.build"]], "build() (whylogs_container.whylabs.llm_validation.validators.validatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder.build"]], "build_langkit_validator() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.build_langkit_validator"]], "build_langkit_validators_dictionary() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.build_langkit_validators_dictionary"]], "build_validator() (whylogs_container.whylabs.llm_validation.validators.basethresholdvalidatorbuilder method)": [[7, "whylogs_container.whylabs.llm_validation.validators.BaseThresholdValidatorBuilder.build_validator"]], "config_error (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.config_error"]], "config_path (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.config_path"]], "config_path (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.config_path"]], "failed_metric (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.failed_metric"]], "flag_failed_validation() (in module whylogs_container.whylabs.llm_validation.validation_utils)": [[7, "whylogs_container.whylabs.llm_validation.validation_utils.flag_failed_validation"]], "get_profiling_schema() (in module whylogs_container.whylabs.llm_validation.schema_builder)": [[7, "whylogs_container.whylabs.llm_validation.schema_builder.get_profiling_schema"]], "get_validators_udf_schema() (in module whylogs_container.whylabs.llm_validation.schema_builder)": [[7, "whylogs_container.whylabs.llm_validation.schema_builder.get_validators_udf_schema"]], "id (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.id"]], "id (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.id"]], "include_upper (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.include_upper"]], "include_upper (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.include_upper"]], "is_valid (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.is_valid"]], "key (whylogs_container.whylabs.llm_validation.validators.regexvalidatorbuilder attribute)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder.key"]], "key (whylogs_container.whylabs.llm_validation.validators.validatorbuilder attribute)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder.key"]], "load_llm_profiling_options() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_llm_profiling_options"]], "load_llm_validation_config_options() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_llm_validation_config_options"]], "load_yaml_data() (in module whylogs_container.whylabs.llm_validation.config_parsing)": [[7, "whylogs_container.whylabs.llm_validation.config_parsing.load_yaml_data"]], "lower_threshold (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.lower_threshold"]], "lower_threshold (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.lower_threshold"]], "make_openai_request() (in module whylogs_container.whylabs.llm_validation.validation_workflow)": [[7, "whylogs_container.whylabs.llm_validation.validation_workflow.make_openai_request"]], "message (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.message"]], "metric (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.metric"]], "metric (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.metric"]], "metrics (whylogs_container.whylabs.llm_validation.metadata.profilingrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ProfilingRule.metrics"]], "module (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.module"]], "module (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.module"]], "parse_yaml_to_dict() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.parse_yaml_to_dict"]], "policy (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.policy"]], "policy (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.policy"]], "policy_version (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.policy_version"]], "policy_version (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.policy_version"]], "profiling (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.profiling"]], "profiling (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.profiling"]], "prompt_id (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.prompt_id"]], "rule_type (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.rule_type"]], "rules (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.rules"]], "rules (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.rules"]], "schema_version (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.schema_version"]], "schema_version (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.schema_version"]], "timestamp (whylogs_container.whylabs.llm_validation.metadata.configurationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ConfigurationMetadata.timestamp"]], "timestamp (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.timestamp"]], "upper_threshold (whylogs_container.whylabs.llm_validation.config.moduledefinition attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.ModuleDefinition.upper_threshold"]], "upper_threshold (whylogs_container.whylabs.llm_validation.metadata.validationrule attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationRule.upper_threshold"]], "validate_input() (in module whylogs_container.whylabs.llm_validation.validate)": [[7, "whylogs_container.whylabs.llm_validation.validate.validate_input"]], "validate_yaml() (in module whylogs_container.whylabs.llm_validation.config)": [[7, "whylogs_container.whylabs.llm_validation.config.validate_yaml"]], "validation_workflow() (in module whylogs_container.whylabs.llm_validation.validation_workflow)": [[7, "whylogs_container.whylabs.llm_validation.validation_workflow.validation_workflow"]], "validator (whylogs_container.whylabs.llm_validation.validators.regexvalidatorbuilder attribute)": [[7, "whylogs_container.whylabs.llm_validation.validators.RegexValidatorBuilder.validator"]], "validator (whylogs_container.whylabs.llm_validation.validators.validatorbuilder attribute)": [[7, "whylogs_container.whylabs.llm_validation.validators.ValidatorBuilder.validator"]], "validator_name (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.validator_name"]], "value (whylogs_container.whylabs.llm_validation.metadata.validationmetadata attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationMetadata.value"]], "whylabs_dataset_id (whylogs_container.whylabs.llm_validation.config.yamlconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.config.YamlConfig.whylabs_dataset_id"]], "whylabs_dataset_id (whylogs_container.whylabs.llm_validation.metadata.validationconfig attribute)": [[7, "whylogs_container.whylabs.llm_validation.metadata.ValidationConfig.whylabs_dataset_id"]], "whylogs_container.whylabs.llm_validation": [[7, "module-whylogs_container.whylabs.llm_validation"]], "whylogs_container.whylabs.llm_validation.config": [[7, "module-whylogs_container.whylabs.llm_validation.config"]], "whylogs_container.whylabs.llm_validation.config_parsing": [[7, "module-whylogs_container.whylabs.llm_validation.config_parsing"]], "whylogs_container.whylabs.llm_validation.metadata": [[7, "module-whylogs_container.whylabs.llm_validation.metadata"]], "whylogs_container.whylabs.llm_validation.schema_builder": [[7, "module-whylogs_container.whylabs.llm_validation.schema_builder"]], "whylogs_container.whylabs.llm_validation.signals": [[7, "module-whylogs_container.whylabs.llm_validation.signals"]], "whylogs_container.whylabs.llm_validation.validate": [[7, "module-whylogs_container.whylabs.llm_validation.validate"]], "whylogs_container.whylabs.llm_validation.validation_utils": [[7, "module-whylogs_container.whylabs.llm_validation.validation_utils"]], "whylogs_container.whylabs.llm_validation.validation_workflow": [[7, "module-whylogs_container.whylabs.llm_validation.validation_workflow"]], "whylogs_container.whylabs.llm_validation.validators": [[7, "module-whylogs_container.whylabs.llm_validation.validators"]]}}) \ No newline at end of file diff --git a/whylogs_container.html b/whylogs_container.html index b0b6939..7327626 100644 --- a/whylogs_container.html +++ b/whylogs_container.html @@ -195,20 +195,6 @@

Subpackageswhylogs_container.util package +
  • whylogs_container.whylabs.container.container_config module +
  • whylogs_container.whylabs.container.environment module
  • A | B | C | D | E | F | G | H | I | L | M | O | P | R | S | T | U | V | W