CINXE.COM
<!doctype html><html lang="en"><head><title data-rh="true">Prompt with a Locally Hosted Model within Excel Individual Cells | by Devon Trepp | Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:type" content="article"/><meta data-rh="true" property="article:published_time" content="2024-11-22T19:44:03.440Z"/><meta data-rh="true" name="title" content="Prompt with a Locally Hosted Model within Excel Individual Cells | by Devon Trepp | Medium"/><meta data-rh="true" property="og:title" content="Prompt with a Locally Hosted Model within Excel Individual Cells"/><meta data-rh="true" property="al:android:url" content="medium://p/8f92caf6c89a"/><meta data-rh="true" property="al:ios:url" content="medium://p/8f92caf6c89a"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" name="description" content="I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within cells of an excel file. The advent of large language models (LLMs) has…"/><meta data-rh="true" property="og:description" content="I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within excel."/><meta data-rh="true" property="og:url" content="https://medium.com/@devon.trepp/prompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a"/><meta data-rh="true" property="al:web:url" content="https://medium.com/@devon.trepp/prompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/da:true/resize:fit:1200/0*MC5e6rrr1NHG5DnI"/><meta data-rh="true" property="article:author" content="https://medium.com/@devon.trepp"/><meta data-rh="true" name="author" content="Devon Trepp"/><meta data-rh="true" name="robots" content="index,noarchive,follow,max-image-preview:large"/><meta data-rh="true" name="referrer" content="unsafe-url"/><meta data-rh="true" property="twitter:title" content="Prompt with a Locally Hosted Model within Excel Individual Cells"/><meta data-rh="true" name="twitter:site" content="@Medium"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://p/8f92caf6c89a"/><meta data-rh="true" property="twitter:description" content="I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within excel."/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/da:true/resize:fit:1200/0*MC5e6rrr1NHG5DnI"/><meta data-rh="true" name="twitter:card" content="summary_large_image"/><meta data-rh="true" name="twitter:label1" content="Reading time"/><meta data-rh="true" name="twitter:data1" content="5 min read"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" rel="preconnect" href="https://glyph.medium.com" crossOrigin=""/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="author" href="https://medium.com/@devon.trepp"/><link data-rh="true" rel="canonical" href="https://medium.com/@devon.trepp/prompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/p/8f92caf6c89a"/><script data-rh="true" type="application/ld+json">{"@context":"http:\u002F\u002Fschema.org","@type":"NewsArticle","image":["https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fda:true\u002Fresize:fit:1200\u002F0*MC5e6rrr1NHG5DnI"],"url":"https:\u002F\u002Fmedium.com\u002F@devon.trepp\u002Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a","dateCreated":"2024-11-22T19:19:37.460Z","datePublished":"2024-11-22T19:19:37.460Z","dateModified":"2024-11-23T02:56:22.044Z","headline":"Prompt with a Locally Hosted Model within Excel Individual Cells","name":"Prompt with a Locally Hosted Model within Excel Individual Cells","description":"I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within cells of an excel file. The advent of large language models (LLMs) has…","identifier":"8f92caf6c89a","author":{"@type":"Person","name":"Devon Trepp","url":"https:\u002F\u002Fmedium.com\u002F@devon.trepp"},"creator":["Devon Trepp"],"publisher":{"@type":"Organization","name":"Medium","url":"https:\u002F\u002Fmedium.com\u002F","logo":{"@type":"ImageObject","width":272,"height":60,"url":"https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:544\u002F7*V1_7XP4snlmqrc_0Njontw.png"}},"mainEntityOfPage":"https:\u002F\u002Fmedium.com\u002F@devon.trepp\u002Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a"}</script><style type="text/css" data-fela-rehydration="546" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="546" data-fela-type="KEYFRAME">@-webkit-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@-moz-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{color:inherit}.ag{fill:inherit}.ah{font-size:inherit}.ai{border:inherit}.aj{font-family:inherit}.ak{letter-spacing:inherit}.al{font-weight:inherit}.am{padding:0}.an{margin:0}.ao{cursor:pointer}.ap:disabled{cursor:not-allowed}.aq:disabled{color:#6B6B6B}.ar:disabled{fill:#6B6B6B}.au{width:auto}.av path{fill:#242424}.aw{height:25px}.ax{margin-left:16px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{justify-content:center}.ch{max-width:680px}.ci{min-width:0}.cj{animation:k1 1.2s ease-in-out infinite}.ck{height:100vh}.cl{margin-bottom:16px}.cm{margin-top:48px}.cn{align-items:flex-start}.co{flex-direction:column}.cp{justify-content:space-between}.cq{margin-bottom:24px}.cw{width:80%}.cx{background-color:#F2F2F2}.dd{height:44px}.de{width:44px}.df{margin:auto 0}.dg{margin-bottom:4px}.dh{height:16px}.di{width:120px}.dj{width:80px}.dp{margin-bottom:8px}.dq{width:96%}.dr{width:98%}.ds{width:81%}.dt{margin-left:8px}.du{color:#6B6B6B}.dv{font-size:13px}.dw{height:100%}.ep{color:#FFFFFF}.eq{fill:#FFFFFF}.er{background:#1A8917}.es{border-color:#1A8917}.ew:disabled{cursor:inherit !important}.ex:disabled{opacity:0.3}.ey:disabled:hover{background:#1A8917}.ez:disabled:hover{border-color:#1A8917}.fa{border-radius:99em}.fb{border-width:1px}.fc{border-style:solid}.fd{box-sizing:border-box}.fe{text-decoration:none}.ff{text-align:center}.fi{margin-right:32px}.fj{position:relative}.fk{fill:#6B6B6B}.fn{background:transparent}.fo svg{margin-left:4px}.fp svg{fill:#6B6B6B}.fr{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fs{position:absolute}.fz{margin:0 24px}.gd{background:rgba(255, 255, 255, 1)}.ge{border:1px solid #F2F2F2}.gf{box-shadow:0 1px 4px #F2F2F2}.gg{max-height:100vh}.gh{overflow-y:auto}.gi{left:0}.gj{top:calc(100vh + 100px)}.gk{bottom:calc(100vh + 100px)}.gl{width:10px}.gm{pointer-events:none}.gn{word-break:break-word}.go{word-wrap:break-word}.gp:after{display:block}.gq:after{content:""}.gr:after{clear:both}.gs{line-height:1.23}.gt{letter-spacing:0}.gu{font-style:normal}.gv{font-weight:700}.ia{align-items:baseline}.ib{width:48px}.ic{height:48px}.id{border:2px solid rgba(255, 255, 255, 1)}.ie{z-index:0}.if{box-shadow:none}.ig{border:1px solid rgba(0, 0, 0, 0.05)}.ih{margin-bottom:2px}.ii{flex-wrap:nowrap}.ij{font-size:16px}.ik{line-height:24px}.im{margin:0 8px}.in{display:inline}.io{color:#1A8917}.ip{fill:#1A8917}.is{flex:0 0 auto}.iv{flex-wrap:wrap}.iw{padding-left:8px}.ix{padding-right:8px}.jy> *{flex-shrink:0}.jz{overflow-x:scroll}.ka::-webkit-scrollbar{display:none}.kb{scrollbar-width:none}.kc{-ms-overflow-style:none}.kd{width:74px}.ke{flex-direction:row}.kf{z-index:2}.kg{margin-right:4px}.kj{-webkit-user-select:none}.kk{border:0}.kl{fill:rgba(117, 117, 117, 1)}.ko{outline:0}.kp{user-select:none}.kq> svg{pointer-events:none}.kz{cursor:progress}.la{opacity:1}.lb{padding:4px 0}.le{margin-top:0px}.lf{width:16px}.lh{display:inline-flex}.ln{max-width:100%}.lo{padding:8px 2px}.lp svg{color:#6B6B6B}.mg{margin-left:auto}.mh{margin-right:auto}.mi{max-width:2768px}.mo{clear:both}.mq{cursor:zoom-in}.mr{z-index:auto}.mt{height:auto}.mu{margin-top:10px}.mv{max-width:728px}.my{text-decoration:underline}.mz{line-height:1.58}.na{letter-spacing:-0.004em}.nb{font-family:source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif}.nw{margin-bottom:-0.46em}.nx{margin-top:32px}.ny{margin-bottom:14px}.nz{padding-top:24px}.oa{padding-bottom:10px}.ob{background-color:#000000}.oc{height:3px}.od{width:3px}.oe{margin-right:20px}.of{line-height:1.12}.og{letter-spacing:-0.022em}.oh{font-weight:600}.pc{margin-bottom:-0.28em}.pn{overflow-x:auto}.po{font-family:source-code-pro, Menlo, Monaco, "Courier New", Courier, monospace}.pp{padding:32px}.pq{border:1px solid #E5E5E5}.pr{line-height:1.4}.ps{margin-top:-0.2em}.pt{margin-bottom:-0.2em}.pu{white-space:pre}.pv{min-width:fit-content}.pw{padding:2px 4px}.px{font-size:75%}.py> strong{font-family:inherit}.pz{max-width:650px}.qf{max-width:348px}.qg{max-width:446px}.qh{max-width:326px}.qi{max-width:687px}.qj{max-width:373px}.qk{max-width:333px}.ql{font-style:italic}.qm{max-width:372px}.qn{margin-bottom:26px}.qo{margin-top:6px}.qp{margin-top:8px}.qq{margin-right:8px}.qr{padding:8px 16px}.qs{border-radius:100px}.qt{transition:background 300ms ease}.qv{white-space:nowrap}.qw{border-top:none}.qx{margin-bottom:50px}.qy{height:52px}.qz{max-height:52px}.ra{box-sizing:content-box}.rb{position:static}.rc{z-index:1}.re{max-width:155px}.rk{margin-bottom:64px}.rz{height:64px}.sa{width:64px}.sb{align-self:flex-end}.sc{color:rgba(255, 255, 255, 1)}.sd{fill:rgba(255, 255, 255, 1)}.se{background:rgba(25, 25, 25, 1)}.sf{border-color:rgba(25, 25, 25, 1)}.si:disabled{opacity:0.1}.sj:disabled:hover{background:rgba(25, 25, 25, 1)}.sk:disabled:hover{border-color:rgba(25, 25, 25, 1)}.sl{flex:1 1 auto}.sr{padding-right:4px}.ss{font-weight:500}.tf{white-space:pre-wrap}.tg{margin-top:16px}.th{margin-bottom:54px}.ti{height:0px}.tj{gap:18px}.tk{fill:rgba(61, 61, 61, 1)}.tw{border-bottom:solid 1px #E5E5E5}.tx{margin-top:72px}.ty{padding:24px 0}.tz{margin-bottom:0px}.ua{margin-right:16px}.as:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.at:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.et:hover{background:#156D12}.eu:hover{border-color:#156D12}.ev:hover{cursor:pointer}.fl:hover{color:#242424}.fm:hover{fill:#242424}.fq:hover svg{fill:#242424}.ft:hover{background-color:rgba(0, 0, 0, 0.1)}.il:hover{text-decoration:underline}.iq:hover:not(:disabled){color:#156D12}.ir:hover:not(:disabled){fill:#156D12}.kn:hover{fill:rgba(8, 8, 8, 1)}.lc:hover{fill:#000000}.ld:hover p{color:#000000}.lg:hover{color:#000000}.lq:hover svg{color:#000000}.qu:hover{background-color:#F2F2F2}.ry:hover{background-color:none}.sg:hover{background:#000000}.sh:hover{border-color:#242424}.tl:hover{fill:rgba(25, 25, 25, 1)}.bd:focus-within path{fill:#242424}.km:focus{fill:rgba(8, 8, 8, 1)}.lr:focus svg{color:#000000}.ms:focus{transform:scale(1.01)}.kr:active{border-style:none}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cg{margin:0 64px}.cv{height:48px}.dc{margin-bottom:52px}.do{margin-bottom:48px}.ef{font-size:14px}.eg{line-height:20px}.em{font-size:13px}.eo{padding:5px 12px}.fh{display:flex}.fy{margin-bottom:50px}.gc{max-width:680px}.hq{font-size:42px}.hr{margin-top:1.19em}.hs{margin-bottom:32px}.ht{line-height:52px}.hu{letter-spacing:-0.011em}.hz{align-items:center}.jk{border-top:solid 1px #F2F2F2}.jl{border-bottom:solid 1px #F2F2F2}.jm{margin:32px 0 0}.jn{padding:3px 8px}.jw> *{margin-right:24px}.jx> :last-child{margin-right:0}.ky{margin-top:0px}.lm{margin:0}.mn{margin-top:40px}.ns{font-size:20px}.nt{margin-top:2.14em}.nu{line-height:32px}.nv{letter-spacing:-0.003em}.oy{font-size:24px}.oz{margin-top:1.25em}.pa{line-height:30px}.pb{letter-spacing:-0.016em}.ph{margin-top:0.94em}.pm{margin-top:56px}.qe{margin-top:1.95em}.rj{display:inline-block}.rl{flex-direction:row}.ro{margin-bottom:0}.rp{margin-right:20px}.sm{max-width:500px}.td{line-height:24px}.te{letter-spacing:0}.tq{margin:40px 0 0}.tv{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}.kx{margin-top:0px}.mw{margin-left:auto}.mx{text-align:center}.ri{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}.kw{margin-top:0px}.rh{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}.ku{margin-top:0px}.kv{margin-right:0px}.rg{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.cc{margin:0 24px}.cr{height:40px}.cy{margin-bottom:44px}.dk{margin-bottom:32px}.dx{font-size:13px}.dy{line-height:20px}.eh{padding:0px 8px 1px}.fu{margin-bottom:2px}.gw{font-size:32px}.gx{margin-top:1.01em}.gy{margin-bottom:24px}.gz{line-height:38px}.ha{letter-spacing:-0.014em}.hv{align-items:flex-start}.it{flex-direction:column}.iy{margin:24px -24px 0}.iz{padding:0}.jo> *{margin-right:8px}.jp> :last-child{margin-right:24px}.kh{margin-left:0px}.ks{margin-top:0px}.kt{margin-right:0px}.li{margin:0}.ls{border:1px solid #F2F2F2}.lt{border-radius:99em}.lu{padding:0px 16px 0px 12px}.lv{height:38px}.lw{align-items:center}.ly svg{margin-right:8px}.mj{margin-top:32px}.nc{font-size:18px}.nd{margin-top:1.56em}.ne{line-height:28px}.nf{letter-spacing:-0.003em}.oi{font-size:20px}.oj{margin-top:0.93em}.ok{line-height:24px}.ol{letter-spacing:0}.pd{margin-top:0.67em}.pi{margin-top:40px}.qa{margin-top:1.2em}.rf{display:inline-block}.rw{margin-bottom:20px}.rx{margin-right:0}.sq{max-width:100%}.st{font-size:24px}.su{line-height:30px}.sv{letter-spacing:-0.016em}.tm{margin:32px 0 0}.tr{padding-top:48px}.lx:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.cf{margin:0 64px}.cu{height:48px}.db{margin-bottom:52px}.dn{margin-bottom:48px}.ed{font-size:14px}.ee{line-height:20px}.ek{font-size:13px}.el{padding:5px 12px}.fg{display:flex}.fx{margin-bottom:50px}.gb{max-width:680px}.hl{font-size:42px}.hm{margin-top:1.19em}.hn{margin-bottom:32px}.ho{line-height:52px}.hp{letter-spacing:-0.011em}.hy{align-items:center}.jg{border-top:solid 1px #F2F2F2}.jh{border-bottom:solid 1px #F2F2F2}.ji{margin:32px 0 0}.jj{padding:3px 8px}.ju> *{margin-right:24px}.jv> :last-child{margin-right:0}.ll{margin:0}.mm{margin-top:40px}.no{font-size:20px}.np{margin-top:2.14em}.nq{line-height:32px}.nr{letter-spacing:-0.003em}.ou{font-size:24px}.ov{margin-top:1.25em}.ow{line-height:30px}.ox{letter-spacing:-0.016em}.pg{margin-top:0.94em}.pl{margin-top:56px}.qd{margin-top:1.95em}.rm{flex-direction:row}.rq{margin-bottom:0}.rr{margin-right:20px}.sn{max-width:500px}.tb{line-height:24px}.tc{letter-spacing:0}.tp{margin:40px 0 0}.tu{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ce{margin:0 48px}.ct{height:48px}.da{margin-bottom:52px}.dm{margin-bottom:48px}.eb{font-size:13px}.ec{line-height:20px}.ej{padding:0px 8px 1px}.fw{margin-bottom:50px}.ga{max-width:680px}.hg{font-size:42px}.hh{margin-top:1.19em}.hi{margin-bottom:32px}.hj{line-height:52px}.hk{letter-spacing:-0.011em}.hx{align-items:center}.jc{border-top:solid 1px #F2F2F2}.jd{border-bottom:solid 1px #F2F2F2}.je{margin:32px 0 0}.jf{padding:3px 8px}.js> *{margin-right:24px}.jt> :last-child{margin-right:0}.lk{margin:0}.ml{margin-top:40px}.nk{font-size:20px}.nl{margin-top:2.14em}.nm{line-height:32px}.nn{letter-spacing:-0.003em}.oq{font-size:24px}.or{margin-top:1.25em}.os{line-height:30px}.ot{letter-spacing:-0.016em}.pf{margin-top:0.94em}.pk{margin-top:56px}.qc{margin-top:1.95em}.rn{flex-direction:row}.rs{margin-bottom:0}.rt{margin-right:20px}.so{max-width:500px}.sz{line-height:24px}.ta{letter-spacing:0}.to{margin:40px 0 0}.tt{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cd{margin:0 24px}.cs{height:40px}.cz{margin-bottom:44px}.dl{margin-bottom:32px}.dz{font-size:13px}.ea{line-height:20px}.ei{padding:0px 8px 1px}.fv{margin-bottom:2px}.hb{font-size:32px}.hc{margin-top:1.01em}.hd{margin-bottom:24px}.he{line-height:38px}.hf{letter-spacing:-0.014em}.hw{align-items:flex-start}.iu{flex-direction:column}.ja{margin:24px 0 0}.jb{padding:0}.jq> *{margin-right:8px}.jr> :last-child{margin-right:8px}.ki{margin-left:0px}.lj{margin:0}.lz{border:1px solid #F2F2F2}.ma{border-radius:99em}.mb{padding:0px 16px 0px 12px}.mc{height:38px}.md{align-items:center}.mf svg{margin-right:8px}.mk{margin-top:32px}.ng{font-size:18px}.nh{margin-top:1.56em}.ni{line-height:28px}.nj{letter-spacing:-0.003em}.om{font-size:20px}.on{margin-top:0.93em}.oo{line-height:24px}.op{letter-spacing:0}.pe{margin-top:0.67em}.pj{margin-top:40px}.qb{margin-top:1.2em}.ru{margin-bottom:20px}.rv{margin-right:0}.sp{max-width:100%}.sw{font-size:24px}.sx{line-height:30px}.sy{letter-spacing:-0.016em}.tn{margin:32px 0 0}.ts{padding-top:48px}.me:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="print">.rd{display:none}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="(prefers-reduced-motion: no-preference)">.mp{transition:transform 300ms cubic-bezier(0.2, 0, 0.2, 1)}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="du ag dv bf ak b am an ao ap aq ar as at s u w i d q dw z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2Fp%2F8f92caf6c89a&%7Efeature=LoOpenInAppButton&%7Echannel=ShowPostUnderUser&source=---top_nav_layout_nav-----------------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dt"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&source=post_page---top_nav_layout_nav-----------------------global_nav------------------">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ab" aria-label="Homepage" data-testid="headerMediumLogo" rel="noopener follow" href="/?source=---top_nav_layout_nav-----------------------------------------"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="au av aw"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="ax h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fg fh"><div class="fi ab"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerWriteButton" rel="noopener follow" href="/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---top_nav_layout_nav-----------------------new_post_topnav------------------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dt l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fi ab"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSearchButton" rel="noopener follow" href="/search?source=---top_nav_layout_nav-----------------------------------------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fi h k j"><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&source=post_page---top_nav_layout_nav-----------------------global_nav------------------">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fn am ab q ao fo fp fq" aria-label="user options menu" data-testid="headerUserIcon"><div class="l fj"><img alt="" class="l fd by bz ca cx" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fr by l bz ca fs n ay ft"></div></div></button></div></div></div><div class="l"><div class="fu fv fw fx fy l"><div class="ab cb"><div class="ci bh fz ga gb gc"></div></div><article><div class="l"><div class="l"><span class="l"></span><section><div><div class="fs gi gj gk gl gm"></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><div><h1 id="e928" class="pw-post-title gs gt gu bf gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu bk" data-testid="storyTitle">Prompt with a Locally Hosted Model within Excel Individual Cells</h1><div><div class="speechify-ignore ab cp"><div class="speechify-ignore bh l"><div class="hv hw hx hy hz ab"><div><div class="ab ia"><div><div class="bm" aria-hidden="false"><a rel="noopener follow" href="/@devon.trepp?source=post_page---byline--8f92caf6c89a---------------------------------------"><div class="l ib ic by id ie"><div class="l fj"><img alt="Devon Trepp" class="l fd by dd de cx" src="https://miro.medium.com/v2/resize:fill:88:88/1*80xmxYSpHhfsL4ElaHYxnA.jpeg" width="44" height="44" loading="lazy" data-testid="authorPhoto"/><div class="if by l dd de fs n ig ft"></div></div></div></a></div></div></div></div><div class="bn bh l"><div class="ab"><div style="flex:1"><span class="bf b bg z bk"><div class="ih ab q"><div class="ab q ii"><div class="ab q"><div><div class="bm" aria-hidden="false"><p class="bf b ij ik bk"><a class="af ag ah ai aj ak al am an ao ap aq ar il" data-testid="authorName" rel="noopener follow" href="/@devon.trepp?source=post_page---byline--8f92caf6c89a---------------------------------------">Devon Trepp</a></p></div></div></div><span class="im in" aria-hidden="true"><span class="bf b bg z du">·</span></span><p class="bf b ij ik du"><span><a class="io ip ah ai aj ak al am an ao ap aq ar ex iq ir" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2F45b598c8e08d&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&user=Devon+Trepp&userId=45b598c8e08d&source=post_page-45b598c8e08d--byline--8f92caf6c89a---------------------post_header------------------">Follow</a></span></p></div></div></span></div></div><div class="l is"><span class="bf b bg z du"><div class="ab cn it iu iv"><span class="bf b bg z du"><div class="ab ae"><span data-testid="storyReadTime">5 min read</span><div class="iw ix l" aria-hidden="true"><span class="l" aria-hidden="true"><span class="bf b bg z du">·</span></span></div><span data-testid="storyPublishDate">Nov 22, 2024</span></div></span></div></span></div></div></div><div class="ab cp iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn"><div class="h k w fg fh q"><div class="kd l"><div class="ab q ke kf"><div class="pw-multi-vote-icon fj kg kh ki kj"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F8f92caf6c89a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&user=Devon+Trepp&userId=45b598c8e08d&source=---header_actions--8f92caf6c89a---------------------clap_footer------------------"><div><div class="bm" aria-hidden="false"><div class="kk ao kl km kn ko am kp kq kr kj"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l ks kt ku kv kw kx ky"><p class="bf b dv z du"><span class="kz">--</span></p></div></div></div><div><div class="bm" aria-hidden="false"><button class="ao kk la lb ab q fk lc ld" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="le"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg></button></div></div></div><div class="ab q jo jp jq jr js jt ju jv jw jx jy jz ka kb kc"><div class="lf k j i d"></div><div class="h k"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F8f92caf6c89a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&source=---header_actions--8f92caf6c89a---------------------bookmark_footer------------------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lg" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="fd lh cn"><div class="l ae"><div class="ab cb"><div class="li lj lk ll lm ln ci bh"><div class="ab"><div class="bm" aria-hidden="false"><div><div class="bm" aria-hidden="false"><button aria-label="Listen" data-testid="audioPlayButton" class="af fk ah ai aj ak al lo an ao ap ex lp lq ld lr ls lt lu lv s lw lx ly lz ma mb mc u md me mf"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m3.376 10.416-4.599 3.066a.5.5 0 0 1-.777-.416V8.934a.5.5 0 0 1 .777-.416l4.599 3.066a.5.5 0 0 1 0 .832" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Listen</p></div></button></div></div></div></div></div></div></div></div><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="headerSocialShareButton" class="af fk ah ai aj ak al lo an ao ap ex lp lq ld lr ls lt lu lv s lw lx ly lz ma mb mc u md me mf"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Share</p></div></button></div></div></div></div></div></div></div></div></div><figure class="mj mk ml mm mn mo mg mh paragraph-image"><div role="button" tabindex="0" class="mp mq fj mr bh ms"><div class="mg mh mi"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*MC5e6rrr1NHG5DnI 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*MC5e6rrr1NHG5DnI 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*MC5e6rrr1NHG5DnI 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*MC5e6rrr1NHG5DnI 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*MC5e6rrr1NHG5DnI 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*MC5e6rrr1NHG5DnI 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/0*MC5e6rrr1NHG5DnI 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*MC5e6rrr1NHG5DnI 640w, https://miro.medium.com/v2/resize:fit:720/0*MC5e6rrr1NHG5DnI 720w, https://miro.medium.com/v2/resize:fit:750/0*MC5e6rrr1NHG5DnI 750w, https://miro.medium.com/v2/resize:fit:786/0*MC5e6rrr1NHG5DnI 786w, https://miro.medium.com/v2/resize:fit:828/0*MC5e6rrr1NHG5DnI 828w, https://miro.medium.com/v2/resize:fit:1100/0*MC5e6rrr1NHG5DnI 1100w, https://miro.medium.com/v2/resize:fit:1400/0*MC5e6rrr1NHG5DnI 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px"/><img alt="" class="bh ln mt c" width="700" height="468" loading="eager" role="presentation"/></picture></div></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">Photo by <a class="af my" href="https://unsplash.com/@kommumikation?utm_source=medium&utm_medium=referral" rel="noopener ugc nofollow" target="_blank">Mika Baumeister</a> on <a class="af my" href="https://unsplash.com/?utm_source=medium&utm_medium=referral" rel="noopener ugc nofollow" target="_blank">Unsplash</a></figcaption></figure><p id="0a4c" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within cells of an excel file.</p><p id="2fd6" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">The advent of large language models (LLMs) has revolutionized the way we approach complex tasks, from text analysis to content generation. However, one significant limitation is accessing these models. Running them on cloud-based services requiring internet connectivity can be a barrier for many users in their workflows and an added security risk of losing your secure data.</p><p id="5cad" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">This is where locally hosted models come into play — offering the perfect blend of customizability, open-source nature, and offline capabilities with a little setup.</p><p id="4c79" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">In this article, we’ll explore how to run a locally hosted model within Excel, making it an essential tool for even non-technical individuals. I have tried to write this with non-technical individuals in mind so please let me know if any steps in this process are confusing and happy to clarify/help.</p></div></div></div><div class="ab cb nx ny nz oa" role="separator"><span class="ob by bm oc od oe"></span><span class="ob by bm oc od oe"></span><span class="ob by bm oc od"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="bb4f" class="of og gu bf oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc bk">1. Host the model on your system</h1><p id="bbb6" class="pw-post-body-paragraph mz na gu nb b nc pd ne nf ng pe ni nj nk pf nm nn no pg nq nr ns ph nu nv nw gn bk">Download <a class="af my" href="https://ollama.ai/" rel="noopener ugc nofollow" target="_blank">Ollama</a> onto your system. I am using a windows system but the documentation should be similar to Linux/OS systems.</p><p id="b984" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Then open terminal and type in:</p><pre class="pi pj pk pl pm pn po pp bp pq bb bk"><span id="d251" class="pr og gu po b bg ps pt l pu pv">ollama run llama3.2:latest</span></pre><p id="cfed" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">If it isn’t working right away you may need to add an environment variable to your system paths as I had to do. Select New and add <code class="cx pw px py po b">OLLAMA_HOST</code> and type in <code class="cx pw px py po b">0.0.0.0</code>.</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh pz"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 1100w, https://miro.medium.com/v2/resize:fit:1300/format:webp/1*4ZVVC1TazNBCrm9GtTDSMw.png 1300w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 650px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*4ZVVC1TazNBCrm9GtTDSMw.png 640w, https://miro.medium.com/v2/resize:fit:720/1*4ZVVC1TazNBCrm9GtTDSMw.png 720w, https://miro.medium.com/v2/resize:fit:750/1*4ZVVC1TazNBCrm9GtTDSMw.png 750w, https://miro.medium.com/v2/resize:fit:786/1*4ZVVC1TazNBCrm9GtTDSMw.png 786w, https://miro.medium.com/v2/resize:fit:828/1*4ZVVC1TazNBCrm9GtTDSMw.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*4ZVVC1TazNBCrm9GtTDSMw.png 1100w, https://miro.medium.com/v2/resize:fit:1300/1*4ZVVC1TazNBCrm9GtTDSMw.png 1300w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 650px"/><img alt="" class="bh ln mt c" width="650" height="163" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">User Variable</figcaption></figure><p id="fc20" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Ollama API is hosted on localhost at port <strong class="nb gv">11434</strong>. You can go to the <a class="af my" href="http://localhost:11434/" rel="noopener ugc nofollow" target="_blank">localhost</a> to check if Ollama is running or not.</p><p id="dbc5" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Use curl in our terminal to send a request to the API. <code class="cx pw px py po b">curl -X POST http://localhost:11434/api/generate -H "Content-Type: application/json" -d "{\"model\": \"llama3.2:latest\", \"prompt\": \"Why is the sky blue?\"}"</code></p><p id="9690" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">You can see it spits out the response in JSON.</p><p id="f81e" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Here I am using the <code class="cx pw px py po b">llama3.2:latest</code> model but you can use any available models that you downloaded through Ollama. We can also send more parameters such as stream, which when set to false will only return a single JSON object as a response.</p><p id="e593" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk"><code class="cx pw px py po b">/api/generate</code> endpoint is used to generate a response/completion for a given prompt. There are various endpoints that we can use for different purposes. Check them out at the <a class="af my" href="https://github.com/ollama/ollama/blob/main/docs/api.md" rel="noopener ugc nofollow" target="_blank">API Documentation</a> of Ollama.</p><h1 id="ddc1" class="of og gu bf oh oi qa ok ol om qb oo op oq qc os ot ou qd ow ox oy qe pa pb pc bk">2. Create the Macro in Excel</h1><p id="efbf" class="pw-post-body-paragraph mz na gu nb b nc pd ne nf ng pe ni nj nk pf nm nn no pg nq nr ns ph nu nv nw gn bk">Enable Developer mode in Excel if you haven’t already and be sure in the Trust Center you have enabled VBA macros. Open up Visual Basic Editor within your Macro enabled .xlsm sheet. (Alt + F11)</p><p id="fa78" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Create a new Module for your code.</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qf"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 1100w, https://miro.medium.com/v2/resize:fit:696/format:webp/1*XiwGqSPRsuuVdM_dT7d2aA.png 696w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 348px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*XiwGqSPRsuuVdM_dT7d2aA.png 640w, https://miro.medium.com/v2/resize:fit:720/1*XiwGqSPRsuuVdM_dT7d2aA.png 720w, https://miro.medium.com/v2/resize:fit:750/1*XiwGqSPRsuuVdM_dT7d2aA.png 750w, https://miro.medium.com/v2/resize:fit:786/1*XiwGqSPRsuuVdM_dT7d2aA.png 786w, https://miro.medium.com/v2/resize:fit:828/1*XiwGqSPRsuuVdM_dT7d2aA.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*XiwGqSPRsuuVdM_dT7d2aA.png 1100w, https://miro.medium.com/v2/resize:fit:696/1*XiwGqSPRsuuVdM_dT7d2aA.png 696w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 348px"/><img alt="" class="bh ln mt c" width="348" height="274" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">Create a new Module</figcaption></figure><p id="a674" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">If you haven’t already be sure to enable Microsoft Scripting Runtime within VBA>Tools>References.</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qg"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 1100w, https://miro.medium.com/v2/resize:fit:892/format:webp/1*Tcsanf04s5RxfLZnqRzRPw.png 892w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 446px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*Tcsanf04s5RxfLZnqRzRPw.png 640w, https://miro.medium.com/v2/resize:fit:720/1*Tcsanf04s5RxfLZnqRzRPw.png 720w, https://miro.medium.com/v2/resize:fit:750/1*Tcsanf04s5RxfLZnqRzRPw.png 750w, https://miro.medium.com/v2/resize:fit:786/1*Tcsanf04s5RxfLZnqRzRPw.png 786w, https://miro.medium.com/v2/resize:fit:828/1*Tcsanf04s5RxfLZnqRzRPw.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*Tcsanf04s5RxfLZnqRzRPw.png 1100w, https://miro.medium.com/v2/resize:fit:892/1*Tcsanf04s5RxfLZnqRzRPw.png 892w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 446px"/><img alt="" class="bh ln mt c" width="446" height="361" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">Microsoft Scripting Runtime</figcaption></figure><p id="3a71" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Download the Json converter (JsonConverter.bas) from this github repo. <a class="af my" href="https://github.com/VBA-tools/VBA-JSON" rel="noopener ugc nofollow" target="_blank">VBA-tools/VBA-JSON: JSON conversion and parsing for VBA</a> S/o Tim Hall</p><p id="62e2" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Add it to your VBA project. It should look something like this:</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qh"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 1100w, https://miro.medium.com/v2/resize:fit:652/format:webp/1*b_8Fore7XVpVlKsLFDzLYg.png 652w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 326px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*b_8Fore7XVpVlKsLFDzLYg.png 640w, https://miro.medium.com/v2/resize:fit:720/1*b_8Fore7XVpVlKsLFDzLYg.png 720w, https://miro.medium.com/v2/resize:fit:750/1*b_8Fore7XVpVlKsLFDzLYg.png 750w, https://miro.medium.com/v2/resize:fit:786/1*b_8Fore7XVpVlKsLFDzLYg.png 786w, https://miro.medium.com/v2/resize:fit:828/1*b_8Fore7XVpVlKsLFDzLYg.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*b_8Fore7XVpVlKsLFDzLYg.png 1100w, https://miro.medium.com/v2/resize:fit:652/1*b_8Fore7XVpVlKsLFDzLYg.png 652w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 326px"/><img alt="" class="bh ln mt c" width="326" height="186" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">Project in VBA with JsonConverter and Module 1</figcaption></figure><p id="7962" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Now paste in the following code into your Module 1 script. If you are using a different model be sure to change the model in the commented places. (Ctrl+F for <code class="cx pw px py po b">llama3.2:latest</code>)</p><pre class="pi pj pk pl pm pn po pp bp pq bb bk"><span id="7aa2" class="pr og gu po b bg ps pt l pu pv">Sub TestOllamaCompletion()<br/> Dim promptMessage As String<br/> Dim userMessage As String<br/> Dim response As String<br/> <br/> promptMessage = "You talk like a cowboy."<br/> userMessage = "What's up partner?"<br/> <br/> response = CHAT(promptMessage:=promptMessage, userMessage:=userMessage, model:="llama3.2:latest") 'Change model here<br/> Debug.Print response<br/><br/>End Sub<br/><br/>Public Function CHAT(userMessage As String, Optional promptMessage As String, Optional maxTokens As Integer = 1000, Optional model As String = "llama3.2:latest") As String 'Change model here<br/> Dim messages() As Object<br/><br/> If promptMessage <> "" Then<br/> messages = CreateMessages(promptMessage, userMessage)<br/> Else<br/> ReDim messages(0)<br/> Set messages(0) = CreateObject("Scripting.Dictionary")<br/> messages(0).Add "role", "user"<br/> messages(0).Add "content", userMessage<br/> End If<br/> <br/> CHAT = GetCompletion(messages, maxTokens:=maxTokens, model:=model)<br/>End Function<br/><br/>Public Function CreateMessages(systemContent As String, userContent As String) As Object()<br/> Dim messages(1) As Object<br/><br/> Set messages(0) = CreateObject("Scripting.Dictionary")<br/> messages(0).Add "role", "system"<br/> messages(0).Add "content", systemContent<br/> Set messages(1) = CreateObject("Scripting.Dictionary")<br/> messages(1).Add "role", "user"<br/> messages(1).Add "content", userContent<br/> <br/> CreateMessages = messages<br/>End Function<br/><br/><br/>Public Function GetCompletion(messages As Variant, _<br/> Optional model As String = "llama3.2:latest", _<br/> Optional temperature As Single = 1, _<br/> Optional topP As Single = 1, _<br/> Optional n As Integer = 1, _<br/> Optional stopWords As Variant, _<br/> Optional maxTokens As Integer = 16, _<br/> Optional presencePenalty As Single = 0, _<br/> Optional frequencyPenalty As Single = 0, _<br/> Optional logitBias As Variant, _<br/> Optional asText As Boolean = True _<br/> ) As Variant 'Change model here<br/> <br/> Dim data As Object<br/> Set data = CreateObject("Scripting.Dictionary")<br/> data.Add "messages", messages<br/> data.Add "stream", False<br/> data.Add "model", model<br/> data.Add "temperature", temperature<br/> data.Add "top_p", topP<br/> data.Add "n", n<br/> data.Add "presence_penalty", presencePenalty<br/> data.Add "frequency_penalty", frequencyPenalty<br/> If Not IsMissing(stopWords) Then<br/> data.Add "stop", stopWords<br/> End If<br/> data.Add "max_tokens", maxTokens<br/> If Not IsMissing(logitBias) Then<br/> data.Add "logit_bias", logitBias<br/> End If<br/> <br/> Dim client As Object<br/> Set client = CreateObject("MSXML2.ServerXMLHTTP")<br/> client.setTimeouts 30000, 30000, 30000, 60000<br/> client.Open "POST", "http://localhost:11434/api/chat"<br/> client.setRequestHeader "Content-Type", "application/json"<br/> client.setRequestHeader "Authorization", "Bearer " & strKey<br/> client.send JsonConverter.ConvertToJson(data) 'you need to import this module to use this: https://github.com/VBA-tools/VBA-JSON<br/><br/> Dim completion As Object<br/> Set completion = CreateObject("Scripting.Dictionary")<br/> Set completion = JsonConverter.ParseJson(client.responseText)<br/> <br/> If completion.Exists("error") Then<br/> Err.Raise 9001, Description:=completion("error")("message")<br/> End If<br/><br/> If asText Then<br/> GetCompletion = completion("message")("content")<br/> Else<br/> Set GetCompletion = completion<br/> End If<br/> <br/>End Function</span></pre><p id="d1e7" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Hit the play button on the macro. In VBA you can test out your function by running <code class="cx pw px py po b">TestOllamaCompletion</code> in the Immediate window (run by hitting enter).</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qi"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 1100w, https://miro.medium.com/v2/resize:fit:1374/format:webp/1*WjpKdw3tQLw5yNmjWL3hkA.png 1374w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 687px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*WjpKdw3tQLw5yNmjWL3hkA.png 640w, https://miro.medium.com/v2/resize:fit:720/1*WjpKdw3tQLw5yNmjWL3hkA.png 720w, https://miro.medium.com/v2/resize:fit:750/1*WjpKdw3tQLw5yNmjWL3hkA.png 750w, https://miro.medium.com/v2/resize:fit:786/1*WjpKdw3tQLw5yNmjWL3hkA.png 786w, https://miro.medium.com/v2/resize:fit:828/1*WjpKdw3tQLw5yNmjWL3hkA.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*WjpKdw3tQLw5yNmjWL3hkA.png 1100w, https://miro.medium.com/v2/resize:fit:1374/1*WjpKdw3tQLw5yNmjWL3hkA.png 1374w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 687px"/><img alt="" class="bh ln mt c" width="687" height="157" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">TestOllamaCompletion function</figcaption></figure><h1 id="790d" class="of og gu bf oh oi qa ok ol om qb oo op oq qc os ot ou qd ow ox oy qe pa pb pc bk">3. Test in Excel</h1><p id="1771" class="pw-post-body-paragraph mz na gu nb b nc pd ne nf ng pe ni nj nk pf nm nn no pg nq nr ns ph nu nv nw gn bk">Now you should be able to test out the <code class="cx pw px py po b">=CHAT()</code> function within excel so you can talk to your locally hosted model.</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qj"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 1100w, https://miro.medium.com/v2/resize:fit:746/format:webp/1*ClL71hUIXx9zMe-Uq10uKQ.png 746w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 373px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*ClL71hUIXx9zMe-Uq10uKQ.png 640w, https://miro.medium.com/v2/resize:fit:720/1*ClL71hUIXx9zMe-Uq10uKQ.png 720w, https://miro.medium.com/v2/resize:fit:750/1*ClL71hUIXx9zMe-Uq10uKQ.png 750w, https://miro.medium.com/v2/resize:fit:786/1*ClL71hUIXx9zMe-Uq10uKQ.png 786w, https://miro.medium.com/v2/resize:fit:828/1*ClL71hUIXx9zMe-Uq10uKQ.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*ClL71hUIXx9zMe-Uq10uKQ.png 1100w, https://miro.medium.com/v2/resize:fit:746/1*ClL71hUIXx9zMe-Uq10uKQ.png 746w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 373px"/><img alt="" class="bh ln mt c" width="373" height="117" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">=CHAT() test</figcaption></figure><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qk"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 1100w, https://miro.medium.com/v2/resize:fit:666/format:webp/1*kavY6ROP_xoxQ8DWv6Lyww.png 666w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 333px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*kavY6ROP_xoxQ8DWv6Lyww.png 640w, https://miro.medium.com/v2/resize:fit:720/1*kavY6ROP_xoxQ8DWv6Lyww.png 720w, https://miro.medium.com/v2/resize:fit:750/1*kavY6ROP_xoxQ8DWv6Lyww.png 750w, https://miro.medium.com/v2/resize:fit:786/1*kavY6ROP_xoxQ8DWv6Lyww.png 786w, https://miro.medium.com/v2/resize:fit:828/1*kavY6ROP_xoxQ8DWv6Lyww.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*kavY6ROP_xoxQ8DWv6Lyww.png 1100w, https://miro.medium.com/v2/resize:fit:666/1*kavY6ROP_xoxQ8DWv6Lyww.png 666w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 333px"/><img alt="" class="bh ln mt c" width="333" height="334" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">=CHAT() response</figcaption></figure><p id="2623" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">What is great about using a LLM within excel is you can start to think about <em class="ql">programmatically </em>prompting. You can have a LLM answer multiple questions in one pass.</p><figure class="pi pj pk pl pm mo mg mh paragraph-image"><div class="mg mh qm"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 1100w, https://miro.medium.com/v2/resize:fit:744/format:webp/1*OhlVVaOofJage3yDF-KSkQ.png 744w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 372px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*OhlVVaOofJage3yDF-KSkQ.png 640w, https://miro.medium.com/v2/resize:fit:720/1*OhlVVaOofJage3yDF-KSkQ.png 720w, https://miro.medium.com/v2/resize:fit:750/1*OhlVVaOofJage3yDF-KSkQ.png 750w, https://miro.medium.com/v2/resize:fit:786/1*OhlVVaOofJage3yDF-KSkQ.png 786w, https://miro.medium.com/v2/resize:fit:828/1*OhlVVaOofJage3yDF-KSkQ.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*OhlVVaOofJage3yDF-KSkQ.png 1100w, https://miro.medium.com/v2/resize:fit:744/1*OhlVVaOofJage3yDF-KSkQ.png 744w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 372px"/><img alt="" class="bh ln mt c" width="372" height="68" loading="lazy" role="presentation"/></picture></div><figcaption class="mu ff mv mg mh mw mx bf b bg z du">Multi-cell Prompting</figcaption></figure><p id="683e" class="pw-post-body-paragraph mz na gu nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gn bk">Happy prompting!</p></div></div></div></div></section></div></div></article></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="qn qo ab iv"><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/llm?source=post_page-----8f92caf6c89a---------------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Llm</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/excel?source=post_page-----8f92caf6c89a---------------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Excel</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/vba?source=post_page-----8f92caf6c89a---------------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Vba</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/ollama?source=post_page-----8f92caf6c89a---------------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Ollama</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/prompt-engineering?source=post_page-----8f92caf6c89a---------------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Prompt Engineering</div></a></div></div></div></div><div class="l"></div><footer class="qw qx qy qz ra ab q rb rc c"><div class="l ae"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab cp rd"><div class="ab q ke"><div class="re l"><span class="l rf rg rh e d"><div class="ab q ke kf"><div class="pw-multi-vote-icon fj kg kh ki kj"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F8f92caf6c89a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&user=Devon+Trepp&userId=45b598c8e08d&source=---footer_actions--8f92caf6c89a---------------------clap_footer------------------"><div><div class="bm" aria-hidden="false"><div class="kk ao kl km kn ko am kp kq kr kj"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l ks kt ku kv kw kx ky"><p class="bf b dv z du"><span class="kz">--</span></p></div></div></span><span class="l h g f ri rj"><div class="ab q ke kf"><div class="pw-multi-vote-icon fj kg kh ki kj"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F8f92caf6c89a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&user=Devon+Trepp&userId=45b598c8e08d&source=---footer_actions--8f92caf6c89a---------------------clap_footer------------------"><div><div class="bm" aria-hidden="false"><div class="kk ao kl km kn ko am kp kq kr kj"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l ks kt ku kv kw kx ky"><p class="bf b dv z du"><span class="kz">--</span></p></div></div></span></div><div class="bq ab"><div><div class="bm" aria-hidden="false"><button class="ao kk la lb ab q fk lc ld" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="le"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg></button></div></div></div></div><div class="ab q"><div class="oe l is"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F8f92caf6c89a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40devon.trepp%2Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a&source=---footer_actions--8f92caf6c89a---------------------bookmark_footer------------------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lg" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="oe l is"><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="footerSocialShareButton" class="af fk ah ai aj ak al lo an ao ap ex lp lq ld lr"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg></button></div></div></div></div></div></div></div></div></div></footer><div class="rk l"><div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab rl rm rn iu it"><div class="ro rp rq rr rs rt ru rv rw rx ab cp"><div class="h k"><a tabindex="0" rel="noopener follow" href="/@devon.trepp?source=post_page---post_author_info--8f92caf6c89a---------------------------------------"><div class="l fj"><img alt="Devon Trepp" class="l fd by ic ib cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*80xmxYSpHhfsL4ElaHYxnA.jpeg" width="48" height="48" loading="lazy"/><div class="fr by l ic ib fs n ay ry"></div></div></a></div><div class="j i d"><a tabindex="0" rel="noopener follow" href="/@devon.trepp?source=post_page---post_author_info--8f92caf6c89a---------------------------------------"><div class="l fj"><img alt="Devon Trepp" class="l fd by rz sa cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*80xmxYSpHhfsL4ElaHYxnA.jpeg" width="64" height="64" loading="lazy"/><div class="fr by l rz sa fs n ay ry"></div></div></a></div><div class="j i d sb is"><div class="ab"><span><button class="bf b bg z sc qr sd se sf sg sh ev ew si sj sk fa fb fc fd bm fe ff">Follow</button></span></div></div></div><div class="ab co sl"><div class="sm sn so sp sq l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" rel="noopener follow" href="/@devon.trepp?source=post_page---post_author_info--8f92caf6c89a---------------------------------------"><h2 class="pw-author-name bf ss st su sv sw sx sy nk sz ta no tb tc ns td te bk"><span class="gn sr">Written by <!-- -->Devon Trepp</span></h2></a><div class="qp ab ia"><div class="l is"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar il" rel="noopener follow" href="/@devon.trepp/followers?source=post_page---post_author_info--8f92caf6c89a---------------------------------------">3 Followers</a></span></div><div class="bf b bg z du ab tf"><span class="im l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar il" rel="noopener follow" href="/@devon.trepp/following?source=post_page---post_author_info--8f92caf6c89a---------------------------------------">9 Following</a></div></div><div class="tg l"></div></div></div><div class="h k"><div class="ab"><span><button class="bf b bg z sc qr sd se sf sg sh ev ew si sj sk fa fb fc fd bm fe ff">Follow</button></span></div></div></div></div></div></div></div><div class="th l"><div class="ti bh r rk"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab q cp"><h2 class="bf ss oi ok ol om oo op oq os ot ou ow ox oy pa pb bk">No responses yet</h2><div class="ab tj"><div><div class="bm" aria-hidden="false"><a class="tk tl" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--8f92caf6c89a---------------------------------------" rel="noopener follow" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path fill-rule="evenodd" d="M11.987 5.036a.754.754 0 0 1 .914-.01c.972.721 1.767 1.218 2.6 1.543.828.322 1.719.485 2.887.505a.755.755 0 0 1 .741.757c-.018 3.623-.43 6.256-1.449 8.21-1.034 1.984-2.662 3.209-4.966 4.083a.75.75 0 0 1-.537-.003c-2.243-.874-3.858-2.095-4.897-4.074-1.024-1.951-1.457-4.583-1.476-8.216a.755.755 0 0 1 .741-.757c1.195-.02 2.1-.182 2.923-.503.827-.322 1.6-.815 2.519-1.535m.468.903c-.897.69-1.717 1.21-2.623 1.564-.898.35-1.856.527-3.026.565.037 3.45.469 5.817 1.36 7.515.884 1.684 2.25 2.762 4.284 3.571 2.092-.81 3.465-1.89 4.344-3.575.886-1.698 1.299-4.065 1.334-7.512-1.149-.039-2.091-.217-2.99-.567-.906-.353-1.745-.873-2.683-1.561m-.009 9.155a2.672 2.672 0 1 0 0-5.344 2.672 2.672 0 0 0 0 5.344m0 1a3.672 3.672 0 1 0 0-7.344 3.672 3.672 0 0 0 0 7.344m-1.813-3.777.525-.526.916.917 1.623-1.625.526.526-2.149 2.152z" clip-rule="evenodd"></path></svg></a></div></div></div></div><div class="tm tn to tp tq l"></div></div></div></div><div class="tr ts tt tu tv l bx"><div class="h k j"><div class="ti bh tw tx"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ty ab ke iv"><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://help.medium.com/hc/en-us?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Help</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://medium.statuspage.io/?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Status</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/about?autoplay=1&source=post_page-----8f92caf6c89a---------------------------------------"><p class="bf b dv z du">About</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----8f92caf6c89a---------------------------------------"><p class="bf b dv z du">Careers</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="mailto:pressinquiries@medium.com" rel="noopener follow"><p class="bf b dv z du">Press</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://blog.medium.com/?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Blog</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Privacy</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Terms</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://speechify.com/medium?source=post_page-----8f92caf6c89a---------------------------------------" rel="noopener follow"><p class="bf b dv z du">Text to speech</p></a></div><div class="tz l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/business?source=post_page-----8f92caf6c89a---------------------------------------"><p class="bf b dv z du">Teams</p></a></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20250217-104735-97209c6f68"</script><script>window.__GRAPHQL_URI__ = "https://medium.com/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"","group":"enabled","tags":["group-edgeCachePosts","post-8f92caf6c89a","user-45b598c8e08d"],"serverVariantState":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","middlewareEnabled":true,"cacheStatus":"DYNAMIC","shouldUseCache":true,"vary":[],"pubFeaturingPostPageLabelEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":false,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"fddb0924-c6ce-426e-bfcf-aae547cfed37","requestTag":"","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-e234ea930e106ba3f41ad79f600da75d-91ea6324c19bdc54-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002F@devon.trepp\u002Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a","host":"medium.com","hostname":"medium.com","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null},"queryString":"","currentHash":""},"config":{"nodeEnv":"production","version":"main-20250217-104735-97209c6f68","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20250217-104735-97209c6f68","commit":"97209c6f68966ab7e9d91faa5a1d62c2744e52fc"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","viewer":null,"collectionByDomainOrSlug({\"domainOrSlug\":\"medium.com\"})":null,"postResult({\"id\":\"8f92caf6c89a\"})":{"__ref":"Post:8f92caf6c89a"}},"LinkedAccounts:45b598c8e08d":{"__typename":"LinkedAccounts","mastodon":null,"id":"45b598c8e08d"},"Membership:1b83406f-7618-4e6d-97a8-8f38fb2512b8":{"__typename":"Membership","tier":"MEMBER","id":"1b83406f-7618-4e6d-97a8-8f38fb2512b8"},"User:45b598c8e08d":{"__typename":"User","id":"45b598c8e08d","linkedAccounts":{"__ref":"LinkedAccounts:45b598c8e08d"},"isSuspended":false,"name":"Devon Trepp","imageId":"1*80xmxYSpHhfsL4ElaHYxnA.jpeg","customDomainState":null,"hasSubdomain":false,"username":"devon.trepp","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"socialStats":{"__typename":"SocialStats","followerCount":3,"followingCount":6,"collectionFollowingCount":3},"bio":"","membership":{"__ref":"Membership:1b83406f-7618-4e6d-97a8-8f38fb2512b8"},"allowNotes":true,"viewerEdge":{"__ref":"UserViewerEdge:userId:45b598c8e08d-viewerId:lo_ef5979f83688"},"twitterScreenName":""},"Paragraph:cea611297541_0":{"__typename":"Paragraph","id":"cea611297541_0","name":"e928","type":"H3","href":null,"layout":null,"metadata":null,"text":"Prompt with a Locally Hosted Model within Excel Individual Cells","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*MC5e6rrr1NHG5DnI":{"__typename":"ImageMetadata","id":"0*MC5e6rrr1NHG5DnI","originalHeight":1848,"originalWidth":2768,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_1":{"__typename":"Paragraph","id":"cea611297541_1","name":"5904","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*MC5e6rrr1NHG5DnI"},"text":"Photo by Mika Baumeister on Unsplash","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":9,"end":24,"href":"https:\u002F\u002Funsplash.com\u002F@kommumikation?utm_source=medium&utm_medium=referral","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":28,"end":36,"href":"https:\u002F\u002Funsplash.com?utm_source=medium&utm_medium=referral","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_2":{"__typename":"Paragraph","id":"cea611297541_2","name":"0a4c","type":"P","href":null,"layout":null,"metadata":null,"text":"I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within cells of an excel file.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_3":{"__typename":"Paragraph","id":"cea611297541_3","name":"2fd6","type":"P","href":null,"layout":null,"metadata":null,"text":"The advent of large language models (LLMs) has revolutionized the way we approach complex tasks, from text analysis to content generation. However, one significant limitation is accessing these models. Running them on cloud-based services requiring internet connectivity can be a barrier for many users in their workflows and an added security risk of losing your secure data.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_4":{"__typename":"Paragraph","id":"cea611297541_4","name":"5cad","type":"P","href":null,"layout":null,"metadata":null,"text":"This is where locally hosted models come into play — offering the perfect blend of customizability, open-source nature, and offline capabilities with a little setup.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_5":{"__typename":"Paragraph","id":"cea611297541_5","name":"4c79","type":"P","href":null,"layout":null,"metadata":null,"text":"In this article, we’ll explore how to run a locally hosted model within Excel, making it an essential tool for even non-technical individuals. I have tried to write this with non-technical individuals in mind so please let me know if any steps in this process are confusing and happy to clarify\u002Fhelp.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_6":{"__typename":"Paragraph","id":"cea611297541_6","name":"bb4f","type":"H3","href":null,"layout":null,"metadata":null,"text":"1. Host the model on your system","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_7":{"__typename":"Paragraph","id":"cea611297541_7","name":"bbb6","type":"P","href":null,"layout":null,"metadata":null,"text":"Download Ollama onto your system. I am using a windows system but the documentation should be similar to Linux\u002FOS systems.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":9,"end":15,"href":"https:\u002F\u002Follama.ai\u002F","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_8":{"__typename":"Paragraph","id":"cea611297541_8","name":"b984","type":"P","href":null,"layout":null,"metadata":null,"text":"Then open terminal and type in:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_9":{"__typename":"Paragraph","id":"cea611297541_9","name":"d251","type":"PRE","href":null,"layout":null,"metadata":null,"text":"ollama run llama3.2:latest","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":{"__typename":"CodeBlockMetadata","mode":"AUTO","lang":"ruby"},"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_10":{"__typename":"Paragraph","id":"cea611297541_10","name":"cfed","type":"P","href":null,"layout":null,"metadata":null,"text":"If it isn’t working right away you may need to add an environment variable to your system paths as I had to do. Select New and add OLLAMA_HOST and type in 0.0.0.0.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":131,"end":142,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"CODE","start":155,"end":162,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*4ZVVC1TazNBCrm9GtTDSMw.png":{"__typename":"ImageMetadata","id":"1*4ZVVC1TazNBCrm9GtTDSMw.png","originalHeight":163,"originalWidth":650,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_11":{"__typename":"Paragraph","id":"cea611297541_11","name":"5024","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*4ZVVC1TazNBCrm9GtTDSMw.png"},"text":"User Variable","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_12":{"__typename":"Paragraph","id":"cea611297541_12","name":"fc20","type":"P","href":null,"layout":null,"metadata":null,"text":"Ollama API is hosted on localhost at port 11434. You can go to the localhost to check if Ollama is running or not.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":67,"end":76,"href":"http:\u002F\u002Flocalhost:11434\u002F","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":42,"end":47,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_13":{"__typename":"Paragraph","id":"cea611297541_13","name":"dbc5","type":"P","href":null,"layout":null,"metadata":null,"text":"Use curl in our terminal to send a request to the API. curl -X POST http:\u002F\u002Flocalhost:11434\u002Fapi\u002Fgenerate -H \"Content-Type: application\u002Fjson\" -d \"{\\\"model\\\": \\\"llama3.2:latest\\\", \\\"prompt\\\": \\\"Why is the sky blue?\\\"}\"","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":55,"end":215,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_14":{"__typename":"Paragraph","id":"cea611297541_14","name":"9690","type":"P","href":null,"layout":null,"metadata":null,"text":"You can see it spits out the response in JSON.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_15":{"__typename":"Paragraph","id":"cea611297541_15","name":"f81e","type":"P","href":null,"layout":null,"metadata":null,"text":"Here I am using the llama3.2:latest model but you can use any available models that you downloaded through Ollama. We can also send more parameters such as stream, which when set to false will only return a single JSON object as a response.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":20,"end":35,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_16":{"__typename":"Paragraph","id":"cea611297541_16","name":"e593","type":"P","href":null,"layout":null,"metadata":null,"text":"\u002Fapi\u002Fgenerate endpoint is used to generate a response\u002Fcompletion for a given prompt. There are various endpoints that we can use for different purposes. Check them out at the API Documentation of Ollama.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":0,"end":13,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":175,"end":192,"href":"https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fblob\u002Fmain\u002Fdocs\u002Fapi.md","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_17":{"__typename":"Paragraph","id":"cea611297541_17","name":"ddc1","type":"H3","href":null,"layout":null,"metadata":null,"text":"2. Create the Macro in Excel","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_18":{"__typename":"Paragraph","id":"cea611297541_18","name":"efbf","type":"P","href":null,"layout":null,"metadata":null,"text":"Enable Developer mode in Excel if you haven’t already and be sure in the Trust Center you have enabled VBA macros. Open up Visual Basic Editor within your Macro enabled .xlsm sheet. (Alt + F11)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_19":{"__typename":"Paragraph","id":"cea611297541_19","name":"fa78","type":"P","href":null,"layout":null,"metadata":null,"text":"Create a new Module for your code.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*XiwGqSPRsuuVdM_dT7d2aA.png":{"__typename":"ImageMetadata","id":"1*XiwGqSPRsuuVdM_dT7d2aA.png","originalHeight":274,"originalWidth":348,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_20":{"__typename":"Paragraph","id":"cea611297541_20","name":"097d","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*XiwGqSPRsuuVdM_dT7d2aA.png"},"text":"Create a new Module","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_21":{"__typename":"Paragraph","id":"cea611297541_21","name":"a674","type":"P","href":null,"layout":null,"metadata":null,"text":"If you haven’t already be sure to enable Microsoft Scripting Runtime within VBA\u003ETools\u003EReferences.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*Tcsanf04s5RxfLZnqRzRPw.png":{"__typename":"ImageMetadata","id":"1*Tcsanf04s5RxfLZnqRzRPw.png","originalHeight":361,"originalWidth":446,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_22":{"__typename":"Paragraph","id":"cea611297541_22","name":"b765","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*Tcsanf04s5RxfLZnqRzRPw.png"},"text":"Microsoft Scripting Runtime","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_23":{"__typename":"Paragraph","id":"cea611297541_23","name":"3a71","type":"P","href":null,"layout":null,"metadata":null,"text":"Download the Json converter (JsonConverter.bas) from this github repo. VBA-tools\u002FVBA-JSON: JSON conversion and parsing for VBA S\u002Fo Tim Hall","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":71,"end":126,"href":"https:\u002F\u002Fgithub.com\u002FVBA-tools\u002FVBA-JSON","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_24":{"__typename":"Paragraph","id":"cea611297541_24","name":"62e2","type":"P","href":null,"layout":null,"metadata":null,"text":"Add it to your VBA project. It should look something like this:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*b_8Fore7XVpVlKsLFDzLYg.png":{"__typename":"ImageMetadata","id":"1*b_8Fore7XVpVlKsLFDzLYg.png","originalHeight":186,"originalWidth":326,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_25":{"__typename":"Paragraph","id":"cea611297541_25","name":"455e","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*b_8Fore7XVpVlKsLFDzLYg.png"},"text":"Project in VBA with JsonConverter and Module 1","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_26":{"__typename":"Paragraph","id":"cea611297541_26","name":"7962","type":"P","href":null,"layout":null,"metadata":null,"text":"Now paste in the following code into your Module 1 script. If you are using a different model be sure to change the model in the commented places. (Ctrl+F for llama3.2:latest)","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":159,"end":174,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_27":{"__typename":"Paragraph","id":"cea611297541_27","name":"7aa2","type":"PRE","href":null,"layout":null,"metadata":null,"text":"Sub TestOllamaCompletion()\n Dim promptMessage As String\n Dim userMessage As String\n Dim response As String\n \n promptMessage = \"You talk like a cowboy.\"\n userMessage = \"What's up partner?\"\n \n response = CHAT(promptMessage:=promptMessage, userMessage:=userMessage, model:=\"llama3.2:latest\") 'Change model here\n Debug.Print response\n\nEnd Sub\n\nPublic Function CHAT(userMessage As String, Optional promptMessage As String, Optional maxTokens As Integer = 1000, Optional model As String = \"llama3.2:latest\") As String 'Change model here\n Dim messages() As Object\n\n If promptMessage \u003C\u003E \"\" Then\n messages = CreateMessages(promptMessage, userMessage)\n Else\n ReDim messages(0)\n Set messages(0) = CreateObject(\"Scripting.Dictionary\")\n messages(0).Add \"role\", \"user\"\n messages(0).Add \"content\", userMessage\n End If\n \n CHAT = GetCompletion(messages, maxTokens:=maxTokens, model:=model)\nEnd Function\n\nPublic Function CreateMessages(systemContent As String, userContent As String) As Object()\n Dim messages(1) As Object\n\n Set messages(0) = CreateObject(\"Scripting.Dictionary\")\n messages(0).Add \"role\", \"system\"\n messages(0).Add \"content\", systemContent\n Set messages(1) = CreateObject(\"Scripting.Dictionary\")\n messages(1).Add \"role\", \"user\"\n messages(1).Add \"content\", userContent\n \n CreateMessages = messages\nEnd Function\n\n\nPublic Function GetCompletion(messages As Variant, _\n Optional model As String = \"llama3.2:latest\", _\n Optional temperature As Single = 1, _\n Optional topP As Single = 1, _\n Optional n As Integer = 1, _\n Optional stopWords As Variant, _\n Optional maxTokens As Integer = 16, _\n Optional presencePenalty As Single = 0, _\n Optional frequencyPenalty As Single = 0, _\n Optional logitBias As Variant, _\n Optional asText As Boolean = True _\n ) As Variant 'Change model here\n \n Dim data As Object\n Set data = CreateObject(\"Scripting.Dictionary\")\n data.Add \"messages\", messages\n data.Add \"stream\", False\n data.Add \"model\", model\n data.Add \"temperature\", temperature\n data.Add \"top_p\", topP\n data.Add \"n\", n\n data.Add \"presence_penalty\", presencePenalty\n data.Add \"frequency_penalty\", frequencyPenalty\n If Not IsMissing(stopWords) Then\n data.Add \"stop\", stopWords\n End If\n data.Add \"max_tokens\", maxTokens\n If Not IsMissing(logitBias) Then\n data.Add \"logit_bias\", logitBias\n End If\n \n Dim client As Object\n Set client = CreateObject(\"MSXML2.ServerXMLHTTP\")\n client.setTimeouts 30000, 30000, 30000, 60000\n client.Open \"POST\", \"http:\u002F\u002Flocalhost:11434\u002Fapi\u002Fchat\"\n client.setRequestHeader \"Content-Type\", \"application\u002Fjson\"\n client.setRequestHeader \"Authorization\", \"Bearer \" & strKey\n client.send JsonConverter.ConvertToJson(data) 'you need to import this module to use this: https:\u002F\u002Fgithub.com\u002FVBA-tools\u002FVBA-JSON\n\n Dim completion As Object\n Set completion = CreateObject(\"Scripting.Dictionary\")\n Set completion = JsonConverter.ParseJson(client.responseText)\n \n If completion.Exists(\"error\") Then\n Err.Raise 9001, Description:=completion(\"error\")(\"message\")\n End If\n\n If asText Then\n GetCompletion = completion(\"message\")(\"content\")\n Else\n Set GetCompletion = completion\n End If\n \nEnd Function","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":{"__typename":"CodeBlockMetadata","mode":"EXPLICIT","lang":"vbnet"},"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_28":{"__typename":"Paragraph","id":"cea611297541_28","name":"d1e7","type":"P","href":null,"layout":null,"metadata":null,"text":"Hit the play button on the macro. In VBA you can test out your function by running TestOllamaCompletion in the Immediate window (run by hitting enter).","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":83,"end":103,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*WjpKdw3tQLw5yNmjWL3hkA.png":{"__typename":"ImageMetadata","id":"1*WjpKdw3tQLw5yNmjWL3hkA.png","originalHeight":157,"originalWidth":687,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_29":{"__typename":"Paragraph","id":"cea611297541_29","name":"8b80","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*WjpKdw3tQLw5yNmjWL3hkA.png"},"text":"TestOllamaCompletion function","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_30":{"__typename":"Paragraph","id":"cea611297541_30","name":"790d","type":"H3","href":null,"layout":null,"metadata":null,"text":"3. Test in Excel","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_31":{"__typename":"Paragraph","id":"cea611297541_31","name":"1771","type":"P","href":null,"layout":null,"metadata":null,"text":"Now you should be able to test out the =CHAT() function within excel so you can talk to your locally hosted model.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"CODE","start":39,"end":46,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*ClL71hUIXx9zMe-Uq10uKQ.png":{"__typename":"ImageMetadata","id":"1*ClL71hUIXx9zMe-Uq10uKQ.png","originalHeight":117,"originalWidth":373,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_32":{"__typename":"Paragraph","id":"cea611297541_32","name":"37d9","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*ClL71hUIXx9zMe-Uq10uKQ.png"},"text":"=CHAT() test","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*kavY6ROP_xoxQ8DWv6Lyww.png":{"__typename":"ImageMetadata","id":"1*kavY6ROP_xoxQ8DWv6Lyww.png","originalHeight":334,"originalWidth":333,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_33":{"__typename":"Paragraph","id":"cea611297541_33","name":"93ec","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*kavY6ROP_xoxQ8DWv6Lyww.png"},"text":"=CHAT() response","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_34":{"__typename":"Paragraph","id":"cea611297541_34","name":"2623","type":"P","href":null,"layout":null,"metadata":null,"text":"What is great about using a LLM within excel is you can start to think about programmatically prompting. You can have a LLM answer multiple questions in one pass.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"EM","start":77,"end":94,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*OhlVVaOofJage3yDF-KSkQ.png":{"__typename":"ImageMetadata","id":"1*OhlVVaOofJage3yDF-KSkQ.png","originalHeight":68,"originalWidth":372,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:cea611297541_35":{"__typename":"Paragraph","id":"cea611297541_35","name":"741b","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*OhlVVaOofJage3yDF-KSkQ.png"},"text":"Multi-cell Prompting","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:cea611297541_36":{"__typename":"Paragraph","id":"cea611297541_36","name":"683e","type":"P","href":null,"layout":null,"metadata":null,"text":"Happy prompting!","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"UserViewerEdge:userId:45b598c8e08d-viewerId:lo_ef5979f83688":{"__typename":"UserViewerEdge","id":"userId:45b598c8e08d-viewerId:lo_ef5979f83688","isMuting":false},"PostViewerEdge:postId:8f92caf6c89a-viewerId:lo_ef5979f83688":{"__typename":"PostViewerEdge","shouldIndexPostForExternalSearch":true,"id":"postId:8f92caf6c89a-viewerId:lo_ef5979f83688"},"Tag:llm":{"__typename":"Tag","id":"llm","displayTitle":"Llm","normalizedTagSlug":"llm"},"Tag:excel":{"__typename":"Tag","id":"excel","displayTitle":"Excel","normalizedTagSlug":"excel"},"Tag:vba":{"__typename":"Tag","id":"vba","displayTitle":"Vba","normalizedTagSlug":"vba"},"Tag:ollama":{"__typename":"Tag","id":"ollama","displayTitle":"Ollama","normalizedTagSlug":"ollama"},"Tag:prompt-engineering":{"__typename":"Tag","id":"prompt-engineering","displayTitle":"Prompt Engineering","normalizedTagSlug":"prompt-engineering"},"Post:8f92caf6c89a":{"__typename":"Post","id":"8f92caf6c89a","collection":null,"content({\"postMeteringOptions\":{\"referrer\":\"\"}})":{"__typename":"PostContent","isLockedPreviewOnly":false,"bodyModel":{"__typename":"RichText","sections":[{"__typename":"Section","name":"73df","startIndex":0,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"ac24","startIndex":6,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null}],"paragraphs":[{"__ref":"Paragraph:cea611297541_0"},{"__ref":"Paragraph:cea611297541_1"},{"__ref":"Paragraph:cea611297541_2"},{"__ref":"Paragraph:cea611297541_3"},{"__ref":"Paragraph:cea611297541_4"},{"__ref":"Paragraph:cea611297541_5"},{"__ref":"Paragraph:cea611297541_6"},{"__ref":"Paragraph:cea611297541_7"},{"__ref":"Paragraph:cea611297541_8"},{"__ref":"Paragraph:cea611297541_9"},{"__ref":"Paragraph:cea611297541_10"},{"__ref":"Paragraph:cea611297541_11"},{"__ref":"Paragraph:cea611297541_12"},{"__ref":"Paragraph:cea611297541_13"},{"__ref":"Paragraph:cea611297541_14"},{"__ref":"Paragraph:cea611297541_15"},{"__ref":"Paragraph:cea611297541_16"},{"__ref":"Paragraph:cea611297541_17"},{"__ref":"Paragraph:cea611297541_18"},{"__ref":"Paragraph:cea611297541_19"},{"__ref":"Paragraph:cea611297541_20"},{"__ref":"Paragraph:cea611297541_21"},{"__ref":"Paragraph:cea611297541_22"},{"__ref":"Paragraph:cea611297541_23"},{"__ref":"Paragraph:cea611297541_24"},{"__ref":"Paragraph:cea611297541_25"},{"__ref":"Paragraph:cea611297541_26"},{"__ref":"Paragraph:cea611297541_27"},{"__ref":"Paragraph:cea611297541_28"},{"__ref":"Paragraph:cea611297541_29"},{"__ref":"Paragraph:cea611297541_30"},{"__ref":"Paragraph:cea611297541_31"},{"__ref":"Paragraph:cea611297541_32"},{"__ref":"Paragraph:cea611297541_33"},{"__ref":"Paragraph:cea611297541_34"},{"__ref":"Paragraph:cea611297541_35"},{"__ref":"Paragraph:cea611297541_36"}]},"validatedShareKey":"","shareKeyCreator":null},"creator":{"__ref":"User:45b598c8e08d"},"inResponseToEntityType":null,"isLocked":false,"isMarkedPaywallOnly":false,"lockedSource":"LOCKED_POST_SOURCE_NONE","mediumUrl":"https:\u002F\u002Fmedium.com\u002F@devon.trepp\u002Fprompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a","primaryTopic":null,"topics":[{"__typename":"Topic","slug":"programming"}],"isLimitedState":false,"isPublished":true,"allowResponses":true,"latestPublishedVersion":"cea611297541","visibility":"PUBLIC","postResponses":{"__typename":"PostResponses","count":0},"responseDistribution":"NOT_DISTRIBUTED","clapCount":3,"title":"Prompt with a Locally Hosted Model within Excel Individual Cells","isSeries":false,"sequence":null,"uniqueSlug":"prompt-with-a-locally-hosted-model-within-excel-individual-cells-8f92caf6c89a","socialTitle":"","socialDek":"","canonicalUrl":"","metaDescription":"","latestPublishedAt":1732304643440,"readingTime":4.70566037735849,"previewContent":{"__typename":"PreviewContent","subtitle":"I’ve seen a lot of people prompting an entire .csv or .xlsx file but less people actually implementing prompting within excel."},"previewImage":{"__ref":"ImageMetadata:0*MC5e6rrr1NHG5DnI"},"isShortform":false,"seoTitle":"","firstPublishedAt":1732303177460,"updatedAt":1732330582044,"shortformType":"SHORTFORM_TYPE_LINK","seoDescription":"","viewerEdge":{"__ref":"PostViewerEdge:postId:8f92caf6c89a-viewerId:lo_ef5979f83688"},"isSuspended":false,"license":"ALL_RIGHTS_RESERVED","tags":[{"__ref":"Tag:llm"},{"__ref":"Tag:excel"},{"__ref":"Tag:vba"},{"__ref":"Tag:ollama"},{"__ref":"Tag:prompt-engineering"}],"isFeaturedInPublishedPublication":false,"isNewsletter":false,"statusForCollection":null,"pendingCollection":null,"detectedLanguage":"en","wordCount":929,"layerCake":0,"responsesLocked":false}}</script><script>window.__MIDDLEWARE_STATE__={"session":{"xsrf":""},"cache":{"cacheStatus":"EXPIRED"}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.e69167e9.js"></script><script src="https://cdn-client.medium.com/lite/static/js/9865.1496d74a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.f07b8278.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.5bef8967.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5049.d1ead72d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4505.6dfaf853.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6618.db187378.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9380.fb176dee.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.dc8dbee4.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.933c1c9a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8599.68bc318b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3045.1cc3d8cb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6349.3329b100.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2648.26563adf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8393.a4ecfb83.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6428.36238b5a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6199.6da73f3b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5642.7d9f7f3d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6546.67eb283b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.8aa8d357.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4492.0c3e1a1d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2571.6814b962.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/839.1c286b32.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6128.f8800a13.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2135.2e8dc177.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7975.60bcefe8.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/144.86429b48.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5240.6281357f.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8819.c627c2bf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8204.d0637ed0.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostPage.MainContent.a27c27dc.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8414.0d800846.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3974.8d3e0217.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2527.18a8996d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostResponsesContent.e1e580cb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/responses.editor.e89462cb.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'913630018f434aad',t:'MTczOTc5OTYwOS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>