Files
ds_fire_fighter/__pycache__/utils.cpython-311.pyc
T

138 lines
22 KiB
Plaintext
Raw Normal View History

2024-08-05 22:14:19 +01:00
§
2024-08-15 23:17:17 +01:00
cy¾fSJãóÐddlmZddlmZddlZddlmZddlmZddl m
2024-08-07 17:50:40 +01:00
Z
ddl m Z ddl m Z dd l
2024-08-15 23:17:17 +01:00
mZdd
lmZdd lmZdd lmZdd
lmZddlmZddlZddlmZddlZddlZddlmZddl Z ddl!Z!ddl"Z"ddl#Z$ddl%m&Z&ddl'Z'ddl(Z(ddl)m*Z*ddl+Z+ddl,m-Z-e-¦«ej.d¦«a/ej.d¦«ej0d<eej.d¦«¬¦«Z1dZ2eddd¬¦«Z3dZ4e4¦«Z5d@dZ6dZ7dZ8d „Z9d!„Z:d"„Z;d#„Z<dAd%„Z=d&„Z>dBd(„Z?dCd*„Z@dDd,„ZAd-eBd.eCfd/„ZDd0eEd1eBfd2„ZFdEd4„ZGe5d3fd5„ZHd6„ZId7eBfd8„ZJd9eEd:eEd;eEfd<„ZKd9eEd:eEd;eEfd=„ZLdFd?„ZMdS)Gé©ÚHuggingFaceBgeEmbeddings)ÚRecursiveCharacterTextSplitterN)ÚInMemoryDocstore)ÚFAISS)Ú PyPDFLoader)Ú
TextLoader)ÚDocx2txtLoader)ÚChatGroq)ÚPromptTemplate)ÚStrOutputParser)Úuuid4)ÚDocument)Ú
TextExtractor)ÚThreadPoolExecutor)ÚGroq)Ú AudioSegment)Ú
2024-08-13 21:30:01 +01:00
VideoFileClip)Ú load_dotenvÚOPENAI_API_KEYÚ GROQ_API_KEY)Úapi_keyúwhisper-large-v3zllama3-8b-8192éd)Ú temperatureÚ
model_nameÚ
2024-08-07 17:50:40 +01:00
max_tokenscó>d}ddi}ddi}t|||¬¦«}|S)NzBAAI/bge-small-enÚdeviceÚcudaÚnormalize_embeddingsT)rÚ model_kwargsÚ
2024-08-15 23:17:17 +01:00
encode_kwargsr)rr"r#Ú
embeddingss úHc:\Users\timmy_3aupohg\Downloads\Manaknight Projects\ds_aiindex\utils.pyÚload_embedding_modelr&-s?Ø$€Jؘ%€LØ+¨TÐ2€MÝ%°LÐP]ðñô€Jð ÐóÚtextcóV|dj}|dj}tddtd¬¦«}| |g¦«}g}t |¦«D]N\}}| ¦«} || d<|| d<t|j| ¬¦«}
| |
¦«ŒO|S) Nréèé
2024-08-08 14:58:44 +01:00
F)Ú
2024-08-15 23:17:17 +01:00
chunk_sizeÚ
chunk_overlapÚlength_functionÚis_separator_regexÚpageÚ file_type©Ú page_contentÚmetadata) r3r4rÚlenÚcreate_documentsÚ enumerateÚcopyrÚappend) Údocr1r(r4Ú
2024-08-15 23:17:17 +01:00
text_splitterÚdocsÚ documentsÚchunkÚ doc_metadataÚdocuments r%r6r6<Ø ˆqŒ6Ô €DØ1ŒvŒ€HÝØÝØ ð ñô€Mð × )¨4¨&Ñ 1€Dà€Iݘd‘O”Oð#‰ˆˆ5à—}’}‘ˆ Ø ˆ Ø$-ˆ ¨Ô);ÀlÐØ×Ò˜Ñ Ðr'cóš t|¦«}| ¦«}t|¦«}|S#td|¦«xYw©NzError loading -- )r Úloadr6Ú
ValueError)Ú
document_pathÚtxt_docr(r<s r%Úload_txt_documentrHRsSð˜Ø|Š|‰~Œ~ˆå Ñ؈ øðÐ<¨]Ð=øøøó 36A
cóš t|¦«}| ¦«}t|¦«}|S#td|¦«xYwrC)r
rDr6rE)rFÚdocx_docr(r<s r%Úload_docx_documentrL]sSð! Ø}Š}‰Œˆå Ñ؈ øðÐ<¨]Ð=øøørIcó| t|¦«}| ¦«}|S#td|¦«xYwrC)rÚload_and_splitrE)rFÚpdf_docÚpagess r%Úload_pdf_documentrQisJð˜,ˆØ×(ˆØˆ øðÐ<¨]Ð=øøøs$'§;cóþ| d¦«rt|¦«S| d¦«rt|¦«S| d¦«rt|¦«St d|¦«)Nz.pdfz.txtz.docxzUnsupported document type for )ÚendswithrQrHrLrE)rFs r%Ú
load_documentrTssˆØ×Ò˜fÑKÝ  Ñ× Ò  Ñ 'Ô 'ðKÝ  Ñ× Ò  Ñ (Ô (ðKÝ! ÐI¸Jr'cóÈt|d¦«5}tj| ¦«¦« d¦«cddd¦«S#1swxYwYdS)rbzutf-8)ÚopenÚbase64Ú b64encodeÚreadÚdecode)Ú
image_pathÚ
image_files r%Ú encode_imager^s™Ý ˆJ˜ÑÔðÝ Ô ˜JŸOšOÑ .× 5°gÑ ?øøøð?s9AÁAÁAcó(t|¦«}ddtdœ} dddddœd d
2024-08-13 21:30:01 +01:00
d |id œgd
2024-08-15 23:17:17 +01:00
œgddœ}tjd||¬¦«}| ¦«dddd}n#t
$r }d}Yd}~nd}~wwxYw|S)Nzapplication/jsonzBearer )z Content-TypeÚ
Authorizationz gpt-4o-miniÚuserr(uWhat’s in this image?)Útyper(Ú image_urlÚurlzdata:image/jpeg;base64,)rbrc)ÚroleÚcontenti,)ÚmodelÚmessagesrz*https://api.openai.com/v1/chat/completions)ÚheadersÚjsonÚchoicesrÚmessagerfú$Image not good enough for processing)r^rÚrequestsÚpostrjÚ Exception)r\Ú base64_imageriÚpayloadÚresponseÚes r%Ú
2024-08-09 16:33:21 +01:00
process_imagerusõ  
Ñ+€Lð,¥7Ðð€Gð
%+Ø$=ððð
%0à %Ð'OÀÐ'OÐ'Oð*ððð ðððð"ð'
ð
ˆõ,”=Ð!MÐW^ÐelÐmˆà—=’=‘?”? 9Ô-¨aÔÔ;¸IÔˆøÝ ðˆˆˆˆˆøøøøð:øøøð €OsžAA9Á9
BÂB
Â
BÚimagecóZ| d¦«d d¦«d}||dœ}t¦«}| |¦«}d d|D¦«¦«}|dkrt |¦«}|dkrt ||¬ ¦«}|gSdS)
/éÿÿÿÿú.r)Úfilenamer1Úc3óvK|]4}| ¦«s| ¦«s|dk¯0|VŒ5dS)ú
N)ÚisalnumÚisspace)Ú.0rts r%ú <genexpr>z(create_image_document.<locals>.<genexpr>¸s@èèРa§i¢i¡k¤kÐN°Q·Y²Y±[´[ÐNÀAÈÂIÀI1ÀIÀIÀIÀIÐNr'rmr2)ÚsplitrÚread_text_from_imageÚjoinrur)r\r1Ú
image_namer4Útext_extractorr(r:s r%Úcreate_image_documentrˆ°à×! & *×Ñ5°aÔ8€Jà&°YÐ?€HÝ"_”_€NØ × .¨zÑ :€Dà
7Š7ÐN˜dÐ N€Dð ˆr‚z€zݘZÑð РD°8Ð<ˆàˆuˆ à ˆr'cóÔt|d¦«5}tjj || ¦«fd¬¦«}ddd¦«n #1swxYwY|jS)NrVr)Úfilerg)rWÚclientÚaudioÚ translationsÚcreaterZr()ÚfilepathrŠÚ translations r%Ú
audio_to_textrÉÝ
ˆh˜Ñ Ô ð
 Ý”lÔ˜DŸIšI™KœKÐ
ô
ˆ ð
2024-08-15 21:18:38 +01:00
ð
ð
2024-08-09 16:33:21 +01:00
ñ
2024-08-15 21:18:38 +01:00
ô
ð
ð
2024-08-15 23:17:17 +01:00
ð
ð
ð
2024-08-09 16:33:21 +01:00
ð
øøøð
2024-08-15 21:18:38 +01:00
ð
2024-08-15 23:17:17 +01:00
ð
2024-08-13 21:30:01 +01:00
ð
ð
Ô Ðs;AÁAÁATcó.|dzdz}tj|¦«}t|¦«}tj |¦« d¦«d}|d}tj |¦«stj|¦«g}||kr§tj
||z ¦«} tt| ¦«¦«D]r}
2024-08-15 23:17:17 +01:00
|
2024-08-09 16:33:21 +01:00
|z} t| |z|¦«} || | }
2024-08-15 23:17:17 +01:00
|d|d|
2024-08-09 16:33:21 +01:00
dzd }|
2024-08-13 21:30:01 +01:00
 |d
