??
???? ??? ?? ?? ???? ??? ?? ???? ? ?? ???? ??? ?? ??? ??? ??? ??? ? ? ?? ??? ?? ??? ?? ? ????. ? ?? ????? ?? ??? ??? ??? ???? ?? ?? ????? ???????. ?? ??? Rag Pipeline? ???? ???? ?? FastApi ?? ????? ???? ????? ???? ???? ??? ? ??? ??? ???? ?? ?? ??? ? ?? ? ??? ????. ? ??? Fastapi ??? ??, ??? ??? ??? ???? Raspberry Pi?? ?? ?? ??? ???? ?? ?????. ??, ?? ?? ??? ? ??? ?? ??????? ????.
?? ??
- ?? ?? ??? ?? ? ???? ??? ????? ???? ?? FastApi ???? ??????.
- Fastapi ??? ? Rag ??? ??? ?? ???? ?? Reflex? ???? ??? ??? ? ?????? ??????.
- ?? ? ???? ?? API ?? ???? ???? ????? FastAPI? ??? ??? ?????.
- Raspberry Pi? ?? ?? ????? ???? ????? ??? ? ??? ?? ?? ??? ???? ????????.
- ????? ?? ?????? ??? ?? Fastapi? Reflex? ??? ??????.
- Raspberry Pi?? ??? ???? Rag ??????? ???? ?? Fastapi ? Reflex ?? ??? ?? ? ?? ??????.
?? ??? ?? ?? ???? ??????. Langchain ? Ollama-Part I? ??? Edge Devices? ?? ??? ?? ?????? .
??
- ??? ?? ??
- Fastapi? ??? ??
- ??? ??? ?? ??
- ??? ? ??
- ?? ?? ??
? ??? Data Science Blogathon ? ??? ??????? .
??? ?? ??
?? ????? ???? ?? ??? ???????. ??? ??? ?? ???? ??????.
Deeplake boto3 == 1.34.144 BOTOCORE == 1.34.144 Fastapi == 0.110.3 Gunicorn == 22.0.0 httpx == 0.27.0 huggingface-hub == 0.23.4 langchain == 0.2.6 Langchain-Community == 0.2.6 Langchain-Core == 0.2.11 Langchain-Experimental == 0.0.62 Langchain-text-splitters == 0.2.2 Langsmith == 0.1.83 ???? == 3.21.3 Numpy == 1.26.4 ?? == 2.2.2 Pydantic == 2.8.2 pydantic_core == 2.20.1 pymupdf == 1.24.7 pymupdfb == 1.24.6 Python-dotenv == 1.0.1 pytz == 2024.1 pyyaml ??== 6.0.1 ?? == 0.5.6 ?? == 2.32.3 ?? == 0.5.6 ?? ??? ?? == 0.1.13
??? ???? ???? ??? ??? ??? ??????. ??? Ollama? ???? ??? ? ????. ? ??? 1 ??? ?? ??? ?? ??? ??? ??? ?? ????????. ????? ??? ? ??? ?? ????????? ? ?? ????? ????.
Ollama? ???? ??? ?? ?? ?? ?? ????? ?? ? ????????.
Fastapi? ??? ??
? ??? 1 ???? ??? QNA ??? ?? ?? ?? ??? ??? ??????. ??? ?? ??? ???? ? ??? ??? ?????? ???? ??????. ?? ??? API? ???? Fastapi? ??? ??? ???????. ?? ?? Streamlit, Chainlit, Gradio, Reflex, React, Angular ?? ?? ??? ?? ??????? ???? ? ??????. ?? ????? ??? ???? ???????. ?? ??? ??? ?? ??? ?? ????? ?? ??? ?? ?? ???? ?? ??? ?? ??? ??????.
??? ??? ??? ?? ?????.
??? ├ ── app.py ├ ─) ?? ?? .txt SRC config.py doc_loader base_loader.py │ │ │─? __init__.py pdf_loader.py ├ ? ?? .py ├ ── __init__.py └ ── QNA.PY
config.py?? ???????. ? ???? Ollama URL, LLM ?? ? ??? ?? ??? ?? ?? ????? ?? ??? ?? ??? ?????. ??? ????.
language_model_name = "phi3" embeddings_model_name = "nomic-embed-text" Ollama_url = "http : // localhost : 11434"
base_loader.py ???? ??? ?? ??? ???? ?? ?? ?? ???? ???? ????. ? ?? ??????? PDF ?? ? ???? ???? Child PDFloader ???? ??? ????.
Baseloader ???? ???? ? ????.
??? base_loader.py ? pdf_loader.py? ?????.
# base_loader.py ABC ?? ?? ABC, AbstractMethod ??? Baseloader (ABC) : def __init __ (self, file_path : str) -> ?? : self.file_path = file_path @abstractmethod Async def load_document (self) : ???? # pdf_loader.py OS ?? ?? .base_loader ?? ?? BANELOADER Langchain?? Schema ?? ?? ?? langchain.document_loaders.pdf import pymupdfloader?? langchain.text_splitter import aratertextsplitter?? ??? pdfloader (Baseloader) : def __init __ (self, file_path : str) -> ?? : super () .__ init __ (file_path) Async def load_document (self) : self.file_name = os.path.baseName (self.file_path) ?? = pymupdfloader (file_path = self.file_path) text_splitter = charactertextsplitter ( ??? = "\ n", chunk_size = 1000, chunk_overlap = 200, )) pages = await loader.aload () Total_Pages = len (???) ?? = [] idx? ??, ?? (???)? ??? : chunks.Append ( ??( page_content = page.page_content, ?? ??? = dict ( { "file_name": self.file_name, "page_no": str (idx 1), "Total_Pages": str (Total_Pages), } ),) )) )) final_chunks = text_splitter.split_documents (??) Final_Chunks? ?????
??? ??? 1 ??? pdf_loader? ??? ?? ??????.
???? ?? ???? ??? ???. ??? ?? ?? ??? Part-1?? ?? ? ?? ?????.
?? ??? ??
OS ?? ?? CFG? ??? ????? PENECONE ?? ?? PENECONE?? langchain.vectorstores.deeplake import deeplake?? langchain.embeddings.ollama import ollamaembeddings?? .doc_loader?? pdfloader? ????? ?? ?? : "" "?? ?? ??? ??" "" "" "" "" " def __init __ (self) : ????: self.embeddings = ollamaembeddings ( model = cfg.embeddings_model_name, base_url = cfg.ollama_url, show_progress = true, )) self.vector_store = deeplake ( DataSet_Path = "data/text_vectorStore", ??? = self.embeddings, num_workers = 4, verbose = false, )) E? ??? ???? : runtimeerror? ????? (f "?? ???? ????? ?????. ?? : {e}") Async def create_and_add_embeddings ( ??, ?? : str, ) : : ????: ?? = pdfloader ( file_path = ??, )) ?? = AWAIT LODER.LOAD_DOCUMENT () size = await self.vector_store.aadd_documents (documents = chunks) ?? ? (??) e : ??? ????? (f "?? : {e}")
?? ?? ???? ?? ???? QNA ???? ??????. ??? ?? ?? ?? ??? 1 ??? ?? ?? ?????.
QNA ??? ??
OS ?? ?? CFG? ??? ????? PENECONE ?? ?? PENECONE?? langchain.vectorstores.deeplake import deeplake?? langchain.embeddings.ollama import ollamaembeddings?? Langchain_community.llms.llams import Ollama?? .doc_loader?? pdfloader? ????? ??? QNA : "" "?? ?? ??? ??" "" "" "" "" " def __init __ (self) : ????: self.embeddings = ollamaembeddings ( model = cfg.embeddings_model_name, base_url = cfg.ollama_url, show_progress = true, )) self.model = Ollama ( model = cfg.language_model_name, base_url = cfg.ollama_url, verbose = true, ?? = 0.2, )) self.vector_store = deeplake ( DataSet_Path = "data/text_vectorStore", ??? = self.embeddings, num_workers = 4, verbose = false, )) self.retriever = self.vector_store.as_retriever ( search_type = "???", search_kwargs = { "K": 10, }, )) E? ??? ???? : runtimeerror? ????? (f "?? ???? ????? ?????. ?? : {e}") def create_rag_chain (self) : ????: system_prompt = "" "<instructions> \ n \ ncontext : {context}" "" " ???? = chatprompttemplate.from_messages ( [? ? ( "System", System_Prompt), ( "human", "{input}"), ]] )) question_answer_chain = create_stuff_documents_chain (self.model, prompt) rag_chain = create_retrieval_chain (self.retriever, Question_answer_chain) RAG_CHAIN? ?????? E? ??? ???? : runtimeerror rase (f "?? ??? ???? ?????. ?? : {e}")</instructions>
?? ?? ??? Rag ?? ?? ?? ??? ??????. ?? ?? Fastapi? ???.
FastApi ?? ???? ??
SYS ?? ?? OS ?? ?? Uvicorn? ?????? SRC ?? ?? QNA, ?? Fastapi import Fastapi, ??, ??, ??? ????? FastApi. Respones import StreamingResponse app = fastapi () ?? = ?? () chatbot = qna () rag_chain = chatbot.create_rag_chain () @app.get ( "/") def hello () : return { "message": "?? 8089?? ???? API"}} @app.post ( "/query") Async def ask_query (?? : ??) : data = await request.json () question = data.get ( "Question") Async def event_generator () : rag_chain.pick? ?? ( "??"). stream ({ "input": question}) : ?? ??? return streamingResponse (event_generator (), media_type = "text/plain") @app.post ( "/insest") Async def ingest_document (?? : uploadfile = file (...)) : ????: os.makedirs ( "??", extin_ok = true) file_location = f "files/{file.filename}" file_object? Open (file_location, "wb")? ???? : file_object.write (file.file.read ()) size = await encestion.create_and_add_embeddings (file = file_location) return { "message": f "?? insested! ?? ? : {size}"} E? ??? ???? : return { "message": f "??? ?????? : {e}"} __name__ == "__main__"? ?? : ????: uvicorn.run (app, host = "0.0.0.0", port = 8089) e : keyboardinterrupt? ???? : print ( "? ??!")
? ?? ????? ?? ?????.
- ?? Fastapi ?, ?? ? QNA ??? ??????. ?? ?? QNA ???? create_rag_chain ???? ???? ?? ??? ????.
- ? ?? ??? ??? GET ?????. ??? ??? ?? ?? ??? ? ? ??? ?????. 'Hello World'?? ????? ??????.
- ? ??? ?? ?? ??????. ??? ?? ???? ??? ???? ? ?????. ?? ?? ??? ???? ???? ??? ?????. ?? ?? ?? ??? ??? ?? ????? ??? ???? ????. Fastapi? LLM? ??? ?? ??? ???? ?? ??????? ChatGpt? ?? ??? ?? ? ????? ???????. ?? ?? StreamingResponse ???? ??? ??? ??? ?????.
- ? ?? ??? ?? ?????. ?? ?? ??? ???? ???? ??? ??? ??????. ? ??? ?? ????? ?? ? ?? Create_and_add_embeddings ensestion ???? ???? ?????.
?????, ???? ??? ???? uvicorn ???? ???? ?? ?????. ?? ?????? ?? ??? ???? ?? ????? ?????.
Python app.py
?? ???? ???? ?? ???, ??? ?? ???? ?? API ??? IDE? ??????. Thunder Client Extension? ???? ??? ??? ?? ? ?? ????.
?? ??? ??? :
?? ?? ??? ??? :
??? ??? ?? ??
??? Rag ?? ????? ?????? FastApi ?? ????? ??????. ?? ??? ??? ?? ? ?????. ?? ?? ??? ?? ?????? ??? ? ???? ?? ??? ?? ??? ???? ??? ??? ?????. ??? ??? ?? ??? ?? ??????, ???? ???? ? ??????? ????? ???????. ???, ??? ?? ? ??? ?? ???? ?? ??????? ???? ?????. Chatbot ?? ???? ???? ??? ?????? ???? ?????. ?? ??? ?? ??? ???? ?? ? ? ??? ??? ????.
??? ?? ????
??? ????? ??? ?? ????? ????.
??? ?? ├ ─) ?? favicon.ico Docs Demo.gif Chat contronents Chat.py file_upload.py │ │ ├ ├ ? .py loading_icon.py modal.py navbar.py │ │ │─? __init__.py Chat.py state.py ├ ─) ?? ?? .txt RxConfig.py UPLODED_FILES
?? ???? ??
??? ?? ?? ?? ??? ??????.
1 ?? : Frontend ?????? ?? ??? ???? ??????
git ?? https://github.com/reflex-dev/reflex-chat.git.
2 ?? : ????? ?? ??? ?????? ?? ??? ??????.
?? ??
??? ?? ?? ???? ?? ? ?? ??????.
3 ?? : ? ???, ??? ?? ???? ???? ?? ??? ??????.
?? ??
?? ?? ??? ?????. ?? chat.py ??? ???????.
??? ??? ?????.
Rx? ??? ????? reflex_demo.components import loading_icon? ????? Reflex_demo.State import QA, State?? message_style = dict ( display = "???-??", ?? = "0 10px", border_radius = "8px", max_width = [ "30em", "30em", "50em", "50em", "50em", "50em"], )) def message (qa : qa) -> rx.component : "" "?? ??/?? ???. Args : QA : ??/?? ?. ??: ??/?? ?? ???? ?? ??. "" " RX.box ?? ( rx.box ( rx.markdown ( qa.question, background_color = rx.color ( "Mauve", 4), color = rx.color ( "Mauve", 12), ** message_style, ),) text_align = "right", margin_top = "1em", ),) rx.box ( rx.markdown ( qa.answer, background_color = rx.color ( "???", 4), color = rx.color ( "???", 12), ** message_style, ),) text_align = "left", padding_top = "1em", ),) ?? = "100%", )) def chat () -> rx.component : "" "?? ??? ?? ???? ??????." "" return rx.vstack ( rx.box (rx.foreach (state.chats [state.current_chat], ???), ?? = "100%"), py = "8", flex = "1", ?? = "100%", max_width = "50em", padding_x = "4px", align_self = "Center", ???? = "???", padding_bottom = "5em", )) def action_bar () -> rx.component : "" "? ???? ??? ?? ?." "" return rx.center ( rx.vstack ( rx.chakra.form ( rx.chakra.form_control ( rx.hstack ( rx.input ( rx.input.slot ( rx.tooltip ( rx.icon ( "??", ?? = 18), content = "??? ???? ??? ??????.", )) ),) ?? ?? ? = "?? ?? ...", ,,, ?? = [ "15EM", "20EM", "45EM", "50EM", "50EM", "50EM"], ),) RX.Button ( rx.cond ( state.processing, loading_icon (?? = "1em"), rx.text ( "send", font_family = "ubuntu"), ),) type = "??", ),) align_items = "Center", ),) is_disabled = state.processing, ),) on_submit = state.process_question, reset_on_submit = true, ),) rx.text ( "Resygpt? ????? ?????? ???? ??? ?? ? ? ????. ?? ??.", text_align = "Center", font_size = ". 75em", color = rx.color ( "Mauve", 10), font_family = "ubuntu", ),) rx.logo (margin_top = "-1em", margin_bottom = "-1em"), align_items = "Center", ),) ?? = "???", ?? = "0", ?? = "0", padding_y = "16px", Backdrop_Filter = "Auto", Backdrop_Blur = "LG", border_top = f "1px solid {rx.color ( 'mauve', 3)}", background_color = rx.color ( "mauve", 2), align_items = "????", ?? = "100%", ))
??? ???? ????? ???? ?? ?????.
???? chat.py ?? ?????. ??? ?? ?? ?? ?????.
?? ?? ?? ??? ?? ??
??? ?????.
Rx? ??? ????? reflex_demo.components import ??, navbar, upload_form Reflex_demo.STATE ?? ?? ???? @rx.page (route = "/chat", title = "rag chatbot") def chat_interface () -> rx.component : rx.chakra.vstack? ?????. navbar (), chat.chat (), chat.action_bar (), background_color = rx.color ( "mauve", 1), color = rx.color ( "Mauve", 12), min_height = "100vh", align_items = "????", ?? = "0", )) @rx.page (route = "/", title = "rag chatbot") def index () -> rx.component : rx.chakra.vstack? ?????. navbar (), upload_form (), background_color = rx.color ( "mauve", 1), color = rx.color ( "Mauve", 12), min_height = "100vh", align_items = "????", ?? = "0", )) # ?? ??? ???? ??????. app = rx.app ( ?? = rx.theme ( ?? = "???", accent_color = "jade", ),) ??? ?? = "https://fonts.googleapis.com/css2?family=ubuntu&display=swap"], ??? = { "font_family": "ubuntu", }, )) app.add_page (??) app.add_page (chat_interface)
??? ?? ?????? ?????. ??? ?? ???? ? ??? ????? ??? ??? ?????.
???? state.py ??? ???????. ??? ??? ??? ??? ?? API ?? ???? ?? ? ????.
state.py ?? ??
?? ?? ?? Rx? ??? ????? ??? QA (rx.base) : ?? : str ? : Str default_chats = { "Intros": [], } ??? ?? (rx.state) : ?? : dict [str, list [qa]] = default_chats current_chat = "intros" URL : str = "http : // localhost : 8089/query" ?? : str ?? : bool = false new_chat_name : str = "" def create_chat (self) : "" "? ?? ???." "" " # ?? ??? ? ??? ??????. self.current_chat = self.new_chat_name self.chats [self.new_chat_name] = [] def delete_chat (self) : "" "?? ?? ??." "" del self.chats [self.current_chat] Len (self.chats) == 0 : self.chats = default_chats self.current_chat = list (self.chats.keys ()) [0] def set_chat (self, chat_name : str) : "" "?? ??? ??? ??????. Args : chat_name : ??? ??. "" " self.current_chat = chat_name @rx.var def chat_titles (self) -> list [str] : "" "?? ?? ??? ?????. ??: ?? ?? ??. "" " ?? ?? (self.chats.keys ()) Async def process_question (self, form_data : dict [str, str]) : # ???? ??? ????? Question = form_data [ "Question"] # ??? ?? ??? ?????? ?? == ""? ?? : ?? model = self.openai_process_question ??? ?? ?? ??? (??) : ?? ? Async def openai_process_question (self, question : str) : "" "API??? ??? ?????. Args : form_data : ?? ????? ??. "" " # ?? ??? ??? ??????. qa = qa (question = question, derson = "") self.chats [self.current_chat] .append (Qa) ???? = { "??": ??} # ??? ??? ??? ??????. self.processing = true ???? ?? = requests.post (self.url, json = payload, stream = true) # ??? ?????? ?? ?? ?? ?????. response? answer_text? ?? (chunk_size = 512) : # answer_text? ???? ?? ???? ??? ?????? answer_text = answer_text.decode () answer_text? ??? : self.chats [self.current_chat] [-1] .answer = Answer_text ? ??: Answer_Text = "" self.chats [self.current_chat] [-1] .answer = Answer_text self.chats = self.chats ???? # ?? ???? ?????. self.processing = false
? ????? ?? ?? ???? URL? ??????. ?? OpenAI_Process_Question ???? ???? ?? ?? ???? ??? ??? ??? ????? ?????.
?? ?????? ?????.
file_upload.py ??? ?? ??
????? file_upload.py ??? ??? ??? ???. ? ?? ??? ??? ???? ??? ?? ??? ??? ? ? ????.
Rx? ??? ????? OS ?? ?? ?? ?? ?? ?? ?? ??? uploadexample (rx.state) : ??? : bool = false ?? : bool = false ?? : int = 0 Total_bytes : int = 0 ingestion_url = "http://127.0.0.1:8089/ingest" Async def handle_upload (??, ?? : List [rx.uploadfile]) : self.ingesting = true ???? ?? ??? ?? : file_bytes = await file.Read () file_name = file.filename ?? = { "??": (os.path.baseName (file_name), file_bytes, "multipart/form-data") } ?? = requests.post (self.ingestion_url, files = files) self.ingesting = false ???? if response.status_code == 200 : # Rx.Rx.Rxirect ( "/Chat") self.show_redirect_popup () def handle_upload_progress (self, progress : dict) : self.uploading = true self.progress = Round (?? [Progress [ "Progress"] * 100) self.progress> = 100 ? ?? : self.uploading = false def cancel_upload (self) : self.uploading = false rx.cancel_upload? ????? ( "upload3") def upload_form () : return rx.vstack ( rx.upload ( rx.flex ( rx.text ( "??? ??? ??? ? ????? ??? ????? ??????", font_family = "ubuntu", ),) rx.icon ( "???", ?? = 30), ?? = "?", align = "Center", ),) ,,, Border = "1px ?? RGB (233, 233,233, 0.4)", ?? = "5em 0 10px 0", background_color = "RGB (107,99,246)", border_radius = "8px", ?? = "1em", ),) rx.vstack (rx.foreach (rx.selected_files ( "upload3"), rx.text)), rx.cond ( ~ uploadexample.inging, RX.Button ( "???", on_click = uploadexample.handle_upload ( rx.upload_files ( upload_, on_upload_progress = uploadexample.handle_upload_progress, ),) ),) ),) rx.flex ( rx.spinner (size = "3", loading = uploadexample.ingesting), RX.Button ( "??", on_click = uploadexample.cancel_upload, ),) align = "Center", ?? = "3", ),) ),) rx.alert_dialog.root ( rx.alert_dialog.trigger ( rx.button ( "?? ??", color_scheme = "green"), ),) rx.alert_dialog.content ( rx.alert_dialog.title ( "?? ?????? ?????"), rx.alert_dialog.description ( "??? ?? ?????? ???????.", ?? = "2", ),) rx.flex ( rx.alert_dialog.cancel ( RX.Button ( "??", ?? = "???", color_scheme = "???", ),) ),) rx.alert_dialog.action ( RX.Button ( "????", color_scheme = "??", variant = "solid", on_click = rx.redirect ( "/Chat"), ),) ),) ?? = "3", margin_top = "16px", respitify = "end", ),) ??? = { "max_width": 450}, ),) ),) align = "Center", ))
? ?? ??? ???? ??? ????? ?? ???? ?? ? ? ????. Fastapi ?? ensest ?? ???? ???? ??? ????? ?????. ?? ? ???? ??? ??? ? ????
??? ?????? ?? ??????.
?? ?? ??? ?? ????? ??? ??? ??????. ?? ?? ??? ???? ?? ????? ????????.
??? ? ??
?? ?? ??? ? ???? ?? ????? ??? ? ???. ?? ????? ????? ??? ?? ?? ?? ??? ???????. ??? ???? ?????? ??? ?? ??????
?? ?? :
Python app.py
Fastapi? ??? ??? ??? ??????. ?? ?? ?? ??? ?????? ?? ??? ???? ??? ?? ?? ?????.
?? ??
??? ?? ???? ?? ??? ?? ?? ????? ?? ?? URL? ??????. ???? ?? ??? ???? ????. ??? ????? ??? ??? ????.
??? ????? ?????. ?? ??? ?? ??? ???
?? ??. ???? '?? ??'??? ???? ?? ?????? ??????. ??? ???? ???? ????.
??
Thistwo Parteries??? ?? ?? ??? ?? ???? Fastapi ???? ???? ?? ?? ??? ??? ???? ?? ????? Raspberry Pi? ???? ???? Rag ??????? ??????. ??? ??? ???? RAG ??? ??? ??? ? ? ?? ????? ??? ??? ? ? ?????? ?? ??? ?? ??? ?????. ??? ??? ????? ?? ???? ???? ?? ? ?? ??????? ???? ???? ? ??? ??? ?????. ? ??? Raspberry Pi? ?? ???? ??? ??? AI ?? ??????? ?? ? ??? ??? ???? ?? ?? ?? ????? ??? ??? ? ?? ???? ????? ????.
?? ??? ??
- Ollama? ???? ??? ??? ? ?? ??? ???? ?? ?? ??? ?? ??? ???? ???? ??????? ?? ?? ?????????.
- ? ??? ?? ?? ? ?? ????? ?? ??? ??? ???? Rag Pipeline? Fastapi ?? ?????? ???? ??? ?????.
- RAG ?? ????? ??? ??? ??? ?? ??? ?? ????? ? Reflex? ???? ?????. ? ??? ?? ?? ???? ???? ???? RAG ??? ??? ?? ?????? ??? ??? ? ?????? ???? ??? ?????.
- ? ??? Fastapi ???? Reflex ??? ??? ???? Raspberry Pi? ?? ?? ????? ???? ??? ?? ? ??? ???? ?????.
- Postman ?? Thunder Client? ?? ??? ???? ?? ? ?? ?? ???? ?? ??????? ???? ??? ?? ??? ??? ???? ????? ?? ?? ????? ???? ????????.
?? ?? ??
Q1 : ??? ????? ?? ? ?? ????? ? ??? ?? ??? ? ? ?????? ?????????A. TailScale??? ???? ??? ??? ?? ?? ????? ??? ? ??? ????? ??? ? ? ????. Raspberry Pi ? ?? ??? ?? ??? ??? ???? VPN? ???? ? ?? ????? ?? ??? ? ? ????.
Q2 : ??? QNA ???? ? ?? ????? ?? ????.A. ?? Raspberry Pi? ???? ??? ?? ??? ?????. ? ??? Raspberry Pi? Ollama? ???? Rag App? ???? ??? ?? Head Up ???????.
? ??? ??? ???? ?? Vidhya? ???? ??? ??? ??? ?? ?????.
? ??? Langchain??? Edge ???? ?? ??? ?? ?? ????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ?????? ?????? ???? ????. AI ?? ?? ??? ??? ???? ???? ?? ???? ?? ??? ??????. ??, ?? ?? ???? ??? ?? ? ????? ? ??? PR? ???? ??? ??? ????

