diff --git a/.env_file.enc b/.env_file.enc index 5eea5307..4705d77a 100644 Binary files a/.env_file.enc and b/.env_file.enc differ diff --git a/.github/workflows/ci-tests.yaml b/.github/workflows/ci-tests.yaml index d6ed86e6..672b90b3 100644 --- a/.github/workflows/ci-tests.yaml +++ b/.github/workflows/ci-tests.yaml @@ -50,12 +50,12 @@ jobs: run: | openssl enc -aes-256-cbc -d -in .env_file.enc -out .env_file -k $DECRYPTION_PASSWORD - - name: Decrypt Alegre credentials + - name: Decrypt Alegre google credentials env: DECRYPTION_PASSWORD: ${{ secrets.DECRYPTION_PASSWORD }} run: | openssl aes-256-cbc -d -in google_credentials.json.enc -out google_credentials.json -k $DECRYPTION_PASSWORD - + - name: Install redis tools run: | sudo apt-get -y install redis-tools diff --git a/app/test/test_openai.py b/app/test/test_openai.py new file mode 100644 index 00000000..110e2ebe --- /dev/null +++ b/app/test/test_openai.py @@ -0,0 +1,79 @@ +import unittest +from unittest.mock import patch +from app.main.lib.text_similarity import get_document_body +from app.main.lib.openai import retrieve_openai_embeddings +from app.main.lib.openai import PREFIX_OPENAI +import openai +import pickle +import os +from app.test.base import BaseTestCase +class TestRetrieveOpenAIEmbeddings(BaseTestCase): + test_content_sample = { + 'text': 'this is a test', + 'models': ["openai-text-embedding-ada-002"], + 'content': 'let there be content', + } + test_content_embedding_true_value = [-0.015362503938376904, -0.0045652082189917564, -0.012123995460569859, -0.010844920761883259, 0.017566867172718048, 0.013586767017841339, -0.03780074045062065, -0.01971680112183094, -0.013253390789031982, -0.02326827310025692, 0.010872134938836098, 0.032929372042417526, -0.01070884894579649, 0.0067899818532168865, 0.005527915898710489, 0.007864948362112045, 0.034616660326719284, 0.00785814505070448, 0.01334864180535078, -0.01715865172445774, 0.00011374750465620309, 0.013382659293711185, -0.00921886321157217, -0.005058468319475651, -0.017526045441627502, -0.016124505549669266, 0.034834373742341995, -0.019880086183547974, -0.012675086036324501, -0.01778458058834076, 0.028302930295467377, -0.008735808543860912, 0.0009924735641106963, -0.02098226733505726, -0.013675213791429996, -0.0064123827032744884, -0.012055959552526474, -0.025595100596547127, 0.03273886814713478, -0.01206276286393404, -0.000572351913433522, -0.0028183867689222097, -0.0057252198457717896, -0.022383807227015495, -0.02461538463830948, -0.0015299570513889194, -0.02555428072810173, -0.008245949633419514, 0.006357953883707523, 0.005463282112032175, 0.005854488350450993, -0.00011289705435046926, -0.01384530309587717, -0.007225411478430033, 0.012151209637522697, 0.016777649521827698, -0.018587404862046242, -0.004306671675294638, 0.020873410627245903, -0.026656461879611015, -0.006742356810718775, -0.003468129551038146, -0.013280605897307396, 0.001423651003278792, -0.019512692466378212, 0.00763362692669034, -0.008409235626459122, -0.007041714619845152, -0.008014627732336521, -0.016451077535748482, 0.030779436230659485, 0.017839010804891586, 0.014396393671631813, -0.005922524258494377, -0.004398520104587078, 0.0008661819156259298, -0.009171238169074059, -0.001626908197067678, -0.020832588896155357, 0.01294722966849804, 0.013743249699473381, -0.007096143439412117, -0.017607688903808594, 0.023717310279607773, 0.0245609562844038, 0.014083429239690304, 0.01636943407356739, 0.027023855596780777, -0.0232818815857172, -0.01764850877225399, 0.01196070946753025, -0.004381511360406876, -0.0005051664775237441, 0.0030922312289476395, -0.017321936786174774, 0.03154143691062927, -0.005871497094631195, 0.03657609224319458, -0.011416422203183174, -0.009974061511456966, 0.015144788660109043, 0.011280350387096405, -0.03442616015672684, -0.009157630614936352, -0.02107751928269863, -0.012865586206316948, -0.002876217244192958, -0.009259684942662716, 0.02348598837852478, 0.021091125905513763, -0.004204617813229561, 0.022098056972026825, -0.011409618891775608, -0.03624952211976051, -0.022533485665917397, 0.0056435768492519855, 0.014600501395761967, 0.006463409401476383, -0.013362248428165913, -0.015389718115329742, -0.013090104795992374, -0.008007824420928955, 0.02833014354109764, -0.008463664911687374, 0.006592677440494299, 0.0076540373265743256, -0.01721308007836342, -0.018886763602495193, -0.0106067955493927, -0.017702938988804817, 0.04751626402139664, 0.004983628634363413, 0.004398520104587078, -0.020587660372257233, -0.021186375990509987, 0.004820342641323805, -0.024737849831581116, 0.008429646492004395, -0.02007058635354042, -0.027350427582859993, 0.010661223903298378, 0.03067057952284813, -0.018233617767691612, 0.010048900730907917, -0.018805120140314102, 0.016777649521827698, -0.002326827496290207, -0.010763277299702168, -0.013062890619039536, -0.01142322551459074, 0.0023778544273227453, -0.009518221020698547, 0.017063401639461517, -0.008912701159715652, -0.003561678808182478, 0.01302887313067913, 0.011545690707862377, 0.011865459382534027, 0.007334268651902676, -0.008912701159715652, 0.02570395916700363, 0.0024441892746835947, 0.02468341961503029, -0.012219245545566082, 0.028085215017199516, 0.04936683923006058, 0.04917633906006813, 0.0039494833908975124, -0.010695241391658783, 0.005612961016595364, -0.010130544193089008, 0.02833014354109764, -0.01651911437511444, 0.006000765599310398, -0.015988433733582497, 0.010184972546994686, 0.015621040016412735, 0.030480077490210533, -0.019254157319664955, -0.021308841183781624, -0.002046179259195924, -0.010443508625030518, 0.020655695348978043, 0.02589445933699608, 0.007796912919729948, 0.006963473279029131, 0.027078283950686455, -0.01616532728075981, -0.02219330705702305, -0.019839264452457428, 0.012137603014707565, 0.017526045441627502, -0.006827401462942362, -0.03328315541148186, -0.681882917881012, -0.014981502667069435, 0.05429263785481453, -0.02660203166306019, 0.01800229586660862, 0.0012025343021377921, -0.0125254075974226, -0.010443508625030518, -0.008245949633419514, 0.02305055968463421, -0.010287025943398476, 0.012573032639920712, 0.018982013687491417, -0.010028489865362644, 0.00700769666582346, -0.010545562952756882, 0.0033575710840523243, -0.027554534375667572, -0.010137347504496574, 0.021295232698321342, -0.027717821300029755, -0.015484968200325966, -0.010198580101132393, 0.015212824568152428, 0.0018930985825136304, -0.007504358422011137, 0.007483947556465864, -0.0033269550185650587, -0.00889909453690052, 0.014205893501639366, -0.020955054089426994, 0.016328614205121994, -0.0047829230315983295, 0.009552238509058952, 0.052496492862701416, 0.005946336779743433, -0.012960837222635746, 0.022234128788113594, 0.0001585023564985022, 0.01979844458401203, -0.027649784460663795, -0.0036331163719296455, 0.022615129128098488, 0.00414338568225503, -0.002831993857398629, -0.0016226558946073055, 0.01059999130666256, 0.01836968958377838, -0.007551983464509249, -0.008735808543860912, 0.0053442190401256084, -0.004623038694262505, 0.026234637945890427, 0.009361738339066505, -0.024492919445037842, 0.007014499977231026, 0.01558021828532219, -0.01092656422406435, 0.007375090382993221, 0.022030020132660866, -0.010763277299702168, 0.0005298294709064066, -0.033419229090213776, -0.018886763602495193, -0.028057999908924103, -0.0021278224885463715, 0.004364502150565386, -0.008735808543860912, 0.010763277299702168, -0.00391546543687582, -0.008797040209174156, 0.01687289960682392, -0.02311859466135502, -0.0019050048431381583, 0.003000382799655199, 0.013790874741971493, 0.008266360498964787, -0.014614108949899673, -0.0021975592244416475, 0.007443126291036606, 0.013620784506201744, -0.0047318958677351475, -0.016668792814016342, -0.009082791395485401, 0.03698430955410004, -0.004793128464370966, -0.023662881925702095, -0.0025870646350085735, 0.019471870735287666, 0.009307309985160828, 0.01998894475400448, 0.00392907252535224, 0.020887017250061035, -0.011797423474490643, 0.01894119195640087, 0.00444954726845026, 0.0017085513100028038, -0.002051281975582242, 0.01843772642314434, -0.008225538767874241, -0.0006616490427404642, -0.0019424246856942773, -0.018464939668774605, -0.008817451074719429, 0.027799464762210846, 0.01078368816524744, -0.019090870395302773, -0.016056470572948456, 0.008831058628857136, -0.027663392946124077, 0.011681762523949146, 0.005752434488385916, -0.020125016570091248, -0.011518475599586964, -0.011069439351558685, -0.028874430805444717, 0.04035888984799385, 0.013797678053379059, 0.0017706339713186026, 0.002183952135965228, 0.013586767017841339, 0.0027554535772651434, -0.011198706924915314, -0.016764042899012566, -0.01345069520175457, 0.0424271821975708, 0.0256903525441885, -0.011552494019269943, -0.01700897142291069, -0.0025819619186222553, 0.00391546543687582, -0.0004936854238621891, 0.024003062397241592, -0.003844027640298009, 0.01163413655012846, 0.012974443845450878, 0.028357358649373055, -0.01288599707186222, 0.02005697973072529, -0.022451844066381454, -0.012804354541003704, 0.0031245481222867966, -0.018124761059880257, -0.01885954849421978, -0.0008245099452324212, -0.03388187289237976, -0.017063401639461517, 0.0025513458531349897, -0.004282859154045582, 0.005238763522356749, -0.011919887736439705, -0.012981247156858444, -0.01209678128361702, 0.017879832535982132, 0.009456988424062729, 0.024506527930498123, 0.009041969664394855, -0.01658714935183525, -0.015103966929018497, -0.014886252582073212, 0.004146787337958813, 0.004925798159092665, -0.015008716844022274, -0.012035548686981201, 0.0022638943046331406, -0.02355402521789074, -0.00839562900364399, 0.0074363225139677525, -0.005973550956696272, -0.011572904884815216, -0.003291236236691475, 0.00021612025739159435, -0.022288557142019272, 0.022683165967464447, -0.0033677765168249607, -0.00012150784459663555, -0.02277841605246067, -0.012559425085783005, 0.01334183756262064, 0.010763277299702168, 0.0035344643983989954, 0.03567802160978317, -0.01687289960682392, -0.01366841048002243, -0.005823872052133083, 0.01156610157340765, 0.0064600077457726, 0.03537866100668907, -0.012402942404150963, 0.002035974059253931, 0.004551601130515337, 0.026030531153082848, -0.0029680656734853983, 0.009559042751789093, 0.010559169575572014, 0.02833014354109764, 0.011899476870894432, 0.008919505402445793, 0.022955309599637985, 0.004551601130515337, 0.021472126245498657, -0.011083045974373817, 0.022723987698554993, -0.034834373742341995, 0.0023625462781637907, -0.023145809769630432, -0.013260195031762123, -0.025459028780460358, 0.011817834340035915, 0.004208019934594631, 0.01779818907380104, -0.03309265524148941, 0.007742484100162983, 0.0055075050331652164, -0.017702938988804817, 0.006160649936646223, 0.0006556958542205393, 0.009456988424062729, -0.01786622405052185, -0.01865543983876705, 0.010940170846879482, -0.02256070077419281, -0.001440659980289638, -0.00635455222800374, -0.01134838629513979, 0.011974316090345383, -0.0029306458309292793, 0.03755581006407738, 0.006242292933166027, -0.01899562031030655, -0.014219501055777073, 0.02241102233529091, 0.011307564564049244, 0.005459879990667105, 0.00020485180721152574, -0.008443254046142101, 0.01956712082028389, -0.008062252774834633, 0.012675086036324501, -0.021268019452691078, -0.005793255753815174, 0.019621551036834717, 0.042018964886665344, -0.006432793103158474, 0.018206404522061348, 0.004970021545886993, 0.02468341961503029, 0.005970149300992489, -0.022438235580921173, -0.005279584787786007, 0.006810392253100872, 0.017743760719895363, -0.014028999954462051, 0.006276310887187719, 0.011933495290577412, -0.015484968200325966, -0.004697877913713455, 0.0033558702562004328, 0.003861036617308855, 0.024452097713947296, 0.011967512778937817, -0.0035684823524206877, -0.003471531206741929, -0.010742866434156895, -0.002068290952593088, -0.008109877817332745, -0.005337415263056755, 0.0025377387646585703, 0.003993706777691841, -0.00828677136451006, 0.0110014034435153, -0.0325755849480629, 0.010804099030792713, 0.0022213717456907034, 0.0038508314173668623, 0.010164561681449413, -0.007606412284076214, 0.02298252284526825, -0.006102819461375475, 0.04169239103794098, -0.015593825839459896, -0.027785856276750565, -0.0007756091072224081, 0.008851469494402409, -0.013083301484584808, -0.009708721190690994, -0.030126292258501053, -0.016410255804657936, -0.027023855596780777, -0.0009286899003200233, 0.008484075777232647, 0.009443381801247597, 0.01387932151556015, -0.010137347504496574, 0.005949738435447216, -0.0023778544273227453, 0.013008462265133858, -0.003245311789214611, -0.0008666071225889027, 0.014818216674029827, 0.004867967683821917, 0.007987413555383682, -0.013314623385667801, -0.010382276959717274, 0.010293830186128616, 0.014083429239690304, 0.003076923079788685, 0.009919632226228714, -0.007640430238097906, 0.0014168473426252604, 0.004544797353446484, 0.013192159123718739, -0.0245609562844038, -0.0024526938796043396, 0.013389462605118752, 0.002461198251694441, -0.0008938214741647243, 0.011477654799818993, 0.01743079535663128, 0.0022434834390878677, -0.012287281453609467, -0.016627971082925797, -0.010307436808943748, 0.002896627876907587, 0.07315218448638916, 0.018315261229872704, 0.01900922693312168, 0.012511800043284893, 0.017349151894450188, 0.022615129128098488, -0.01792065240442753, -0.010525152087211609, 0.012988051399588585, -0.012906407937407494, 0.003253816394135356, 0.005738827399909496, 0.012668282724916935, -0.010477527044713497, 0.031922437250614166, -0.009735935367643833, 0.0048101372085511684, 0.007320661563426256, -0.02732321247458458, -0.00793298427015543, 0.0036161073949187994, 0.011219117790460587, 0.007470340467989445, 0.028057999908924103, 0.025649530813097954, -0.013566356152296066, 0.0022468853276222944, 0.038399454206228256, 0.004480163101106882, 0.007871752604842186, 9.078539005713537e-05, 0.01352553442120552, 0.0129200154915452, 0.0035684823524206877, -0.026316281408071518, 0.01502232439815998, 0.02419356256723404, 0.012579835951328278, 0.022723987698554993, -0.016260577365756035, -0.007000892888754606, 0.027500106021761894, 0.017131436616182327, -0.02091423235833645, 0.009831186383962631, -0.008749415166676044, -0.022329378873109818, 0.03973295912146568, -0.0023166220635175705, -0.006150444503873587, 0.03524259105324745, 0.0020784963853657246, 0.012355317361652851, -0.021390482783317566, 0.006538249086588621, -0.014056215062737465, -0.010212186723947525, -0.0019322192529216409, -0.021866735070943832, -0.017975082620978355, -0.006194667890667915, -0.03807288408279419, 0.007919377647340298, -0.0062048728577792645, -0.022574307397007942, -0.03665773570537567, -0.023608453571796417, -0.01685929298400879, -0.026016924530267715, 0.027527321130037308, -0.01121231447905302, -0.012586639262735844, -0.0068716248497366905, 0.00455500278621912, 0.01680486463010311, 0.015471361577510834, -0.0036093038506805897, -0.006735553033649921, -0.003582089440897107, -0.0007483947556465864, -0.015471361577510834, -0.034126803278923035, 0.0019441255135461688, -0.03880767151713371, -0.0016201046528294683, 0.009232469834387302, -0.020519623532891273, 0.005783050786703825, -0.01828804612159729, 0.022220522165298462, 0.01249138917773962, 0.0006233788444660604, 0.032493941485881805, -0.03788238391280174, 0.014328357763588428, 0.02106391079723835, 0.013110515661537647, 0.003027596976608038, 0.000790066784247756, -0.007953395135700703, -0.010953778401017189, -0.004061742685735226, -0.019390229135751724, -0.005806863307952881, -0.0013955861795693636, 0.009048772975802422, 0.0040821535512804985, 0.030561720952391624, 0.01059999130666256, -0.023730918765068054, 0.03233065456151962, -0.013593570329248905, 0.003861036617308855, 0.003216396551579237, -0.009797167964279652, -0.0017502232221886516, 0.013763660565018654, 0.030262364074587822, 0.009150827303528786, -0.0077288770116865635, -0.012688693590462208, -0.02974529005587101, -0.007851341739296913, 0.007211804389953613, 0.002425479469820857, 0.020410766825079918, -0.002071692841127515, -0.009735935367643833, 0.0033252539578825235, 0.0012960836756974459, -0.010661223903298378, -0.002343836473301053, -0.021961985155940056, -0.014042607508599758, -0.03752859681844711, -0.013062890619039536, 0.019839264452457428, 0.006272908765822649, -0.01922694221138954, 0.0008700089529156685, -0.0043236808851361275, -0.007851341739296913, -0.0014066420262679458, -0.027445677667856216, 0.009627078659832478, -0.035405877977609634, -0.0010902751237154007, 0.015784326940774918, 0.011280350387096405, 0.018873155117034912, -0.026071352884173393, 1.4205149454937782e-05, -0.021676234900951385, 0.008626950904726982, 0.03407237306237221, -0.027295999228954315, -0.014967895112931728, -0.01906365528702736, 0.04297146573662758, 0.010545562952756882, 0.03331037238240242, 0.001464472501538694, 0.019948123022913933, 0.0020427776034921408, 0.011688565835356712, -0.0008019730448722839, 0.009314113296568394, 0.008735808543860912, -0.022547094151377678, 0.013423481024801731, 0.030480077490210533, 0.00889229029417038, 0.034834373742341995, 0.005793255753815174, 0.01800229586660862, 0.007375090382993221, -0.00392907252535224, -0.011729387566447258, -0.015852361917495728, -0.02205723524093628, -0.024220775812864304, 0.0020155631937086582, -0.025091635063290596, 0.008368413895368576, -0.011464047245681286, 0.024656206369400024, 0.010436705313622952, 0.017185864970088005, 0.007640430238097906, 0.001069013960659504, 0.010858528316020966, -0.005898711737245321, 0.002835395745933056, -0.006606284994632006, 0.0023693498224020004, -0.010953778401017189, -0.00015180507034529, -0.003294637892395258, 0.001228898297995329, 0.02107751928269863, 0.030697792768478394, 0.004704681690782309, -0.003986903000622988, 0.007878555916249752, -0.007892163470387459, 0.027227962389588356, -0.014083429239690304, -0.005000637844204903, -0.015457754023373127, -0.015212824568152428, -0.019675979390740395, -0.013920143246650696, -0.0015291066374629736, -0.01842411793768406, 0.0282485019415617, 0.00529999565333128, -0.0028490028344094753, 0.013355445116758347, 0.0014372582081705332, -0.02767699956893921, -0.007851341739296913, 0.0012425053864717484, 0.04751626402139664, 0.003117744578048587, 0.017253901809453964, 0.01694093644618988, 0.007021303754299879, -0.01915890723466873, 0.024520134553313255, -0.011838244274258614, -0.0006386869354173541, 0.020546838641166687, 0.01643747091293335, -0.002454394707456231, 0.022683165967464447, -0.007545180153101683, 0.015430539846420288, -0.02782667800784111, -0.007980609312653542, 0.015566611662507057, 0.008552111685276031, 0.001813156413845718, -0.008558914996683598, -0.010157758370041847, -0.029418718069791794, -0.003459624946117401, -0.02661564014852047, 0.01398817915469408, -0.015226432122290134, -0.00825275294482708, -0.020165838301181793, 0.005068673752248287, -0.008980737067759037, 0.02468341961503029, -0.005745630711317062, 0.005752434488385916, -0.026370709761977196, 0.011620529927313328, -0.034834373742341995, 0.014478037133812904, -0.013069693930447102, 0.04874091222882271, -0.0057218181900680065, -0.012089977040886879, 0.014600501395761967, 0.03366415947675705, -0.021948378533124924, -0.011824637651443481, -0.017321936786174774, 0.022302163764834404, -0.013212569989264011, -0.0006578220054507256, 0.008354807272553444, -0.0063409446738660336, 0.00035059743095189333, -0.028847217559814453, -0.003253816394135356, -0.005864693783223629, -0.018587404862046242, -0.0231322031468153, 0.015430539846420288, 0.007130160927772522, -0.0064157843589782715, -0.009837989695370197, 0.00667432090267539, -0.019308585673570633, 0.008729004301130772, 0.0044121271930634975, -0.0005625717458315194, -0.004344091285020113, -0.01121231447905302, 0.004174001980572939, -0.007177786435931921, 0.012477781623601913, 0.01031424105167389, -4.6880981244612485e-05, 0.019022835418581963, 0.040739890187978745, -0.016491899266839027, 0.011110261082649231, 0.005361228249967098, -0.029064930975437164, -0.011981120333075523, 0.006817196030169725, -0.010749670676887035, -0.027949143201112747, 0.0063409446738660336, -0.00785814505070448, -0.002411872148513794, 0.0022213717456907034, 0.015063146129250526, 0.00549729960039258, 0.002153335837647319, -0.008654165081679821, 0.018601011484861374, 0.0016311603831127286, 0.0018471743678674102, -0.006388570182025433, -0.02911936119198799, 0.016696007922291756, -0.011681762523949146, -0.00839562900364399, 0.017267508432269096, -0.005493897944688797, 0.008919505402445793, -0.02703746221959591, 0.008014627732336521, -0.0010741165606305003, -0.021050304174423218, 0.006755963899195194, -0.00950461346656084, 0.004595824517309666, -0.010749670676887035, -0.0135595528408885, 0.013532338663935661, -0.009885614737868309, -0.017553258687257767, 0.00700769666582346, -0.006905642803758383, -0.0042454395443201065, 0.012593443505465984, 0.02833014354109764, -0.0013352043461054564, 0.0018539780285209417, -0.023540416732430458, -0.0018607815727591515, -0.021227197721600533, -0.009293702431023121, -0.004871369805186987, -0.011232725344598293, -0.02171705663204193, 0.024288812652230263, 0.010593187995254993, -0.0318952240049839, -0.007545180153101683, -0.00700769666582346, -0.04199175164103508, -0.01907726377248764, -0.028874430805444717, 0.016396649181842804, 0.023785347118973732, 0.0032725261989980936, 0.0015758812660351396, 0.023023344576358795, -0.0011285452637821436, 0.005973550956696272, -0.0037181612569838762, -0.017267508432269096, 0.007681251969188452, -0.0005030403262935579, 0.03203129768371582, 0.012763532809913158, -0.015376110561192036, -0.021744269877672195, 0.03380022943019867, 0.021730663254857063, -0.008368413895368576, 0.013246587477624416, 0.006528043653815985, -0.004507377743721008, -0.012158012948930264, -0.0009014755487442017, 0.010953778401017189, 0.0038474295288324356, 0.019267763942480087, -0.019186120480298996, 0.000827911717351526, 0.0013760258443653584, 0.013886124826967716, -0.010382276959717274, -0.010021686553955078, 0.010742866434156895, 0.023254666477441788, -0.012573032639920712, -0.013185354880988598, -0.008354807272553444, -0.035759665071964264, -0.01836968958377838, 0.01320576574653387, 0.001266318024136126, 0.0006306076538749039, 0.003932474181056023, -0.0012824764708057046, -0.011042225174605846, 0.0022826041094958782, 0.008953522890806198, -0.017607688903808594, 0.009518221020698547, 0.010218990966677666, -0.016818471252918243, -0.029064930975437164, -0.002342135412618518, 0.010021686553955078, -0.014369179494678974, 0.009946847334504128, 0.012151209637522697, -0.0022928095422685146, 0.006681124214082956, 0.01174299418926239, 0.015063146129250526, -0.023036951199173927, -0.009803971275687218, 0.003840625984594226, -0.015512182377278805, -0.01665518619120121, -0.012450567446649075, -0.010545562952756882, -0.011055831797420979, 0.011225922033190727, 0.0023931623436510563, -0.025377387180924416, -0.014355572871863842, -0.0007747586932964623, 0.00731385825201869, -0.03516094759106636, 0.022166091948747635, 0.23251944780349731, -0.02596249431371689, 0.0018522770842537284, 0.02690139040350914, -0.010327847674489021, -0.009681507013738155, 0.03167751058936119, 0.00223157717846334, -0.02042437344789505, 0.016532720997929573, 0.001679635955952108, -0.010484330356121063, -0.0038236170075833797, -0.010484330356121063, 0.0007607262814417481, -0.018805120140314102, -0.03124208003282547, -0.013552749529480934, -0.05246927589178085, 0.0013819789746776223, -0.006980482023209333, -0.008565718308091164, -0.016328614205121994, -0.011450439691543579, 0.017185864970088005, -0.00999447237700224, -0.006225283723324537, 0.011906280182301998, 0.025390993803739548, 0.01398817915469408, -0.01921333558857441, -0.014328357763588428, -0.008035038597881794, -0.0076540373265743256, -0.020519623532891273, 0.0037487775553017855, 0.018342476338148117, -0.0018828932661563158, 0.03429008647799492, 0.00658247247338295, 0.013015265576541424, -0.00924607738852501, 0.0059633455239236355, -0.017131436616182327, 0.0030139898881316185, 0.0013411574764177203, 0.006395373493432999, -0.0070349108427762985, 0.0031653696205466986, 0.004139984026551247, -0.02390781044960022, -0.0048101372085511684, 0.03815452754497528, 0.012817961163818836, -0.025513458997011185, 0.003901858115568757, -0.01113747525960207, 0.028139643371105194, 0.0018233618466183543, -0.004265850409865379, 0.011729387566447258, 0.025023600086569786, -0.025363778695464134, 0.016682399436831474, -0.00350384833291173, -0.0050278520211577415, -0.012164817191660404, 0.024384062737226486, 0.024316025897860527, -0.02183951996266842, 0.012545817531645298, -0.02782667800784111, -0.006592677440494299, -0.001908406731672585, 0.023036951199173927, -0.020383551716804504, 0.0028421992901712656, 0.03067057952284813, 0.022601522505283356, 0.02091423235833645, -0.02099587582051754, -0.031650297343730927, -0.0019747416954487562, -0.02170344814658165, -0.0061776586808264256, -0.0312965102493763, 0.010790492407977581, 0.008218735456466675, -0.005313602741807699, -0.008205127902328968, 0.0038270186632871628, -0.03208572417497635, 0.0016838882584124804, -0.0006863120361231267, 0.01068163476884365, 0.007279840297996998, 0.004687672946602106, 0.010273419320583344, -0.004395118448883295, 0.0041127693839371204, -0.01744440197944641, 0.01721308007836342, 0.027595356106758118, 0.0072730365209281445, -0.005061869975179434, -0.019335798919200897, -0.004177403636276722, 0.005575540941208601, 0.006395373493432999, -0.01680486463010311, 0.015117574483156204, -0.02868393063545227, 0.018873155117034912, 0.007694859057664871, 0.0030207934323698282, 0.016260577365756035, -0.01571629010140896, -0.03004464879631996, 0.03614066541194916, -0.010450312867760658, -0.015416932292282581, -0.03222179785370827, 0.008953522890806198, -0.010912956669926643, -0.007062125485390425, 4.2336396290920675e-05, -0.001571629079990089, 0.003085427451878786, -0.013784071430563927, -0.027350427582859993, 0.0311060082167387, -0.0029272441752254963, -0.007055321708321571, 0.013926946558058262, 0.015757111832499504, 0.012532210908830166, 0.016995364800095558, -0.013178551569581032, -0.004473359789699316, 0.007708466146141291, -0.0032078921794891357, 0.0028660118114203215, 0.008552111685276031, -0.02739124931395054, 0.03301101177930832, -0.04452268406748772, 0.034698303788900375, 0.0026976231019943953, -0.018818726763129234, -0.017458008602261543, -0.017743760719895363, -0.021050304174423218, -0.012593443505465984, -0.020601266995072365, 0.019880086183547974, -0.02690139040350914, -0.019539907574653625, -0.03812731057405472, 0.007688055280596018, 0.011722583323717117, -0.04261768236756325, 0.005157120525836945, 0.01643747091293335, -0.019594335928559303, -0.019036442041397095, -0.008640557527542114, -0.17732873558998108, 0.021118339151144028, 0.003524258965626359, -0.010770081542432308, 0.017553258687257767, -0.015253646299242973, 0.024384062737226486, 0.020533232018351555, -0.02271037921309471, 0.006330739241093397, 0.01579793356359005, -0.009409363381564617, -0.03720202296972275, -0.017975082620978355, -0.013947357423603535, 0.011572904884815216, -0.008388824760913849, 0.028139643371105194, 0.013641195371747017, 0.005650380626320839, 0.04574733227491379, 0.0060960156843066216, -0.005755836144089699, -0.012559425085783005, -0.0069532678462564945, -0.007143768481910229, -0.017335545271635056, 0.02860228717327118, -0.003925670869648457, -8.052685006987303e-05, -0.001017136499285698, -0.015498575754463673, 0.04631883278489113, 0.0013326529879122972, 0.011593315750360489, 0.006613088306039572, -0.021376876160502434, -0.024370456114411354, -0.007021303754299879, 0.022152485325932503, 0.01970319263637066, 0.029228217899799347, 0.015702683478593826, -0.0015537695726379752, 0.004384913016110659, 0.01544414646923542, 0.006330739241093397, 0.005453076679259539, 0.017308330163359642, -0.01986647956073284, -0.008239146322011948, -0.01800229586660862, 0.006276310887187719, 0.011164689436554909, -0.006082408595830202, -0.0018607815727591515, -0.010307436808943748, 0.011824637651443481, 0.004953012801706791, 0.015634646639227867, 0.0013241484994068742, -0.02911936119198799, -0.014464429579675198, -0.008171110413968563, -0.005330611951649189, -0.023091381415724754, -0.020614873617887497, -0.003405196126550436, -0.015607432462275028, 0.011076242662966251, -0.01751243695616722, -0.0024356849025934935, -0.004017519298940897, -0.02532295696437359, 0.016464686021208763, 0.005687800236046314, -0.029554789885878563, 0.009191649034619331, 0.010055704042315483, 0.028928859159350395, -0.004119573161005974, 0.02299613133072853, -0.017947867512702942, 0.014967895112931728, -0.002187353791669011, -0.010538759641349316, 0.011817834340035915, -0.0012348514283075929, -0.013090104795992374, 0.00871539767831564, 0.021186375990509987, -0.0034868393559008837, -0.0031823785975575447, -0.016546327620744705, 0.0044053238816559315, 0.027581749483942986, -0.023309094831347466, 0.00688523193821311, 0.005204745568335056, -0.0009839690756052732, 0.02098226733505726, -0.0001367096119793132, 0.0034460178576409817, -0.004929200280457735, 0.023159416392445564, -0.018818726763129234, -0.003932474181056023, 0.007626823149621487, 0.037746310234069824, 0.00392907252535224, -0.004503975622355938, 0.025948887690901756, 0.012464175000786781, 0.003874643938615918, 0.0277586430311203, 0.017947867512702942, -0.0010673130163922906, -0.02369009703397751, 0.0122804781422019, 0.013246587477624416, 0.03224901109933853, 0.009735935367643833, -0.010184972546994686, -0.007640430238097906, -0.03246672451496124, -0.01843772642314434, -0.10831313580274582, -0.0298269335180521, 0.015811540186405182, 0.019948123022913933, -0.013144534081220627, 0.022873666137456894, 0.0051026917062699795, 0.024302419275045395, -0.005738827399909496, 0.014736573211848736, 0.00924607738852501, -0.021540163084864616, -0.013192159123718739, 0.00291023519821465, 0.025663137435913086, -0.010722456499934196, 0.0005617213319055736, 0.013620784506201744, -0.00412977859377861, 0.02604413777589798, -1.922811134136282e-05, -0.004344091285020113, 0.024288812652230263, -0.013586767017841339, 0.0010494536254554987, 0.006555257830768824, -0.025513458997011185, 0.01099459920078516, 0.015253646299242973, -0.0029782711062580347, 0.00119147845543921, -0.00921886321157217, -0.005759237799793482, -0.009280094876885414, -0.004844155162572861, -0.00317727611400187, -0.009579453617334366, -0.007987413555383682, 0.005929327569901943, -0.03328315541148186, 0.008524896577000618, 0.005150316748768091, -0.01195390522480011, -0.016954543069005013, 0.00708253588527441, -0.037691883742809296, -0.020900625735521317, 0.0290377177298069, 0.024724241346120834, 0.0005013394402340055, -0.0405493900179863, -0.00985840056091547, -0.02163541316986084, -0.012443764135241508, 0.02412552572786808, -0.018342476338148117, 0.018968405202031136, 0.006024578120559454, -0.02653399668633938, 0.00021675809693988413, -0.008171110413968563, -0.012879193760454655, -0.01185185182839632, 0.03679380938410759, -0.0022877068258821964, 0.00907598715275526, -0.008647361770272255, -0.0006012671510688961, 0.007660841103643179, -0.005014244932681322, -0.020750945433974266, 0.027772249653935432, -0.0023897606879472733, -0.005436067469418049, -0.02582642436027527, -0.017634902149438858, -0.026384318247437477, -0.012749925255775452, 0.023594846948981285, -0.009300505742430687, -0.011361993849277496, -0.02013862319290638, 0.02762257121503353, -0.026316281408071518, 0.022737594321370125, 0.013858910650014877, 0.0029646637849509716, -0.00029999573598615825, -0.0034783347509801388, -0.017702938988804817, -0.009470595978200436, 0.017036186531186104, 0.02256070077419281, -0.017321936786174774, -0.015621040016412735, 0.03325594216585159, -0.010225794278085232, -0.026806140318512917, 0.009300505742430687, 0.014641323126852512, 0.0050992900505661964, -0.019812051206827164, -0.028765574097633362, 0.01885954849421978, -0.012266870588064194, -0.011361993849277496, -0.014464429579675198, 0.0005336565081961453, -0.00879023689776659, 0.006851213984191418, -0.01751243695616722, -0.0018199600744992495, -0.008667772635817528, 0.0066573116928339005, -0.01736275851726532, -0.012287281453609467, 0.001290130545385182, -0.030725007876753807, -6.654760363744572e-05, -0.010048900730907917, -0.008912701159715652, 0.018029510974884033, 0.029636433348059654, 0.011981120333075523, 0.0033711784053593874, 0.0019016030710190535, -0.01970319263637066, 0.02134966105222702, -0.010361866094172001, 0.013369051739573479, -0.0047284942120313644, -0.02162180468440056, 0.006109622772783041, -0.031269293278455734, 0.00467746751382947, -0.009865203872323036, 0.009844793006777763, -0.017770973965525627, -0.012498192489147186, 0.022860059514641762, 0.006636900827288628, 0.03891652822494507, -0.018818726763129234, -0.021540163084864616, -0.006555257830768824, 0.0076540373265743256, -0.013505123555660248, -0.0008670323877595365, -0.018805120140314102, -0.0030054852832108736, 0.018029510974884033, 0.014097035862505436, 0.033201511949300766, 0.019839264452457428, 0.005364629905670881, -0.016029255464673042, -0.01792065240442753, -0.02676531858742237, 0.01564825512468815, 0.005504103377461433, -0.0019679381512105465, -0.0264795683324337, 0.02256070077419281, -0.0035106518771499395, 0.002852404722943902, -0.014219501055777073, 0.00540545117110014, 0.015308074653148651, 0.008667772635817528, 0.003146659815683961, 0.02541820891201496, -0.007075732573866844, 0.009368541650474072, 0.004867967683821917, -0.005041459575295448, 0.028302930295467377, 0.007796912919729948, 0.013566356152296066, -0.003697750624269247, -0.020465195178985596, -0.011654547415673733, 0.0244112778455019, 0.003959688823670149, -0.000798996479716152, -0.02022026665508747, 0.01366160623729229, 0.021336054429411888, 0.026248246431350708, -0.003619509283453226, 0.010851724073290825, -0.014382787048816681, 0.011824637651443481, -0.019199727103114128, -0.0008211081149056554, 0.017376365140080452, 0.007075732573866844, 0.002542841248214245, -0.0065484545193612576, -0.007347876206040382, 0.02212527021765709, -0.0032351065892726183, 0.019893694669008255, -0.004265850409865379, -0.004820342641323805, -0.0057252198457717896, -0.014042607508599758, -0.021866735070943832, 0.019172513857483864, -0.033201511949300766, -0.029500361531972885, -0.013464302755892277, 0.02107751928269863, -0.016451077535748482, -0.013437087647616863, 0.00031530382693745196, 0.009137219749391079, -0.003012289060279727, 0.03045286424458027, 0.0075723943300545216, 0.022492665797472, -0.01156610157340765, 0.02541820891201496, 0.026738103479146957, -0.002342135412618518, 0.01566186174750328, 0.0017281115287914872, 0.02654760330915451, 0.0063341413624584675, 0.0023251264356076717, -0.017349151894450188, 0.007973806001245975, 0.0239214189350605, 0.0016855892026796937, -0.02256070077419281, -0.015035931020975113, -0.01270230021327734, 0.01815197430551052, 0.0012416549725458026, -0.0007717821281403303, 0.03418122977018356, -0.01412425097078085, 0.05165284872055054, -0.005691201891750097, -0.0032112940680235624, 0.005749032832682133, -0.0039528850466012955, 0.03282051160931587, -0.0074907513335347176, -0.00935493502765894, -0.0007084236713126302, -0.008103074505925179, 0.01284517627209425, 0.00269592204131186, 0.0311060082167387, -0.012083173729479313, -0.0030497086700052023, -0.0073546795174479485, -0.005670791491866112, -0.001928817480802536, -0.009327719919383526, -0.008191521279513836, 0.02960921823978424, 0.003216396551579237, 0.007014499977231026, -0.003544669831171632, -0.017879832535982132, -0.007293447386473417, 0.02634349651634693, -0.02740485593676567, -0.01978483609855175, -0.03371858596801758, -0.021104732528328896, -0.02241102233529091, -0.0024935153778642416, -0.016927329823374748, -0.014233107678592205, 0.018029510974884033, -0.0032895351760089397, -0.01758047379553318, -0.009103202261030674, 0.02490113489329815, 0.005351022817194462, 0.029418718069791794, -0.014546073041856289, -0.022615129128098488, -0.0032487136777490377, 0.018274439498782158, -0.014464429579675198, 0.013219373300671577, -0.024533741176128387] + def test_retrieve_openai_embeddings_calls_openai_api_mocked(self): + with patch('openai.embeddings_utils.get_embedding') as mock_get_embedding, \ + patch('app.main.lib.openai.redis_client.get_client') as mock_redis_client: + mock_redis = mock_redis_client.return_value + mock_redis.get.return_value = None # Ensure cache is empty + mock_get_embedding.return_value = self.test_content_embedding_true_value + result = retrieve_openai_embeddings(self.test_content_sample['content'], self.test_content_sample['models'][0]) + mock_get_embedding.assert_called_once_with(self.test_content_sample['content'], + engine=self.test_content_sample['models'][0][len(PREFIX_OPENAI):]) + self.assertEqual(result, self.test_content_embedding_true_value) + + def test_retrieve_openai_embeddings_handles_api_error_mocked(self): + with patch('openai.embeddings_utils.get_embedding') as mock_get_embedding, \ + patch('app.main.lib.openai.redis_client.get_client') as mock_redis_client: + mock_redis = mock_redis_client.return_value + mock_redis.get.return_value = None # Ensure cache is empty + mock_get_embedding.side_effect = Exception("API Error") + result = retrieve_openai_embeddings(self.test_content_sample['content'], self.test_content_sample['models'][0]) + mock_get_embedding.assert_called_once() + self.assertIsNone(result) + + def test_retrieve_openai_embeddings_uses_cache(self): + with patch('app.main.lib.openai.redis_client.get_client') as mock_redis_client: + mock_redis = mock_redis_client.return_value + cached_embedding = self.test_content_embedding_true_value + mock_redis.get.return_value = pickle.dumps(cached_embedding) # Simulate cached result + result = retrieve_openai_embeddings(self.test_content_sample['content'], self.test_content_sample['models'][0]) + mock_redis.get.assert_called_once() # Ensure cache was checked + self.assertEqual(result, cached_embedding) # Ensure cached result was returned + + def test_openai_get_document_body_mocked(self): + with patch('app.main.lib.text_similarity.retrieve_openai_embeddings') as mock_retrieve_openai_embeddings: + mock_retrieve_openai_embeddings.return_value = self.test_content_embedding_true_value + result = get_document_body(self.test_content_sample) + mock_retrieve_openai_embeddings.assert_called_once_with(self.test_content_sample['content'], "openai-text-embedding-ada-002") + self.assertEqual({'text': 'this is a test', 'models': ['openai-text-embedding-ada-002'], 'content': 'let there be content', 'model': 'openai-text-embedding-ada-002', 'vector_openai-text-embedding-ada-002': self.test_content_embedding_true_value, 'model_openai-text-embedding-ada-002': 1}, result) + def test_openai_get_document_body(self): + with patch('app.main.lib.openai.redis_client.get_client') as mock_redis_client: + key = os.getenv('OPENAI_API_KEY', default=None) + self.assertIsNotNone(key) + self.assertNotEquals(key, "") + + mock_redis = mock_redis_client.return_value + mock_redis.get.return_value = None # Ensure cache is empty + result = get_document_body(self.test_content_sample) + self.assertIsNotNone(openai.api_key) + self.assertNotEquals(openai.api_key,"") + self.assertEqual({'text': 'this is a test', 'models': ['openai-text-embedding-ada-002'], 'content': 'let there be content', 'model': 'openai-text-embedding-ada-002', 'vector_openai-text-embedding-ada-002': self.test_content_embedding_true_value, 'model_openai-text-embedding-ada-002': 1}, result) + def test_retrieve_openai_embeddings_calls_openai_api(self): + with patch('app.main.lib.openai.redis_client.get_client') as mock_redis_client: + key = os.getenv('OPENAI_API_KEY', default=None) + self.assertIsNotNone(key) + self.assertNotEquals(key, "") + + mock_redis = mock_redis_client.return_value + mock_redis.get.return_value = None # Ensure cache is empty + result = retrieve_openai_embeddings(self.test_content_sample['content'], self.test_content_sample['models'][0]) + self.assertIsNotNone(openai.api_key) + self.assertNotEquals(openai.api_key,"") + self.assertEqual(result, self.test_content_embedding_true_value) + +if __name__ == "__main__": + unittest.main()