{"id":27048,"date":"2026-07-21T10:14:22","date_gmt":"2026-07-21T10:14:22","guid":{"rendered":"https:\/\/umang.pk\/2026\/07\/21\/fastapi-%d8%a7%d9%88%d8%b1-streamlit-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d9%85%d9%84%d9%b9%db%8c-%db%8c%d9%88%d8%b2%d8%b1-ai\/"},"modified":"2026-07-21T10:14:31","modified_gmt":"2026-07-21T10:14:31","slug":"fastapi-%d8%a7%d9%88%d8%b1-streamlit-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d9%85%d9%84%d9%b9%db%8c-%db%8c%d9%88%d8%b2%d8%b1-ai","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/07\/21\/fastapi-%d8%a7%d9%88%d8%b1-streamlit-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d9%85%d9%84%d9%b9%db%8c-%db%8c%d9%88%d8%b2%d8%b1-ai\/","title":{"rendered":"FastAPI \u0627\u0648\u0631 Streamlit \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0645\u0644\u0679\u06cc \u06cc\u0648\u0632\u0631 AI \u0627\u06cc\u062c\u0646\u0679\u0633 \u06a9\u06cc \u062e\u062f\u0645\u062a \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u0645\u06cc\u06ba \u0622\u067e \u06a9\u0648 \u062f\u06a9\u06be\u0627\u0624\u06ba \u06af\u0627 \u06a9\u06c1 \u0641\u0627\u0633\u0679 \u0627\u06d2 \u067e\u06cc \u0622\u0626\u06cc \u06a9\u0648 \u0627\u06cc\u06a9 \u06a9\u062b\u06cc\u0631 \u0635\u0627\u0631\u0641 \u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 REST API \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633 \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627 Streamlit UI \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0679\u0631\u0645\u06cc\u0646\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0627\u0633\u06d2 HTTP \u067e\u0631 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0633 \u0633\u06d2 \u0645\u062a\u0639\u062f\u062f \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0686\u06cc\u0679 \u0637\u0631\u0632 \u06a9\u06d2 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u0627\u067e\u0646\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u0627\u0648\u0631 \u0633\u0644\u0633\u0644\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 LangChain v1\u060c Ollama\u060c Qwen\u060c \u0627\u0648\u0631 Python \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u0627\u067e\u0646\u06d2 \u0633\u0633\u0679\u0645\u0632 \u067e\u0631 \u0686\u0644 \u0633\u06a9\u06cc\u06ba \u0627\u0648\u0631 \u0641\u06cc \u06a9\u0627\u0644 \u0645\u0627\u0688\u0644 API \u06a9\u06d2 \u0627\u062e\u0631\u0627\u062c\u0627\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0628\u0691\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-background\">\u067e\u0633 \u0645\u0646\u0638\u0631<\/h2>\n<p>\u0628\u06c1\u062a \u0633\u06d2 AI \u0627\u06cc\u062c\u0646\u0679 \u0633\u0627\u062f\u06c1 Python \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06a9\u0645\u0627\u0646\u0688 \u0644\u0627\u0626\u0646 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0686\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0627\u067e\u0646\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0679\u0627\u0626\u067e \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u06cc\u062c\u0646\u0679 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0633\u0628 \u0627\u06cc\u06a9 \u06c1\u06cc \u0645\u0642\u0627\u0645\u06cc \u0633\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0633\u06cc\u0679 \u0627\u067e \u062a\u0631\u0642\u06cc \u0627\u0648\u0631 \u062c\u0627\u0646\u0686 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u062c\u0628 \u0622\u067e \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u0644\u0648\u06af \u06cc\u0627 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0639\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u062a\u0648 \u06cc\u06c1 \u0645\u062d\u062f\u0648\u062f \u06c1\u06d2\u06d4<\/p>\n<p>AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0639\u0646\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0641\u06cc\u062f \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0633 \u062a\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u06cc\u06ba\u06d4 REST APIs \u0627\u06cc\u0633\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0639\u0645\u0644\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u0627\u0648\u0644\u0627\u0645\u0627 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc\u06d4 \u06cc\u06c1 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 macOS\u060c Windows \u0627\u0648\u0631 Linux \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba 32GB RAM \u06a9\u06d2 \u0633\u0627\u062a\u06be MacBook Pro \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06af\u0631 \u0622\u067e Ollama \u06a9\u06d2 \u0686\u06be\u0648\u0679\u06d2 Qwen \u0645\u0627\u0688\u0644 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0622\u067e \u0627\u0633\u06d2 \u06a9\u0645 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u0633\u0679\u0645 \u067e\u0631 \u0686\u0644\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-what-is-fastapi\"><strong>FastAPI \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/strong><\/h2>\n<p>FastAPI APIs \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0632\u06af\u0631 \u06a9\u0627 \u0648\u06cc\u0628 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 HTTP \u067e\u0631 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0622\u0633\u0627\u0646 \u0637\u0631\u06cc\u0642\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u062f\u06cc\u06af\u0631 \u0627\u06cc\u067e\u0633\u060c \u0627\u0633\u06a9\u0631\u067e\u0679\u0633 \u06cc\u0627 \u0633\u0631\u0648\u0633\u0632 \u0627\u0633\u06d2 \u06a9\u0627\u0644 \u06a9\u0631\u0633\u06a9\u06cc\u06ba\u06d4<\/p>\n<p>FastAPI AI \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062b\u0627\u0644\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u06af\u0631\u062f \u0648\u0627\u0636\u062d \u062d\u062f\u0648\u062f \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0622\u067e Python \u0645\u06cc\u06ba \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0648\u0631 \u062c\u0648\u0627\u0628\u06cc \u0645\u0627\u0688\u0644\u0632 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 FastAPI \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0646 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 Python \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0627\u0648\u0631 Python \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06a9\u0648 JSON \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0641\u062a \u0645\u06cc\u06ba \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 API \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0628\u06be\u06cc \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u06cc\u06c1 AI \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0641\u06cc\u062f \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u0646\u06d2 \u0645\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0642\u062a \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-is-streamlit\"><strong>\u0633\u0679\u0631\u06cc\u0645\u0644\u06cc\u0679 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/strong><\/h2>\n<p>Streamlit \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u0644\u06a9\u06d2 \u0648\u0632\u0646 \u0648\u0627\u0644\u06d2 \u0648\u06cc\u0628 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0632\u06af\u0631 \u06a9\u0627 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 HTML\u060c CSS \u0627\u0648\u0631 JavaScript \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0633\u0627\u062f\u06c1 Python \u06a9\u0648\u0688 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0627\u06cc\u067e\u0633 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c Streamlit \u0627\u06cc\u06a9 \u067e\u062a\u0644\u06cc \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 FastAPI \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0628\u06cc\u0679\u06be\u0627 \u06c1\u06d2\u06d4 FastAPI HTTP \u067e\u0631 \u0627\u06cc\u06a9 AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 Streamlit \u0627\u0633 API \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 UI \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628\u06a9\u06c1 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-is-multi-user-support\"><strong>\u0645\u0644\u0679\u06cc \u06cc\u0648\u0632\u0631 \u0633\u067e\u0648\u0631\u0679 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/strong><\/h2>\n<p>\u0645\u0644\u0679\u06cc \u06cc\u0648\u0632\u0631 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06d2 \u0622\u0626\u06cc \u0627\u06cc\u062c\u0646\u0679 \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0633\u06cc\u0634\u0646 \u06a9\u0648 \u0627\u0644\u06af \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0635\u0627\u0631\u0641 1 \u0627\u06cc\u062c\u0646\u0679 \u0633\u06d2 \u0627\u06cc\u06a9 \u0633\u0648\u0627\u0644 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 2 \u062f\u0648\u0633\u0631\u0627 \u0633\u0648\u0627\u0644 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0635\u062d\u06cc\u062d \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u0648 \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u06cc\u0627\u062f \u0631\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0645\u0644\u0679\u06cc \u06cc\u0648\u0632\u0631 \u0633\u067e\u0648\u0631\u0679 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u062a\u0645\u0627\u0645 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06cc \u0627\u06cc\u06a9 \u06c1\u06cc \u062d\u0627\u0644\u062a \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u0645\u0644\u06d2 \u062c\u0644\u06d2 \u0631\u062f\u0639\u0645\u0644\u060c \u063a\u0644\u0637 \u06cc\u0627\u062f\u06cc\u06ba\u060c \u06cc\u0627 \u0627\u0648\u0648\u0631 \u0631\u0627\u0626\u0679 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-motivation-and-architecture\"><strong>\u062d\u0648\u0635\u0644\u06c1 \u0627\u0641\u0632\u0627\u0626\u06cc \u0627\u0648\u0631 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631<\/strong><\/h2>\n<p>AI \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u0646\u06c1\u06cc\u06ba APIs \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u0627 \u0627\u06cc\u06a9 \u0642\u062f\u0631\u062a\u06cc \u0627\u06af\u0644\u0627 \u0645\u0631\u062d\u0644\u06c1 \u06c1\u06d2\u06d4 Python \u0627\u0633\u06a9\u0631\u067e\u0679 \u062a\u062c\u0631\u0628\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 API \u0622\u067e \u06a9\u0648 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u0644\u0679\u06cc \u06cc\u0648\u0632\u0631 \u0633\u067e\u0648\u0631\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u062f\u0648\u0633\u0631\u0648\u06ba \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0691\u06be\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06c1\u0645 \u0627\u0648\u0644\u0627\u0645\u0627 \u0627\u0648\u0631 \u06a9\u06cc\u0648\u06cc\u0646 \u06a9\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0686\u06be\u0648\u0679\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u067e\u0627\u0633 \u062f\u0648 \u0679\u0648\u0644\u0632 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba: \u0627\u06cc\u06a9 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0648\u0642\u062a \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0679\u0648\u0644 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u0627 \u0627\u0644\u0641\u0627\u0638 \u06af\u0646\u0646\u06d2 \u06a9\u0627 \u0679\u0648\u0644\u06d4<\/p>\n<p>FastAPI \u0627\u06cc\u06a9 \u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u0646\u0642\u0637\u06c1 \u06a9\u0648 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u0631\u06a9\u06d2 \u0627\u06cc\u06a9 HTTP \u067e\u0631\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>\/chat\/stream<\/code>. \u062c\u0628 \u06a9\u0648\u0626\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u06cc \u06c1\u06d2\u060c Pydantic \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c LangChain \u0627\u06cc\u062c\u0646\u0679 \u0644\u0648\u067e \u0627\u0648\u0631 \u0679\u0648\u0644 \u06a9\u0627\u0644\u0632 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062d\u062a\u0645\u06cc \u062c\u0648\u0627\u0628 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0648\u0627\u067e\u0633 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 Streamlit \u0627\u0633 API \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0628\u06cc\u0679\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 API \u06a9\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a:<\/p>\n<pre><code class=\"language-json\">{ \n    \"message\": \"How many words are in: LangChain makes tool calling easier\",\n    \"user_id\":\"123e4567-e89b-12d3-a456-426614174000\"\n }\n<\/code><\/pre>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u062c\u0648\u0627\u0628:<\/p>\n<pre><code class=\"language-json\">{\n  \"answer\": \"There are **5** words in LangChain makes tool calling easier.\"\n}\n<\/code><\/pre>\n<p>\u0645\u0627\u0688\u0644 \u0627\u0648\u0644\u0627\u0645\u0627 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0686\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u0641\u06cc \u06a9\u0627\u0644 \u0645\u0627\u0688\u0644 API \u0686\u0627\u0631\u062c\u0632 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-step-1-install-ollama-and-pull-the-model\"><strong>\u0645\u0631\u062d\u0644\u06c1 1: \u0627\u0648\u0644\u0627\u0645\u0627 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0627\u0688\u0644\u0632 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u06cc\u06ba\u06d4<\/strong><\/h2>\n<p>\u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u067e\u0646\u06d2 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 Ollama \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0645 Qwen \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0686\u06cc\u0679 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u06d4 <code>qwen3.5:4b<\/code>. \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0645\u06cc\u06ba \u06a9\u0645 RAM \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba: <code>qwen3.5:0.8b<\/code> \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2.<\/p>\n<pre><code class=\"language-plaintext\">ollama pull qwen3.5:4b\n<\/code><\/pre>\n<h2 id=\"heading-step-2-install-python-dependencies\"><strong>\u0645\u0631\u062d\u0644\u06c1 2: \u0627\u0632\u06af\u0631 \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong><\/h2>\n<p>\u0627\u06cc\u06a9 \u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u0627\u062d\u0648\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0637\u0644\u0648\u0628\u06c1 \u067e\u06cc\u06a9\u062c\u0632 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-plaintext\">python3 -m venv venv\nsource venv\/bin\/activate\n\npip install fastapi uvicorn streamlit requests langchain langchain-core langchain-ollama langgraph\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 LangChain >= 1.0.0 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-3-build-the-agent-and-api-layer-with-fastapi\">\u0645\u0631\u062d\u0644\u06c1 3: <strong>FastAPI \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0644\u0688\u0646\u06af \u0627\u06cc\u062c\u0646\u0679\u0633 \u0627\u0648\u0631 API \u067e\u0631\u062a\u06cc\u06ba\u06d4<\/strong><\/h2>\n<p>\u0627\u0633 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u06cc \u062a\u06cc\u0646 \u0627\u06c1\u0645 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc\u0627\u06ba \u06c1\u06cc\u06ba: FastAPI \u0627\u06cc\u06a9 HTTP \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c Pydantic \u0622\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 LangChain \u0627\u06cc\u062c\u0646\u0679 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0679\u0648\u0644 \u06a9\u0627\u0644\u0632 \u0627\u0648\u0631 \u0642\u0644\u06cc\u0644 \u0645\u062f\u062a\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>user_id<\/code> \u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u06be\u06cc\u062c\u06cc \u06af\u0626\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u062a\u06be\u0631\u06cc\u0688 \u0634\u0646\u0627\u062e\u062a \u06a9\u0646\u0646\u062f\u06c1 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u0645\u0639\u0627\u0626\u0646\u06c1 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648 \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0627\u0644\u06af \u062a\u0627\u0631\u06cc\u062e \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0641\u06cc \u0633\u06cc\u0634\u0646 \u06c1\u06d2\u06d4 \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0631 \u0646\u0626\u06d2 \u0633\u06cc\u0634\u0646 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0627\u06c1\u0645 \u062a\u0641\u0635\u06cc\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0622\u063a\u0627\u0632 \u067e\u0631\u06d4 <code>agent = build_agent()<\/code>. \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u06cc\u062c\u0646\u0679 \u0645\u062b\u0627\u0644 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 \u06a9\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0627\u0688\u0644\u0632 \u0627\u0648\u0631 \u0679\u0648\u0644 \u0644\u0633\u0679\u0633 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631 \u06a9\u06d2 \u062c\u0648\u0627\u0628\u06cc \u0627\u0648\u0642\u0627\u062a \u0645\u06cc\u06ba \u0628\u06c1\u062a\u0631\u06cc \u0622\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0628\u06a9\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0622\u067e \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06cc \u0645\u062f\u062f \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u062f\u0631\u0648\u0646\u06cc <code>\/chat\/stream<\/code> \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u0627\u0648\u0631 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0644\u06cc\u0646\u06af \u0686\u06cc\u0646\u06d4 <code>stream_events(..., version=\"v3\")<\/code> \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u062a\u0645\u0627\u0645 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062c\u0648\u0627\u0628\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 FastAPI \u067e\u06be\u0631 \u0627\u0633 \u0633\u0644\u0633\u0644\u06d2 \u06a9\u0648 \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2\u06d4 <code>StreamingResponse<\/code>\u06cc\u06c1 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u0648 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u06cc\u06c1 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u0627\u06cc\u067e \u0628\u06c1\u062a \u0632\u06cc\u0627\u062f\u06c1 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u0645\u062d\u0633\u0648\u0633 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0635\u0627\u0631\u0641 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06a9\u06c1 \u0628\u0642\u06cc\u06c1 \u062a\u06cc\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0644\u06d2 \u06a9\u0631\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0646 \u067e\u0679 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0639\u0644\u06cc\u062d\u062f\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062d\u0642\u06cc\u0642\u06cc \u0648\u0642\u062a \u0645\u06cc\u06ba UI \u067e\u0631 \u0631\u062f\u0639\u0645\u0644 \u06a9\u0648 \u0633\u0679\u0631\u06cc\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648\u0688 \u06a9\u0648 \u0628\u0637\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba: <code>app.py<\/code>:<\/p>\n<pre><code class=\"language-python\">from datetime import datetime\nfrom uuid import UUID\n\nfrom fastapi import FastAPI, HTTPException\nfrom fastapi.responses import StreamingResponse\n\nfrom pydantic import BaseModel\n\nfrom langchain.agents import create_agent\nfrom langchain_core.tools import tool\nfrom langchain_ollama import ChatOllama\nfrom langgraph.checkpoint.memory import InMemorySaver\n\nCHAT_MODEL = \"qwen3.5:4b\"\n\nSYSTEM_PROMPT = (\n    \"You are a helpful assistant with access to tools for getting the current time \"\n    \"and counting words in text. \"\n    \"Use tools when needed. If the question does not need a tool, answer directly.\"\n)\n\n# -----------------------------\n# Request model\n# -----------------------------\n\nclass ChatRequest(BaseModel):\n    user_id: UUID\n    message: str\n\n# -----------------------------\n# Tools\n# -----------------------------\n\n@tool\ndef current_time() -> str:\n    \"\"\"Return the current local date and time.\"\"\"\n    return datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\")\n\n\n@tool\ndef word_count(text: str) -> int:\n    \"\"\"Count the number of words in a piece of text.\"\"\"\n    return len(text.split())\n\n\n# -----------------------------\n# Agent + checkpoint memory\n# -----------------------------\n\n# Store conversation history in short term memory\ncheckpointer = InMemorySaver()\n\ndef build_agent():\n    model = ChatOllama(model=CHAT_MODEL, temperature=0)\n    return create_agent(\n        model=model,\n        tools=[current_time, word_count],\n        system_prompt=SYSTEM_PROMPT,\n        checkpointer=checkpointer,\n    )\n\n\nagent = build_agent()\n\n# -----------------------------\n# Streaming endpoint\n# -----------------------------\n\napp = FastAPI()\n\n@app.post(\"\/chat\/stream\")\ndef chat_stream(req: ChatRequest):\n    def generate():\n        run = agent.stream_events(\n            {\n                \"messages\": [{\"role\": \"user\", \"content\": req.message}],\n            },\n            config={\n                \"configurable\": {\n                    # Keep each user's short-term memory isolated\n                    # by using their user_id as the thread ID.\n                    \"thread_id\": str(req.user_id),\n                }\n            },\n            version=\"v3\",\n        )\n\n        for message in run.messages:\n            for token in message.text:\n                yield token\n\n    return StreamingResponse(generate(), media_type=\"text\/plain\")\n<\/code><\/pre>\n<h2 id=\"heading-step-4-build-streamlit-ui\">\u0645\u0631\u062d\u0644\u06c1 4: \u0627\u06cc\u06a9 \u0622\u0633\u0627\u0646 UI \u0628\u0646\u0627\u0646\u0627<\/h2>\n<p>Streamlit \u06a9\u0648\u0688 AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0686\u06cc\u0679 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06cc\u0634\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u0646\u0641\u0631\u062f user_id \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u0627\u06cc\u067e \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u0644\u0648\u0688 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u06a9 UUID \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 st.session_state \u0645\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 UUID \u0628\u0639\u062f \u0645\u06cc\u06ba \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u067e\u0631 \u0628\u06be\u06cc\u062c\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0679 \u0627\u0633 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u0648 \u062f\u0648\u0633\u0631\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0633\u06d2 \u0627\u0644\u06af \u0631\u06a9\u06be \u0633\u06a9\u06d2\u06d4 \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c Streamlit \u0633\u06cc\u0634\u0646 \u06a9\u06cc \u062d\u0627\u0644\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0686\u06cc\u0679_\u06c1\u0633\u0679\u0631\u06cc \u0644\u0633\u0679 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u067e\u0631\u0627\u0646\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0627\u0628 \u0628\u06be\u06cc \u0646\u0638\u0631 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u06cc\u067e \u0645\u062d\u0641\u0648\u0638 \u0634\u062f\u06c1 \u062a\u0627\u0631\u06cc\u062e \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 st.chat_message() \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0686\u06cc\u0679 \u0637\u0631\u0632 \u06a9\u06cc \u0634\u06a9\u0644 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u0635\u0627\u0631\u0641 st.chat_input() \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0648\u0626\u06cc \u0646\u06cc\u0627 \u067e\u06cc\u063a\u0627\u0645 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u06cc\u067e \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0633\u06d2 \u0688\u0633\u067e\u0644\u06d2 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 POST \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 API \u06a9\u0648 \u0628\u06be\u06cc\u062c\u062a\u06cc \u06c1\u06d2\u06d4 <code>http:\/\/127.0.0.1:8001\/chat\/stream<\/code> \u0633\u06cc\u0634\u0646 \u06a9\u06d2 user_id \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4<\/p>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba stream=True \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062c\u0648 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0622\u0646\u06d2 \u06a9\u06cc \u0628\u062c\u0627\u0626\u06d2 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0645\u062a\u0646 \u06a9\u0627 \u06c1\u0631 \u062d\u0635\u06c1 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0633\u06d2 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0648\u0688 \u0627\u0633\u06d2 full_answer \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u0641\u062d\u06c1 \u067e\u0631 \u067e\u0644\u06cc\u0633 \u06c1\u0648\u0644\u0688\u0631\u0632 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u0644\u0627\u0626\u06cc\u0648 \u0633\u0679\u0631\u06cc\u0645\u0646\u06af \u0627\u062b\u0631 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0648\u0627\u0628 \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u062d\u062a\u0645\u06cc \u062b\u0627\u0646\u0648\u06cc \u067e\u06cc\u063a\u0627\u0645 chat_history \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u0635\u0641\u062d\u06c1 \u06a9\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u0627 \u062d\u0635\u06c1 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba: <code>streamlit_app.py<\/code><\/p>\n<pre><code class=\"language-python\">import uuid\nimport requests\nimport streamlit as st\n\nAPI_URL = \"http:\/\/127.0.0.1:8001\/chat\/stream\"\n\nst.title(\"Local AI Agent\")\n\nif \"user_id\" not in st.session_state:\n    st.session_state.user_id = str(uuid.uuid4())\n\nif \"chat_history\" not in st.session_state:\n    st.session_state.chat_history = []\n\n# Show previous messages\nfor item in st.session_state.chat_history:\n    with st.chat_message(item[\"role\"]):\n        st.markdown(item[\"content\"])\n\nmessage = st.chat_input(\"Enter a message\")\n\nif message:\n    # Save and show user message\n    st.session_state.chat_history.append({\"role\": \"user\", \"content\": message})\n    with st.chat_message(\"user\"):\n        st.markdown(message)\n\n    # Stream assistant response\n    full_answer = \"\"\n    with st.chat_message(\"assistant\"):\n        placeholder = st.empty()\n\n        # Send the reqeust to backend API via POST request\n        with requests.post(\n            API_URL,\n            json={\n                \"message\": message,\n                \"user_id\": st.session_state.user_id,\n            },\n            stream=True,\n        ) as response:\n            response.raise_for_status()\n\n            for chunk in response.iter_content(chunk_size=None, decode_unicode=True):\n                if chunk:\n                    full_answer += chunk\n                    placeholder.markdown(full_answer)\n\n    # Save final assistant response\n    st.session_state.chat_history.append(\n        {\"role\": \"assistant\", \"content\": full_answer}\n    )\n<\/code><\/pre>\n<h2 id=\"heading-step-5-run-the-backend-app\">\u0645\u0631\u062d\u0644\u06c1 5: \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0627\u06cc\u067e \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h2>\n<p>Uvicorn \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0631\u0648\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">uvicorn app:app --reload --port 8001\n<\/code><\/pre>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06a9\u06be\u0648\u0644\u06cc\u06ba:<\/p>\n<p>\u06a9\u06c1 <code>\/docs<\/code> \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679\u0633 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0641\u0627\u0633\u0679 \u0627\u06d2 \u067e\u06cc \u0622\u0626\u06cc \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 Pydantic \u0645\u0627\u0688\u0644 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0644\u0627\u0626\u0646\u0679 \u06a9\u0648\u0688 \u0644\u06a9\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u0622\u067e \u06a9\u06d2 API \u06a9\u0648 \u062c\u0627\u0646\u0686\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0646\u0679\u0631\u0627\u06cc\u06a9\u0679\u0648 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/07\/1784628861_110_FastAPI-\u0627\u0648\u0631-Streamlit-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0645\u0644\u0679\u06cc-\u06cc\u0648\u0632\u0631-AI.png\" alt=\"FastAPI \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 API \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a\u06d4 \u0627\u0633 \u0645\u06cc\u06ba \/chat\/stream \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u0627\u0648\u0631 \u0627\u0633\u06a9\u06cc\u0645\u0627 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4\" style=\"display:block;margin:0 auto\" width=\"2712\" height=\"1034\" loading=\"lazy\" title=\"\"><\/p>\n<p>\u0622\u067e \u0627\u067e\u0646\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06cc\u06c1\u0627\u06ba \u0628\u06be\u06cc\u062c \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba: <code>curl<\/code>. \u0627\u067e\u0646\u06d2 AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 API \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0622\u0624\u0679 \u067e\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0648 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">$ curl -X POST http:\/\/127.0.0.1:8001\/chat\/stream \n  -H \"Content-Type: application\/json\" \n  -d '{\"message\":\"What time is it?\",\"user_id\":\"123e4567-e89b-12d3-a456-426614174000\"}'\n\n$ curl -X POST http:\/\/127.0.0.1:8001\/chat\/stream \n  -H \"Content-Type: application\/json\" \n  -d '{\"message\":\"How many words are in: LangChain makes tool calling easier\",\"user_id\":\"123e4567-e89b-12d3-a456-426614174000\"}'\n\n$ curl -X POST \"http:\/\/127.0.0.1:8001\/chat\/stream\" \n-H \"Content-Type: application\/json\" \n-d '{\"message\":\"What is the capital of France?\",\"user_id\":\"123e4567-e89b-12d3-a456-426614174000\"}'\n<\/code><\/pre>\n<p>\u0633\u0631\u0648\u0631 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba Ctrl+C \u062f\u0628\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-step-6-run-the-frontend-app\"><strong>\u0645\u0631\u062d\u0644\u06c1 6: \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0627\u06cc\u067e \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/strong><\/h2>\n<p>\u062f\u0648\u0633\u0631\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba\u060c \u0627\u067e\u0646\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0688\u0627\u0626\u0631\u06a9\u0679\u0631\u06cc \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-plaintext\">source venv\/bin\/activate\nstreamlit run streamlit_app.py\n<\/code><\/pre>\n<p>\u0627\u0633 \u0633\u06d2 \u0622\u067e \u06a9\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u06a9\u06be\u0644 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 <code>http:\/\/localhost:8501\/<\/code>. \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0634\u0627\u0631\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u06cc\u0633\u06d2 &quot;\u0641\u0631\u0627\u0646\u0633 \u06a9\u0627 \u062f\u0627\u0631\u0627\u0644\u062d\u06a9\u0648\u0645\u062a \u06a9\u06cc\u0627 \u06c1\u06d2\u061f&#8221; \u0622\u067e \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0686\u06cc\u0679 \u0637\u0631\u0632 \u06a9\u06d2 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/07\/1784628862_973_FastAPI-\u0627\u0648\u0631-Streamlit-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0645\u0644\u0679\u06cc-\u06cc\u0648\u0632\u0631-AI.png\" alt=\"Streamlit UI \u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0686\u06cc\u0679 \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4\" style=\"display:block;margin:0 auto\" width=\"1848\" height=\"1710\" loading=\"lazy\" title=\"\"><\/p>\n<p>UI \u0641\u0627\u0633\u0679 \u0627\u06d2 \u067e\u06cc \u0622\u0626\u06cc \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0628 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0679\u0648 \u0627\u06cc\u0646\u0688 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u06c1\u06d2 \u062c\u0648 \u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u067e \u06a9\u06be\u06cc\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0631\u0648\u0631 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba Ctrl+C \u062f\u0628\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-sample-output\">\u0646\u0645\u0648\u0646\u06c1 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631<\/h2>\n<p>\u0646\u06cc\u0686\u06d2 \u062f\u06cc \u06af\u0626\u06cc \u062a\u0635\u0648\u06cc\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u067e \u06a9\u06d2 \u062f\u0648 \u0628\u0631\u0627\u0624\u0632\u0631 \u0633\u06cc\u0634\u0646 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u067e\u0631 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u0686\u0644 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u0646\u0641\u0631\u062f ID \u062a\u0641\u0648\u06cc\u0636 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u067e\u0633\u062f\u06cc\u062f \u06c1\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0644\u06af \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0633\u0631\u06af\u0632\u0634\u062a \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 \u062f\u0648 \u0635\u0627\u0631\u0641\u06cc\u0646 \u062f\u0648\u0646\u0648\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0633\u0648\u0627\u0644 \u067e\u0648\u0686\u06be\u06cc\u06ba\u060c &quot;\u0645\u06cc\u06ba \u06a9\u0648\u0646 \u06c1\u0648\u06ba\u061f&#8221;\u060c \u06c1\u0631 \u0633\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u062c\u0648\u0627\u0628\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u06c1\u0648\u06ba \u06af\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062c\u0648\u0627\u0628\u0627\u062a \u0627\u0633 \u0633\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u067e\u0686\u06be\u0644\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u067e\u0631 \u0645\u0628\u0646\u06cc \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/07\/1784628862_267_FastAPI-\u0627\u0648\u0631-Streamlit-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0645\u0644\u0679\u06cc-\u06cc\u0648\u0632\u0631-AI.png\" alt=\"\u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06cc \u0633\u0631\u06af\u0632\u0634\u062a \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0645\u062e\u062a\u0644\u0641 \u062c\u0648\u0627\u0628\u0627\u062a \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u062c\u0633 \u0645\u06cc\u06ba \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u0648 \u0633\u06cc\u0634\u0646 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4\" style=\"display:block;margin:0 auto\" width=\"2914\" height=\"1906\" loading=\"lazy\" title=\"\"><\/p>\n<h2 id=\"heading-what-to-improve-before-production\">\u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0628\u06c1\u062a\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0686\u06cc\u0632\u06cc\u06ba<\/h2>\n<p>\u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0641\u0639\u0627\u0644 \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 \u067e\u06be\u0631 \u0628\u06be\u06cc \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0642\u0627\u0628\u0644 FastAPI \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688\u060c Streamlit \u0686\u06cc\u0679 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633\u060c \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u0635\u0648\u0635 \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0631\u06cc\u06a9\u0627\u0631\u0688\u0646\u06af\u060c \u0627\u0648\u0631 \u0633\u0679\u0631\u06cc\u0645\u0646\u06af \u0631\u062f\u0639\u0645\u0644 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0645\u0632\u06cc\u062f \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648\u060c \u0627\u06af\u0644\u06d2 \u0645\u0631\u062d\u0644\u06d2 \u0645\u06cc\u06ba \u062a\u0635\u062f\u06cc\u0642\u060c \u0645\u0633\u062a\u0642\u0644 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c\u060c \u0633\u0627\u062e\u062a\u06cc \u0644\u0627\u06af\u0646\u06af\u060c \u0646\u06af\u0631\u0627\u0646\u06cc\u060c \u0627\u0648\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0636\u0628\u0648\u0637 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0628\u0627\u062a \u0628\u06be\u06cc \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0645\u0642\u0635\u062f \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u067e\u0627\u0644\u0634 \u0633\u06cc\u0644\u0641 \u06c1\u0648\u0633\u0679\u0688 \u0686\u06cc\u0679 UI \u06a9\u0648 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u0646\u0627\u0646\u0627 \u0627\u0648\u0631 \u0686\u0644\u0627\u0646\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u062e\u0648\u062f \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1 \u06c1\u0648\u06d4 LibreChat \u0627\u0648\u0631 Open WebUI \u062c\u06cc\u0633\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0628\u06c1\u062a\u0631 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0627\u0648\u0631 \u0648\u0633\u06cc\u0639 \u062a\u0631 \u0641\u0639\u0627\u0644\u06cc\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06c1 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u067e\u0648\u0631\u06d2 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06a9\u0648 \u0627\u067e\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0645 \u0622\u067e \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u0627 \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627 \u06a9\u0633\u0679\u0645 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0622\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u067e\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0646\u0679\u0631\u0648\u0644 \u062d\u0627\u0635\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0646\u06d2 \u0627\u06cc\u06a9 \u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 FastAPI \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0644\u067e\u06cc\u0679 \u06a9\u0631 \u0627\u0633 \u06a9\u06d2 \u0627\u0648\u067e\u0631 Streamlit UI \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 AI \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0627\u0633\u0679\u06cc\u0646\u0688 \u0627\u0633\u06a9\u0631\u067e\u0679\u0633 \u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u062e\u062f\u0645\u0627\u062a \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0627\u0628 \u0622\u067e \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 HTTP \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062f\u06cc\u06af\u0631 \u0627\u06cc\u067e\u0633\u060c \u0627\u0633\u06a9\u0631\u067e\u0679\u0633\u060c \u06cc\u0627 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0679\u0648\u0644\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0631 \u0633\u06cc\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0646\u0641\u0631\u062f ID \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u0646\u06d2 \u0633\u06d2\u060c \u0633\u0631\u0648\u0633 \u0645\u062a\u0639\u062f\u062f \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0644\u06af \u0627\u0644\u06af \u06af\u0641\u062a\u06af\u0648 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u06cc\u06c1 \u0641\u06cc \u0633\u06cc\u0634\u0646 \u0627\u0644\u06af \u062a\u06be\u0644\u06af \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0686\u06cc\u0679 \u0637\u0631\u0632 \u06a9\u06d2 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u06c1\u0627\u06ba \u0633\u06d2\u060c \u0622\u067e \u062a\u0635\u062f\u06cc\u0642 \u06cc\u0627 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 \u0627\u0633\u06cc \u0633\u0631\u0648\u0633 \u06a9\u0648 \u0628\u0691\u06be\u0627\u0646\u0627 \u062c\u0627\u0631\u06cc \u0631\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0628\u0627\u0631\u06a9 \u06c1\u0648 \u0679\u0646\u06a9\u0631\u0646\u06af!<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u0633\u0628\u0642 \u067e\u0633\u0646\u062f \u0622\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0645\u06cc\u0631\u06d2 \u0628\u0644\u0627\u06af \u067e\u0631 \u0645\u06cc\u0631\u06cc \u0645\u0632\u06cc\u062f \u062a\u062d\u0631\u06cc\u0631\u06cc\u06ba (\u062d\u0627\u0644\u06cc\u06c1 \u067e\u0648\u0633\u0679\u0633 \u0645\u06cc\u06ba \u0633\u0633\u0679\u0645\u0632 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06cc\u067e\u0631\u0632 \u0633\u06cc\u0631\u06cc\u0632 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba)\u060c \u0645\u06cc\u0631\u06cc \u0630\u0627\u062a\u06cc \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u067e\u0631 \u0645\u06cc\u0631\u0627 \u06a9\u0627\u0645\u060c \u0627\u0648\u0631 LinkedIn \u067e\u0631 \u0627\u067e \u0688\u06cc\u0679\u0633 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u0645\u06cc\u06ba \u0622\u067e \u06a9\u0648 \u062f\u06a9\u06be\u0627\u0624\u06ba \u06af\u0627 \u06a9\u06c1 \u0641\u0627\u0633\u0679 \u0627\u06d2 \u067e\u06cc \u0622\u0626\u06cc \u06a9\u0648 \u0627\u06cc\u06a9 \u06a9\u062b\u06cc\u0631 \u0635\u0627\u0631\u0641 \u0645\u0642\u0627\u0645\u06cc AI \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0648 REST API \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633 \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627 Streamlit UI \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0679\u0631\u0645\u06cc\u0646\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":27049,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-27048","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=27048"}],"version-history":[{"count":1,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27048\/revisions"}],"predecessor-version":[{"id":27050,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/27048\/revisions\/27050"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media\/27049"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=27048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=27048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=27048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}