??? ?? ??????. ???? AI ??? ??? ??? ??? ??? AI ???? ???? ???? ?? ???? AI? ?? Forbes ? ??? ????? (?? ?? ??). AGI? ??? ????

?? ? Genai ??? ?? ? ?? ?? ?? ??? ??? ??????? DeepSeek? ???? ?? ??? ?? ??? Kimi K1.5? ???? ???? ?? ? ??????. ??? ??? ?? ??????.

??? ?? ??????. ???? AI ??? ??? ??? ??? ??? AI ???? ???? ???? ?? ???? AI? ?? Forbes ? ??? ????? (?? ?? ??). h

20125 ? ???? AI“?? ??”? ???? ??? Xai? Anthropic? ???? ?? ? Grok 4? Claude 4? ??????.? ? ??? ??? ??? ?? ???? ??? ?? ????.

?? ??, ??? "(x)? (x) ???? ??? ????" ???? ??? ??? ???? ??? ?? ??? ?? ? ? ??? ?? ??? ??? ?? ??? ? ? ????. CO? ?? ?? ?? ??

??? ??? ?? 99-1? ???? ?? ??, ???? ? ?? ?? ????? ??? ??? ??? ? ??? ??? ???. ??? ??? ??? ?????. ??? ?????

?? ??? ?? ???? ??? ?? ????, Kim? Reddy? PI Health?? ?? ? AI ?? ?????? ????? ?? ??? ?? ???? ? ??? ??? ? ??? ??????. ???