2024-08-15 23:17:17 +01:00
¬ ¦«| |¦«|rt!d |¦«ŒsnH|d|d
2024-08-15 21:18:38 +01:00
}| |d
2024-08-13 21:30:01 +01:00
¬ ¦«| |¦«|rt!d |¦«||fS)Né<r*rzrÚ_chunksrxÚ_chunkéú.mp3Úmp3)Úformatz
Exporting z _chunk1.mp3)rÚ from_filer5ÚosÚpathÚbasenamerƒÚexistsÚmakedirsÚmathÚceilÚrangeÚintÚminÚexportr9Úprint)Úaudio_file_pathÚchunk_duration_minutesÚ print_outputÚchunk_length_msrŒÚaudio_duration_msÚ
base_filenameÚ chunk_folderÚ chunk_pathsÚ
num_chunksr>Ústart_msÚend_msr?Úchunk_filenames r%Úsplit_audio_by_durationr³Òà,¨rÑ1°DÑ8€Oõ
2024-08-15 21:18:38 +01:00
Ô "  3€EݘE™
œ
Ðõ”G×$ _Ñ;¸CÑÔC€MØ,€LÝ
Œ7>Š>˜ 
Œ €Kà˜?Ò”YÐ0°?Ñ
2024-08-15 23:17:17 +01:00
å•s˜:Ñ 5ˆ˜*ˆHݘ OÑ3Ð5FÑGˆFؘ( 6˜*ˆEØ ,ÐM¨}ÐMÀAÀaÁCÐMˆNØ LŠL˜°ˆLÑ × Ò ˜~Ñ ð
2024-08-13 21:30:01 +01:00
Ð3 4øðE¨=ÐØ
2024-08-15 23:17:17 +01:00
Š ^¨Eˆ Ñ×Ò˜>Ñ ð Ð/˜~Ð ˜Ð $r'c ót||¦«\}}g}|D]}t|¦«}tj |¦«}t jd|¦«} | r8|  d¦«}
t|  d¦«¦«} n'tj  |¦«d}
2024-08-13 21:30:01 +01:00
d} | dz
2024-08-15 21:18:38 +01:00
|z} | |z}
t|
ttj
|¦«¦«dz¦«}|
2024-08-13 21:30:01 +01:00
| d|
d|dœ}t||¬ ¦«}| |¦«Œt!j|¦«|S)
Nz(.*)_chunk(\d+)\.mp3$réri`êú-z minutes)r{Údurationr1r2)rrrÚreÚsearchÚgroupr£Úsplitextr¤r5rrr9ÚshutilÚrmtree)r1r­r=Ú
chunk_pathÚ
2024-08-15 23:17:17 +01:00
transcriptr²Úmatchr¬Ú chunk_indexÚ start_minÚend_minÚactual_end_minr4rAs r%Útranscribe_audio_chunksrÅùsaå 7¸ÐI_Ñ `Ô `Ñ€L€IØ
å" .ˆ
õœ×)¨*ÑÝ” Ð2°NÑØ ð Ø!ŸKšK¨™NœNˆMݘeŸkšk¨!™nœnÑ-ˆKˆKõœG×,¨^Ñ<¸?ˆˆ! 1_Ð(>Ñ>ˆ ØÐ 6Ñ6ˆÝ˜W¥s­<Ô+AÀ/Ñ+RÔ+RÑ'SÔ'SÐW\Ñ'\Ñ^ˆð<¨7Ððˆõ
¨¸hÐØ×Ò˜Ñ „MÔÐà Ðr'écó(t|||¦«}|S©N))r1r=s r%Úcreate_audio_documentrÉ#sÝÐ9OÐQZÑ[€IØ Ðr'Ú
video_pathÚ
time_intervalcóât|¦«}|j}| dd¦«}|j |¦«}t
j t
j |¦«¦«d}t
j  t
j 
|¦«|¦«}t j |d¬¦«tj
|¦«}t|dd¦«}tdt!|¦«|¦«D]} | }
t#| |zt!|¦«¦«} |
d| } t
j  || d ¦«}
tj||
¬
¦« |
d ¬ ¦« ¦«ŒŒt+d
|d¦«t-|dd¬¦«}t j|¦«|S)Nz.mp4r—rT)Úexist_okr™zs.png)Ússr)ÚvframeszSnapshots saved in rzgà?Úvideo)r1)rÚreplacerŒÚwrite_audiofilerrr…ÚdirnamerŸÚffmpegÚprobeÚfloatr¢ÚinputÚoutputÚrunr¦Úremove)Ú
audio_pathÚ
video_nameÚ snapshot_dirrÕr>Ú
start_timeÚend_timeÚ interval_strÚ frame_imgr=s r%Úpreprocess_video_datarã(õ
˜*Ñ %€EðŒ~€Hð×# F¨FÑ3€JØ
Œ ×# JÑ/€Aõ×!¥"¤'×"2Ò"2°:Ñ">Ô">ÑÔB€Jõ”7—<¤§¢°
Ñ ;Ô ;À
¸_ÑM€LÝ„K  tÐ
ŒL˜Ñ $€EÝU˜8”_ 1€Hõ1•c˜(m”m 

ð
ˆØˆ
2024-08-15 23:17:17 +01:00
Ýq˜=Ñ(­#¨h©-¬-Ñ8ˆð1 xÐ õ”G—LL °,Ð/EÐ/EÐ/EÑFˆ õ
Ü
2024-08-13 21:30:01 +01:00
: 

2024-08-15 23:17:17 +01:00

ŠVI qˆ
ŠS‰UŒUˆUˆ
Ð