{"id":11342,"date":"2026-10-04T00:25:42","date_gmt":"2026-10-04T00:25:42","guid":{"rendered":"https:\/\/bitep.net\/blog\/2026\/10\/04\/i-built-my-wife-a-patient-english-idiom-coach-that-runs-on-our-laptop\/"},"modified":"2026-10-04T00:25:42","modified_gmt":"2026-10-04T00:25:42","slug":"i-built-my-wife-a-patient-english-idiom-coach-that-runs-on-our-laptop","status":"publish","type":"post","link":"https:\/\/bitep.net\/blog\/2026\/10\/04\/i-built-my-wife-a-patient-english-idiom-coach-that-runs-on-our-laptop\/","title":{"rendered":"I Built My Wife a Patient English Idiom Coach That Runs on Our Laptop"},"content":{"rendered":"<h2>S\u00fcni \u0130ntellekt D\u0259st\u0259kli F\u0259rdi Dil T\u0259lim\u00e7isi: Noutbukda Lokal \u0130\u015fl\u0259y\u0259n \u0130diom M\u0259\u015fq\u00e7isi<\/h2>\n<p>Xarici dil \u00f6yr\u0259nm\u0259 prosesind\u0259 qrammatika v\u0259 baza l\u00fc\u011f\u0259t ehtiyat\u0131 m\u00fc\u0259yy\u0259n s\u0259viyy\u0259y\u0259 \u00e7atd\u0131qdan sonra t\u0259l\u0259b\u0259l\u0259rin qar\u015f\u0131la\u015fd\u0131\u011f\u0131 \u0259n b\u00f6y\u00fck mane\u0259l\u0259rd\u0259n biri frazeoloji birl\u0259\u015fm\u0259l\u0259r, y\u0259ni idiomlar olur. X\u00fcsusil\u0259 ingilis dilind\u0259 g\u00fcnd\u0259lik \u00fcnsiyy\u0259t &#8220;it&#8217;s a piece of cake&#8221;, &#8220;call it a day&#8221; v\u0259 ya &#8220;under the weather&#8221; kimi h\u0259rfi m\u0259nas\u0131 il\u0259 he\u00e7 bir \u0259laq\u0259si olmayan ifad\u0259l\u0259rl\u0259 z\u0259ngindir. Hacktoberfest \u00e7\u0259r\u00e7iv\u0259sind\u0259 t\u0259qdim edil\u0259n yeni layih\u0259, dil da\u015f\u0131y\u0131c\u0131lar\u0131n\u0131n m\u00fchitin\u0259 yeni daxil olmu\u015f A2 s\u0259viyy\u0259li istifad\u0259\u00e7il\u0259r \u00fc\u00e7\u00fcn idiomlar\u0131 interaktiv v\u0259 s\u0259birl\u0259 \u00f6yr\u0259d\u0259n f\u0259rdi bir s\u00fcni intellekt k\u00f6m\u0259k\u00e7isinin nec\u0259 yarad\u0131ld\u0131\u011f\u0131n\u0131 n\u00fcmayi\u015f etdirir.<\/p>\n<p>Layih\u0259nin \u0259n diqq\u0259t\u00e7\u0259k\u0259n t\u0259r\u0259fi onun bulud serverl\u0259rind\u0259n as\u0131l\u0131 olmadan, birba\u015fa istifad\u0259\u00e7inin \u015f\u0259xsi noutbukunda tamamil\u0259 lokal \u015f\u0259kild\u0259 \u00e7al\u0131\u015fmas\u0131d\u0131r. Bu yana\u015fma h\u0259m internet ba\u011flant\u0131s\u0131 t\u0259l\u0259bini aradan qald\u0131r\u0131r, h\u0259m d\u0259 istifad\u0259\u00e7i m\u0259xfiliyini \u0259n y\u00fcks\u0259k s\u0259viyy\u0259d\u0259 t\u0259min edir.<\/p>\n<h3>Niy\u0259 Bulud Yox, M\u0259hz Lokal S\u00fcni \u0130ntellekt?<\/h3>\n<p>\u018fn\u0259n\u0259vi SaaS h\u0259ll\u0259ri v\u0259 kommersiya API-l\u0259ri (m\u0259s\u0259l\u0259n, OpenAI GPT-4 v\u0259 ya Claude) y\u00fcks\u0259k s\u0259viyy\u0259li linqvistik imkanlar t\u0259qdim ets\u0259 d\u0259, g\u00fcnd\u0259lik f\u0259rdi t\u0259cr\u00fcb\u0259d\u0259 b\u0259zi \u00e7at\u0131\u015fmazl\u0131qlara malikdir. M\u00fc\u0259llifin lokal inferens\u0259 \u00fcst\u00fcnl\u00fck verm\u0259sinin arxas\u0131nda bir ne\u00e7\u0259 m\u00fch\u00fcm texniki s\u0259b\u0259b dayan\u0131r:<\/p>\n<ul>\n<li><strong>S\u0131f\u0131r Gecikm\u0259 v\u0259 Oflayn \u018fl\u00e7atanl\u0131q:<\/strong> Noutbukda \u00e7al\u0131\u015fan lokal dil modell\u0259ri (SLM &#8211; Small Language Models) internet k\u0259sildikd\u0259 bel\u0259 fasil\u0259siz i\u015fl\u0259yir.<\/li>\n<li><strong>M\u0259lumat M\u0259xfiliyi:<\/strong> \u0130stifad\u0259\u00e7inin t\u0259l\u0259ff\u00fcz s\u0259hvl\u0259ri, cavablar\u0131 v\u0259 qar\u015f\u0131l\u0131ql\u0131 \u0259laq\u0259 tarix\u00e7\u0259si he\u00e7 bir k\u0259nar server\u0259 \u00f6t\u00fcr\u00fclm\u00fcr.<\/li>\n<li><strong>API X\u0259rcl\u0259rinin Olmamas\u0131:<\/strong> Model \u00fc\u00e7\u00fcn h\u0259r sor\u011fuya g\u00f6r\u0259 token \u00f6d\u0259ni\u015fi t\u0259l\u0259b olunmur; bu da istifad\u0259\u00e7iy\u0259 he\u00e7 bir maliyy\u0259 m\u0259hdudiyy\u0259ti olmadan limitsiz t\u0259krarlama v\u0259 m\u0259\u015fq imkan\u0131 verir.<\/li>\n<li><strong>F\u0259rdil\u0259\u015fdirilmi\u015f Sistem T\u0259limatlar\u0131:<\/strong> Lokal model spesifik olaraq &#8220;s\u0259birli, A2 s\u0259viyy\u0259sin\u0259 uy\u011funla\u015fan v\u0259 sad\u0259 izahatlar ver\u0259n&#8221; repetitor roluna k\u00f6kl\u0259nir.<\/li>\n<\/ul>\n<h3>Texniki Arxitektura v\u0259 Sistem Qurulu\u015fu<\/h3>\n<p>Bu c\u00fcr layih\u0259l\u0259rin noutbuk aparat t\u0259minat\u0131nda rahat i\u015fl\u0259m\u0259si \u00fc\u00e7\u00fcn m\u00fcasir kvantla\u015fd\u0131rma (quantization) \u00fcsullar\u0131ndan v\u0259 y\u00fcng\u00fcl neyron \u015f\u0259b\u0259k\u0259l\u0259rind\u0259n istifad\u0259 olunur. \u00dcmumi memarl\u0131q a\u015fa\u011f\u0131dak\u0131 komponentl\u0259rd\u0259n ibar\u0259tdir:<\/p>\n<ul>\n<li><strong>\u0130nferens M\u00fch\u0259rriki:<\/strong> Yerli ma\u015f\u0131nda modelin resurslar\u0131 optimalla\u015fd\u0131r\u0131lm\u0131\u015f \u015f\u0259kild\u0259 istifad\u0259 etm\u0259si \u00fc\u00e7\u00fcn <code>Ollama<\/code> v\u0259 ya <code>llama.cpp<\/code> arxitekturas\u0131 t\u0259tbiq edilir.<\/li>\n<li><strong>\u018fsas Model:<\/strong> Sistemd\u0259 resurs t\u0259l\u0259bat\u0131 az, lakin t\u0259bii dil anlama qabiliyy\u0259ti y\u00fcks\u0259k olan <code>Llama-3-8B-Instruct<\/code> v\u0259 ya <code>Mistral-7B<\/code> modell\u0259rinin 4-bitlik (Q4_K_M) kvantla\u015fd\u0131r\u0131lm\u0131\u015f versiyalar\u0131 istifad\u0259 olunur.<\/li>\n<li><strong>\u0130stifad\u0259\u00e7i \u0130nterfeysi:<\/strong> T\u0259tbiq sad\u0259 v\u0259 intuitiv Python \u00e7\u0259r\u00e7iv\u0259si (m\u0259s\u0259l\u0259n, <code>Streamlit<\/code> v\u0259 ya y\u00fcng\u00fcl veb interfeys) \u00fcz\u0259rind\u0259n idar\u0259 olunur.<\/li>\n<li><strong>Prompt M\u00fch\u0259ndisliyi (System Prompt):<\/strong> Model\u0259 ciddi t\u0259limat verilir ki, m\u00fcr\u0259kk\u0259b qrammatik izahatlardan qa\u00e7s\u0131n, idiomlar\u0131 g\u00fcnd\u0259lik h\u0259yat ssenaril\u0259ri il\u0259 vizualla\u015fd\u0131rs\u0131n v\u0259 t\u0259l\u0259b\u0259ni ruhland\u0131ran ton qorusun.<\/li>\n<\/ul>\n<h3>\u00d6z Lokal \u0130diom M\u0259\u015fq\u00e7inizi Nec\u0259 Qura Bil\u0259rsiniz? (Add\u0131m-add\u0131m B\u0259l\u0259d\u00e7i)<\/h3>\n<p>Ox\u015far bir k\u00f6m\u0259k\u00e7ini \u00f6z \u015f\u0259xsi komp\u00fcterinizd\u0259 qura\u015fd\u0131rmaq \u00fc\u00e7\u00fcn a\u015fa\u011f\u0131dak\u0131 ard\u0131c\u0131ll\u0131\u011f\u0131 icra ed\u0259 bil\u0259rsiniz.<\/p>\n<h3>Add\u0131m 1: Ollama Platformas\u0131n\u0131n Qura\u015fd\u0131r\u0131lmas\u0131<\/h3>\n<p>\u018fvv\u0259lc\u0259 a\u00e7\u0131q m\u0259nb\u0259li modell\u0259ri lokalda asanl\u0131qla idar\u0259 etm\u0259k \u00fc\u00e7\u00fcn sisteminiz\u0259 uy\u011fun Ollama m\u00fchitini qura\u015fd\u0131r\u0131n v\u0259 y\u00fcng\u00fcl modeli y\u00fckl\u0259yin:<\/p>\n<pre><code class=\"language-bash\"># Modeli terminaldan endirin v\u0259 yoxlay\u0131n\nollama run llama3:8b<\/code><\/pre>\n<h3>Add\u0131m 2: \u0130\u015f\u00e7i M\u00fchitin Haz\u0131rlanmas\u0131<\/h3>\n<p>Python \u0259sasl\u0131 interfeys v\u0259 API \u0259laq\u0259si \u00fc\u00e7\u00fcn t\u0259l\u0259b olunan kitabxanalar\u0131 qura\u015fd\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">pip install ollama streamlit<\/code><\/pre>\n<h3>Add\u0131m 3: T\u0259tbiq Kodunun Yaz\u0131lmas\u0131<\/h3>\n<p>Layih\u0259 qovlu\u011funda <code>app.py<\/code> fayl\u0131 yarad\u0131n v\u0259 modeli f\u0259rdil\u0259\u015fdir\u0259n a\u015fa\u011f\u0131dak\u0131 sad\u0259 kodu daxil edin:<\/p>\n<pre><code class=\"language-bash\">cat &lt;&lt; 'EOF' &gt; app.py\nimport streamlit as st\nimport ollama\n\nst.set_page_config(page_title=\"Lokal \u0130diom M\u0259\u015fq\u00e7isi\", page_icon=\"\ud83c\udf93\")\nst.title(\"\u0130ngilis Dili \u0130diom T\u0259lim\u00e7isi\")\n\nSYSTEM_PROMPT = \"\"\"\nYou are a patient, encouraging English idiom coach for an A2-level learner.\nExplain idioms using very simple vocabulary, short sentences, and everyday SF\/modern life examples.\nAlways test the user with a gentle multiple-choice or fill-in-the-blank question after explaining.\n\"\"\"\n\nif \"messages\" not in st.session_state:\n    st.session_state.messages = [{\"role\": \"system\", \"content\": SYSTEM_PROMPT}]\n\nfor msg in st.session_state.messages:\n    if msg[\"role\"] != \"system\":\n        with st.chat_message(msg[\"role\"]):\n            st.write(msg[\"content\"])\n\nif prompt := st.chat_input(\"Hans\u0131 idiomu \u00f6yr\u0259nm\u0259k ist\u0259yirsiniz?\"):\n    st.session_state.messages.append({\"role\": \"user\", \"content\": prompt})\n    with st.chat_message(\"user\"):\n        st.write(prompt)\n\n    response = ollama.chat(\n        model=\"llama3:8b\",\n        messages=st.session_state.messages\n    )\n    \n    reply = response['message']['content']\n    st.session_state.messages.append({\"role\": \"assistant\", \"content\": reply})\n    with st.chat_message(\"assistant\"):\n        st.write(reply)\nEOF<\/code><\/pre>\n<h3>Add\u0131m 4: T\u0259tbiqin \u0130\u015f\u0259 Sal\u0131nmas\u0131<\/h3>\n<p>Sistemi i\u015f\u0259 salmaq \u00fc\u00e7\u00fcn terminalda a\u015fa\u011f\u0131dak\u0131 \u0259mri daxil edin:<\/p>\n<pre><code class=\"language-bash\">streamlit run app.py<\/code><\/pre>\n<h3>T\u0259hsil Texnologiyalar\u0131 (EdTech) \u00dc\u00e7\u00fcn \u018fh\u0259miyy\u0259ti<\/h3>\n<p>Bu t\u0259\u015f\u0259bb\u00fcs g\u00f6st\u0259rir ki, m\u00fcasir s\u00fcni intellekt inqilab\u0131 yaln\u0131z b\u00f6y\u00fck korporasiyalar\u0131n meqa-serverl\u0259ri il\u0259 m\u0259hdudla\u015fm\u0131r. F\u0259rdi t\u0259l\u0259bl\u0259r\u0259 uy\u011funla\u015fd\u0131r\u0131lm\u0131\u015f, lokal \u00e7al\u0131\u015fan &#8220;Edge AI&#8221; t\u0259tbiql\u0259ri t\u0259hsil sah\u0259sind\u0259 inqilabi d\u0259yi\u015fiklikl\u0259r\u0259 yol a\u00e7\u0131r. T\u0259l\u0259b\u0259 s\u0259hv etm\u0259kd\u0259n \u00e7\u0259kinm\u0259d\u0259n, he\u00e7 bir abun\u0259 haqq\u0131 \u00f6d\u0259m\u0259d\u0259n v\u0259 m\u0259lumatlar\u0131n\u0131n qorundu\u011fundan \u0259min olaraq t\u0259bii dild\u0259 dialoq qura bilir.<\/p>\n<h3>Yekun D\u0259y\u0259rl\u0259ndirm\u0259<\/h3>\n<p>Hacktoberfest \u00e7\u0259r\u00e7iv\u0259sind\u0259 t\u0259qdim olunan bu f\u0259rdi layih\u0259, texnologiyan\u0131n g\u00fcnd\u0259lik real probleml\u0259ri h\u0259ll etm\u0259k \u00fc\u00e7\u00fcn nec\u0259 humanistl\u0259\u015fdiril\u0259 bil\u0259c\u0259yinin bariz n\u00fcmun\u0259sidir. G\u00fccl\u00fc a\u00e7\u0131q m\u0259nb\u0259li modell\u0259rin (Open Source LLMs) v\u0259 aparat t\u0259minat\u0131 optimizasiyalar\u0131n\u0131n inki\u015faf\u0131 say\u0259sind\u0259, yax\u0131n g\u0259l\u0259c\u0259kd\u0259 h\u0259r k\u0259sin \u00f6z ehtiyaclar\u0131na uy\u011funla\u015fd\u0131r\u0131lm\u0131\u015f f\u0259rdi lokal repetitorlara sahib olaca\u011f\u0131n\u0131 proqnozla\u015fd\u0131rmaq olar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u00fcni \u0130ntellekt D\u0259st\u0259kli F\u0259rdi Dil T\u0259lim\u00e7isi: Noutbukda Lokal \u0130\u015fl\u0259y\u0259n \u0130diom M\u0259\u015fq\u00e7isi Xarici dil \u00f6yr\u0259nm\u0259 prosesind\u0259 qrammatika v\u0259 baza l\u00fc\u011f\u0259t ehtiyat\u0131 m\u00fc\u0259yy\u0259n s\u0259viyy\u0259y\u0259 \u00e7atd\u0131qdan sonra t\u0259l\u0259b\u0259l\u0259rin qar\u015f\u0131la\u015fd\u0131\u011f\u0131 \u0259n b\u00f6y\u00fck mane\u0259l\u0259rd\u0259n biri frazeoloji birl\u0259\u015fm\u0259l\u0259r, y\u0259ni idiomlar olur. X\u00fcsusil\u0259 ingilis dilind\u0259 g\u00fcnd\u0259lik \u00fcnsiyy\u0259t &#8220;it&#8217;s a piece of cake&#8221;, &#8220;call it a day&#8221; v\u0259 ya &#8220;under the weather&#8221; kimi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11341,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/bitep.net\/blog\/wp-content\/uploads\/2026\/10\/bitep-ai-1791073537433-7.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts\/11342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/comments?post=11342"}],"version-history":[{"count":0,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts\/11342\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/media\/11341"}],"wp:attachment":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/media?parent=11342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/categories?post=11342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/tags?post=11342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}