<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>yzma</title>
    <link>https://yzma.ai/</link>
    <description>Recent content on yzma</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://yzma.ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Architecture</title>
      <link>https://yzma.ai/docs/concepts/architecture/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/architecture/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;yzma calls &lt;code&gt;llama.cpp&lt;/code&gt; in the same process as your Go program. There is no model server and there is no network connection.&lt;/p&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;flowchart TD&#xA;    subgraph app[&amp;#34;Your Go program&amp;#34;]&#xA;        code[&amp;#34;Application code&amp;#34;]&#xA;    end&#xA;    subgraph yzma&#xA;        llama[&amp;#34;pkg/llama&amp;#34;]&#xA;        mtmd[&amp;#34;pkg/mtmd&amp;#34;]&#xA;        loader[&amp;#34;pkg/loader&amp;#34;]&#xA;    end&#xA;    subgraph runtime[&amp;#34;Run time&amp;#34;]&#xA;        purego[&amp;#34;purego&amp;#34;]&#xA;        ffi[&amp;#34;libffi&amp;#34;]&#xA;    end&#xA;    subgraph native[&amp;#34;llama.cpp shared libraries&amp;#34;]&#xA;        libllama[&amp;#34;libllama&amp;#34;]&#xA;        libmtmd[&amp;#34;libmtmd&amp;#34;]&#xA;        ggml[&amp;#34;ggml backends&amp;#34;]&#xA;    end&#xA;    subgraph hw[&amp;#34;Hardware&amp;#34;]&#xA;        cpu[&amp;#34;CPU&amp;#34;]&#xA;        gpu[&amp;#34;GPU&amp;#34;]&#xA;    end&#xA;&#xA;    code --&amp;gt; llama&#xA;    code --&amp;gt; mtmd&#xA;    llama --&amp;gt; loader&#xA;    mtmd --&amp;gt; loader&#xA;    loader --&amp;gt; purego&#xA;    loader --&amp;gt; ffi&#xA;    purego --&amp;gt; libllama&#xA;    purego --&amp;gt; libmtmd&#xA;    ffi --&amp;gt; libllama&#xA;    ffi --&amp;gt; libmtmd&#xA;    libllama --&amp;gt; ggml&#xA;    libmtmd --&amp;gt; ggml&#xA;    ggml --&amp;gt; cpu&#xA;    ggml --&amp;gt; gpu&lt;/pre&gt;&#xA;&lt;h2 id=&#34;no-cgo&#34;&gt;No CGo&lt;/h2&gt;&#xA;&lt;p&gt;Most Go bindings for a C library use CGo. CGo needs a C compiler, and it makes cross compilation hard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Command line</title>
      <link>https://yzma.ai/docs/reference/cli/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/cli/</guid>
      <description>&lt;h2 id=&#34;install-the-command&#34;&gt;Install the command&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;go install github.com/hybridgroup/yzma@latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;the-commands&#34;&gt;The commands&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;NAME:&#xA;   yzma - YZMA command line tool&#xA;&#xA;USAGE:&#xA;   yzma [global options] command [command options]&#xA;&#xA;COMMANDS:&#xA;   install  Install llama.cpp libraries used by yzma&#xA;   verify   Check the installed llama.cpp libraries against their published digests&#xA;   system   Show llama.cpp system information&#xA;   llama    Show most recent llama.cpp version&#xA;   model    Manage models&#xA;   version  Show yzma version&#xA;   info     Show yzma version&#xA;   help, h  Shows a list of commands or help for one command&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;yzma-install&#34;&gt;yzma install&lt;/h2&gt;&#xA;&lt;p&gt;Downloads the prebuilt &lt;code&gt;llama.cpp&lt;/code&gt; libraries for this machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello world</title>
      <link>https://yzma.ai/docs/tutorials/hello-world/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/hello-world/</guid>
      <description>&lt;p&gt;This is the smallest yzma program.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;Install yzma and the &lt;code&gt;llama.cpp&lt;/code&gt; libraries. See &lt;a href=&#34;https://yzma.ai/getting-started/install/&#34;&gt;Quick install&lt;/a&gt;. Then set &lt;code&gt;YZMA_LIB&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Download the model:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/QuantFactory/SmolLM2-135M-GGUF/resolve/main/SmolLM2-135M.Q4_K_M.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;run-the-example&#34;&gt;Run the example&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/hello/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Yes, I&amp;#39;m ready to go.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The complete program is on the &lt;a href=&#34;https://yzma.ai/getting-started/first-program/&#34;&gt;Your first program&lt;/a&gt; page.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-steps&#34;&gt;The steps&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;1. Open the libraries.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Load&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;LogSet&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;LogSilent&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Init&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;LogSilent&lt;/code&gt; stops the messages that &lt;code&gt;llama.cpp&lt;/code&gt; prints. Remove that line to see what the library does.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Models</title>
      <link>https://yzma.ai/docs/guides/models/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/models/</guid>
      <description>&lt;p&gt;yzma uses models in the GGUF format that &lt;code&gt;llama.cpp&lt;/code&gt; supports. There are more than 201,000 of them on Hugging Face:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&#34;&gt;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Set the &lt;code&gt;YZMA_LIB&lt;/code&gt; environment variable before you run any of these commands.&lt;/p&gt;&#xA;&lt;h2 id=&#34;vision-language-models-vlm&#34;&gt;Vision Language Models (VLM)&lt;/h2&gt;&#xA;&lt;p&gt;A Vision Language Model takes an image and text, and it gives text back. Each one needs a model file and a projector file.&lt;/p&gt;&#xA;&lt;h3 id=&#34;qwen3-vl-2b-instruct&#34;&gt;Qwen3-VL-2B-Instruct&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://huggingface.co/bartowski/Qwen_Qwen3-VL-2B-Instruct-GGUF&#34;&gt;https://huggingface.co/bartowski/Qwen_Qwen3-VL-2B-Instruct-GGUF&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Good quality and a good size for most work. This is the model to start with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tools and frameworks</title>
      <link>https://yzma.ai/projects/tools/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/projects/tools/</guid>
      <description>&lt;h3 id=&#34;kronk&#34;&gt;Kronk&lt;/h3&gt;&#xA;&lt;a href=&#34;https://github.com/ardanlabs/kronk&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://github.com/ardanlabs/kronk/blob/main/images/project/kronk_logo1_color.png?raw=true&#34; width=&#34;300&#34; alt=&#34;Kronk logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Kronk gives a high level API that feels like an OpenAI compatible API.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ardanlabs/kronk&#34;&gt;https://github.com/ardanlabs/kronk&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;fantasy&#34;&gt;Fantasy&lt;/h3&gt;&#xA;&lt;a href=&#34;https://github.com/charmbracelet/fantasy&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://github.com/user-attachments/assets/b22c5862-792a-44c1-bc98-55a2e46c8fb9&#34; width=&#34;300&#34; alt=&#34;Fantasy logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Fantasy lets you build AI agents with Go. It works with many providers and many models through one API. It supports &lt;a href=&#34;https://github.com/ardanlabs/kronk&#34;&gt;Kronk&lt;/a&gt;, which is built on yzma.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/charmbracelet/fantasy&#34;&gt;https://github.com/charmbracelet/fantasy&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Applications</title>
      <link>https://yzma.ai/projects/applications/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/projects/applications/</guid>
      <description>&lt;h3 id=&#34;wasmvision&#34;&gt;wasmVision&lt;/h3&gt;&#xA;&lt;a href=&#34;https://wasmvision.com&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://github.com/wasmvision/wasmvision/blob/main/images/wasmvision-logo.png?raw=true&#34; width=&#34;300&#34; alt=&#34;wasmVision logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;wasmVision is a computer vision processing engine with advanced algorithms and vision models for machine learning.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/wasmvision/wasmvision&#34;&gt;https://github.com/wasmvision/wasmvision&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;nornicdb&#34;&gt;NornicDB&lt;/h3&gt;&#xA;&lt;a href=&#34;https://github.com/orneryd/NornicDB&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://raw.githubusercontent.com/orneryd/NornicDB/refs/heads/main/docs/assets/logos/nornicdb-logo.svg&#34; width=&#34;300&#34; alt=&#34;NornicDB logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;NornicDB is a graph database for AI agents and knowledge systems.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/orneryd/NornicDB&#34;&gt;https://github.com/orneryd/NornicDB&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;crush&#34;&gt;Crush&lt;/h3&gt;&#xA;&lt;a href=&#34;https://github.com/charmbracelet/crush&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://github.com/user-attachments/assets/cf8ca3ce-8b02-43f0-9d0f-5a331488da4b&#34; width=&#34;300&#34; alt=&#34;Crush logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Crush gives agentic coding with style. It is built on Fantasy.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/charmbracelet/crush&#34;&gt;https://github.com/charmbracelet/crush&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;floop&#34;&gt;floop&lt;/h3&gt;&#xA;&lt;a href=&#34;https://github.com/nvandessel/floop&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://github.com/user-attachments/assets/bc695966-8c2b-4956-9b8b-e711333588e4&#34; width=&#34;300&#34; alt=&#34;floop logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;floop gives a memory that lasts to AI coding agents.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/nvandessel/floop&#34;&gt;https://github.com/nvandessel/floop&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;immygo&#34;&gt;ImmyGo&lt;/h3&gt;&#xA;&lt;a href=&#34;https://immygo.app/&#34; target=&#34;_blank&#34;&gt;&#xA;&lt;img src=&#34;https://raw.githubusercontent.com/amken3d/Immygo/refs/heads/master/assets/immygo-logo-sq.svg&#34; width=&#34;300&#34; alt=&#34;ImmyGo logo&#34;&gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;ImmyGo is a Go user interface framework that puts AI first. Describe what you want, and ImmyGo builds it. It is built on Gio, and it uses yzma, Ollama, and the Anthropic API for its local AI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chat</title>
      <link>https://yzma.ai/docs/tutorials/chat/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/chat/</guid>
      <description>&lt;p&gt;The &lt;code&gt;hello&lt;/code&gt; program sends one prompt. A chat program keeps the conversation, so the model remembers what came before.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;Download a model that follows an instruction:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/qwen2.5-0.5b-instruct-fp16.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;run-the-example&#34;&gt;Run the example&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/chat/ -model ./models/qwen2.5-0.5b-instruct-fp16.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter prompt: Are you ready to go?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Yes, I&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;m ready to go! What would you like to do?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Enter prompt: Let&amp;#39;&lt;/span&gt;s go to the zoo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Great! Let&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s go to the zoo. What would you like to see?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Enter prompt: I want to feed the llama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Sure! Let&amp;#39;&lt;/span&gt;s go to the zoo and feed the llama. What kind of llama are you interested in feeding?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/blob/main/examples/chat/main.go&#34;&gt;See the code&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chat templates</title>
      <link>https://yzma.ai/docs/guides/chat-templates/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/chat-templates/</guid>
      <description>&lt;p&gt;An instruction model expects a marker before each message. The markers say which part is the system prompt, which part the user said, and where the model must write. That shape is the chat template.&lt;/p&gt;&#xA;&lt;p&gt;Each model family has its own template. If you send the wrong shape, the model gives a poor answer or no answer.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-template-in-the-model-file&#34;&gt;The template in the model file&lt;/h2&gt;&#xA;&lt;p&gt;Most GGUF files hold their own template.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download models</title>
      <link>https://yzma.ai/getting-started/download-models/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/download-models/</guid>
      <description>&lt;p&gt;yzma uses models in the GGUF format that &lt;code&gt;llama.cpp&lt;/code&gt; supports. There are more than 201,000 GGUF models on Hugging Face:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&#34;&gt;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-the-yzma-command&#34;&gt;Use the yzma command&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;yzma&lt;/code&gt; command downloads a model for you:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/QuantFactory/SmolLM2-135M-GGUF/resolve/main/SmolLM2-135M.Q4_K_M.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The command puts the file in the default models directory. A Go program finds that directory with &lt;code&gt;download.DefaultModelsDir()&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;choose-a-model&#34;&gt;Choose a model&lt;/h2&gt;&#xA;&lt;p&gt;A larger model gives better answers, but it needs more memory and more time. Start with a small model.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Environment variables</title>
      <link>https://yzma.ai/docs/reference/environment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/environment/</guid>
      <description>&lt;h2 id=&#34;for-your-programs&#34;&gt;For your programs&lt;/h2&gt;&#xA;&lt;h3 id=&#34;yzma_lib&#34;&gt;YZMA_LIB&lt;/h3&gt;&#xA;&lt;p&gt;The directory that holds the &lt;code&gt;llama.cpp&lt;/code&gt; shared library files. This is the only variable that a normal program needs.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-0&#34; role=&#34;tablist&#34;&gt;&#xA;  &lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link active&#34;&#xA;          id=&#34;tabs-00-00-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-00&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;linux and macos&#34; aria-controls=&#34;tabs-00-00&#34; aria-selected=&#34;true&#34;&gt;&#xA;        Linux and macOS&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-01-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-01&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;windows&#34; aria-controls=&#34;tabs-00-01&#34; aria-selected=&#34;false&#34;&gt;&#xA;        Windows&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;tabs-0-content&#34;&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade show active&#34;&#xA;        id=&#34;tabs-00-00&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-00-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export YZMA_LIB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade&#34;&#xA;        id=&#34;tabs-00-01&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-01-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set YZMA_LIB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\y&lt;/span&gt;zma&lt;span style=&#34;color:#ae81ff&#34;&gt;\l&lt;/span&gt;ib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;yzma install&lt;/code&gt; command and the &lt;code&gt;yzma verify&lt;/code&gt; command also read it, so the &lt;code&gt;--lib&lt;/code&gt; flag is not necessary when it is set.&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS</title>
      <link>https://yzma.ai/getting-started/install/macos/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/macos/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/apple-logo.png&#34; alt=&#34;Apple logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;macOS on Apple silicon uses the Metal GPU. You do not need to install a driver.&lt;/p&gt;&#xA;&lt;p&gt;Decide where you want to put the library files, then run this command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib /path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;yzma install&lt;/code&gt; command prints instructions for your system when it finishes. Follow them to complete the installation.&lt;/p&gt;&#xA;&lt;p&gt;Then set the &lt;code&gt;YZMA_LIB&lt;/code&gt; environment variable:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export YZMA_LIB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;&#xA;&lt;p&gt;Go to &lt;a href=&#34;https://yzma.ai/getting-started/download-models/&#34;&gt;Download models&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Models</title>
      <link>https://yzma.ai/docs/concepts/models/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/models/</guid>
      <description>&lt;h2 id=&#34;gguf&#34;&gt;GGUF&lt;/h2&gt;&#xA;&lt;p&gt;yzma uses models in the GGUF format. This is the format that &lt;code&gt;llama.cpp&lt;/code&gt; reads. A GGUF file holds the weights of the model and the metadata about it, such as the name, the size of the context, and the chat template.&lt;/p&gt;&#xA;&lt;p&gt;There are more than 201,000 GGUF models on Hugging Face:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&#34;&gt;https://huggingface.co/models?library=gguf&amp;amp;sort=trending&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Read the metadata of a file with the &lt;code&gt;modelinfo&lt;/code&gt; example program.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quantization&#34;&gt;Quantization&lt;/h2&gt;&#xA;&lt;p&gt;The name of a model file usually ends with a quantization code, such as &lt;code&gt;Q4_K_M&lt;/code&gt; or &lt;code&gt;Q8_0&lt;/code&gt; or &lt;code&gt;fp16&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hardware acceleration</title>
      <link>https://yzma.ai/docs/concepts/acceleration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/acceleration/</guid>
      <description>&lt;p&gt;&lt;code&gt;llama.cpp&lt;/code&gt; has a backend for each kind of processor. &lt;code&gt;yzma&lt;/code&gt; installs the backend that you name, and &lt;code&gt;llama.cpp&lt;/code&gt; uses it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-each-platform-supports&#34;&gt;What each platform supports&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Operating system&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;CPU&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;GPU&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Linux&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;amd64, arm64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CUDA, Vulkan, HIP, ROCm, SYCL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;macOS&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;arm64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Metal&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Windows&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;amd64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CUDA, Vulkan, HIP, SYCL, OpenCL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;A browser is also a target:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Target&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;CPU&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;GPU&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Browser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;wasm32 SIMD, one or more threads&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;which-backend-to-choose&#34;&gt;Which backend to choose&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Backend&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Use it when&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CPU&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;You have no GPU, or the model is small.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CUDA&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;You have an NVIDIA GPU. This is the fastest choice on NVIDIA hardware.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Metal&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;You have a Mac with Apple silicon. No installation is necessary.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;ROCm&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;You have an AMD GPU and the ROCm 7.2 drivers.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Vulkan&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;You have a GPU but no vendor driver stack. Vulkan works on many cards.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Your program runs in a browser.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Name the backend with the &lt;code&gt;--processor&lt;/code&gt; flag:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your first program</title>
      <link>https://yzma.ai/getting-started/first-program/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/first-program/</guid>
      <description>&lt;p&gt;This page shows the smallest yzma program. It sends a prompt to a model and prints the answer.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Install yzma and the &lt;code&gt;llama.cpp&lt;/code&gt; libraries. See &lt;a href=&#34;https://yzma.ai/getting-started/install/&#34;&gt;Quick install&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Set the &lt;code&gt;YZMA_LIB&lt;/code&gt; environment variable.&lt;/li&gt;&#xA;&lt;li&gt;Download the model:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/QuantFactory/SmolLM2-135M-GGUF/resolve/main/SmolLM2-135M.Q4_K_M.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;the-program&#34;&gt;The program&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;fmt&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;os&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;path/filepath&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;github.com/hybridgroup/yzma/pkg/download&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;github.com/hybridgroup/yzma/pkg/llama&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;modelFile&lt;/span&gt;            = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SmolLM2-135M.Q4_K_M.gguf&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;prompt&lt;/span&gt;               = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Are you ready to go?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;              = &lt;span style=&#34;color:#a6e22e&#34;&gt;os&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Getenv&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;YZMA_LIB&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;responseLength&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int32&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;func&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Load&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;LogSet&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;LogSilent&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Init&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;model&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;_&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ModelLoadFromFile&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;filepath&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Join&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;DefaultModelsDir&lt;/span&gt;(), &lt;span style=&#34;color:#a6e22e&#34;&gt;modelFile&lt;/span&gt;), &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ModelDefaultParams&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;ctx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;_&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;InitFromModel&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;model&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ContextDefaultParams&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;vocab&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ModelGetVocab&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;model&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;tokens&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Tokenize&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;vocab&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;prompt&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;batch&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;BatchGetOne&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;tokens&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainInit&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainDefaultParams&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitGreedy&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pos&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; int32(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;); &lt;span style=&#34;color:#a6e22e&#34;&gt;pos&lt;/span&gt; &amp;lt; &lt;span style=&#34;color:#a6e22e&#34;&gt;responseLength&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;pos&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;batch&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;NTokens&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Decode&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;ctx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;batch&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;token&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerSample&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;ctx&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;VocabIsEOG&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;vocab&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;token&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;fmt&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Println&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;buf&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; make([]&lt;span style=&#34;color:#66d9ef&#34;&gt;byte&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;len&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;TokenToPiece&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;vocab&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;token&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;buf&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;fmt&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Print&lt;/span&gt;(string(&lt;span style=&#34;color:#a6e22e&#34;&gt;buf&lt;/span&gt;[:&lt;span style=&#34;color:#a6e22e&#34;&gt;len&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;batch&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;BatchGetOne&lt;/span&gt;([]&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Token&lt;/span&gt;{&lt;span style=&#34;color:#a6e22e&#34;&gt;token&lt;/span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;fmt&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Println&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;run-it&#34;&gt;Run it&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/hello/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Yes, I&amp;#39;m ready to go.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;No C compiler is necessary. The normal &lt;code&gt;go run&lt;/code&gt; command is sufficient.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux</title>
      <link>https://yzma.ai/getting-started/install/linux/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/linux/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/linux-logo.webp&#34; alt=&#34;Linux logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;Linux runs on amd64 and on arm64. Choose the tab for the processor that you want to use.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-0&#34; role=&#34;tablist&#34;&gt;&#xA;  &lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link active&#34;&#xA;          id=&#34;tabs-00-00-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-00&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;cpu&#34; aria-controls=&#34;tabs-00-00&#34; aria-selected=&#34;true&#34;&gt;&#xA;        CPU&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-01-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-01&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;cuda&#34; aria-controls=&#34;tabs-00-01&#34; aria-selected=&#34;false&#34;&gt;&#xA;        CUDA&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-02-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-02&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;rocm&#34; aria-controls=&#34;tabs-00-02&#34; aria-selected=&#34;false&#34;&gt;&#xA;        ROCm&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-03-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-03&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;vulkan&#34; aria-controls=&#34;tabs-00-03&#34; aria-selected=&#34;false&#34;&gt;&#xA;        Vulkan&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;tabs-0-content&#34;&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade show active&#34;&#xA;        id=&#34;tabs-00-00&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-00-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;Decide where you want to put the library files, then run this command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib /path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade&#34;&#xA;        id=&#34;tabs-00-01&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-01-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;To use an NVIDIA GPU, first install the CUDA drivers. See the &lt;a href=&#34;https://docs.nvidia.com/cuda/cuda-installation-guide-linux/&#34;&gt;CUDA installation guide&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Platforms</title>
      <link>https://yzma.ai/docs/reference/platforms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/platforms/</guid>
      <description>&lt;h2 id=&#34;operating-systems-and-processors&#34;&gt;Operating systems and processors&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Operating system&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;CPU&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;GPU&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Linux&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;amd64, arm64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CUDA, Vulkan, HIP, ROCm, SYCL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;macOS&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;arm64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Metal&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Windows&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;amd64&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;CUDA, Vulkan, HIP, SYCL, OpenCL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;A browser is also a target:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Target&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;CPU&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;GPU&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Browser&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;wasm32 SIMD, one or more threads&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;In a browser the API is the smaller one of &lt;code&gt;pkg/llamawasm&lt;/code&gt;. It has no audio, no video, no LoRA adapters, no saved state, and no quantization.&lt;/p&gt;&#xA;&lt;h2 id=&#34;boards&#34;&gt;Boards&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Board&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Raspberry Pi 4 and 5&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The 64 bit Raspberry Pi OS. Install with &lt;code&gt;--os trixie&lt;/code&gt; or &lt;code&gt;--os bookworm&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;NVIDIA Jetson Orin&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Install Jetpack first. CUDA or Vulkan.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Arduino UNO Q&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Install with &lt;code&gt;--os trixie&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;go-version&#34;&gt;Go version&lt;/h2&gt;&#xA;&lt;p&gt;yzma needs Go 1.26 or later.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sampling</title>
      <link>https://yzma.ai/docs/guides/sampling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/sampling/</guid>
      <description>&lt;p&gt;A model does not give one token. It gives a score for every token in the vocabulary. The sampler chain turns those scores into one token.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-chain&#34;&gt;The chain&lt;/h2&gt;&#xA;&lt;p&gt;Each sampler in the chain changes the scores, or it takes a token. The samplers run in the order that you add them.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainInit&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainDefaultParams&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitTopK&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;40&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitTopP&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.95&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitMinP&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.05&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitTemp&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.8&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerChainAdd&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerInitDist&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;DefaultSeed&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;defer&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;llama&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SamplerFree&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;sampler&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Put the sampler that takes the token last. That is &lt;code&gt;SamplerInitDist&lt;/code&gt; or &lt;code&gt;SamplerInitGreedy&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Examples and tutorials</title>
      <link>https://yzma.ai/projects/tutorials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/projects/tutorials/</guid>
      <description>&lt;h3 id=&#34;running-local-llms-and-vlms-on-the-arduino-uno-q-with-yzma&#34;&gt;Running local LLMs and VLMs on the Arduino UNO Q with yzma&lt;/h3&gt;&#xA;&lt;p&gt;Marc Pous (&lt;a href=&#34;https://github.com/mpous&#34;&gt;@mpous&lt;/a&gt;) shows how to run local LLMs and VLMs on the &lt;a href=&#34;https://docs.arduino.cc/hardware/uno-q/&#34;&gt;Arduino UNO Q&lt;/a&gt; with yzma and &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://projecthub.arduino.cc/marc-edgeimpulse/running-local-llms-and-vlms-on-the-arduino-uno-q-with-yzma-74e288&#34;&gt;https://projecthub.arduino.cc/marc-edgeimpulse/running-local-llms-and-vlms-on-the-arduino-uno-q-with-yzma-74e288&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;ardan-labs-ai-training&#34;&gt;Ardan Labs ai-training&lt;/h3&gt;&#xA;&lt;p&gt;Examples that show Go developers how to use AI in their products.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ardanlabs/ai-training&#34;&gt;https://github.com/ardanlabs/ai-training&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;captions-with-attitude&#34;&gt;Captions With Attitude&lt;/h3&gt;&#xA;&lt;p&gt;Captions in your browser, from your webcam, made by a Vision Language Model. The Go program runs on your own machine with &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vision</title>
      <link>https://yzma.ai/docs/tutorials/vision/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/vision/</guid>
      <description>&lt;p&gt;A Vision Language Model reads an image and text together. yzma sends both with the &lt;code&gt;pkg/mtmd&lt;/code&gt; package.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;A VLM needs two files. Download both:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/ggml-org/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/Qwen2.5-VL-3B-Instruct-Q8_0.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/ggml-org/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/mmproj-Qwen2.5-VL-3B-Instruct-Q8_0.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The file with &lt;code&gt;mmproj&lt;/code&gt; in the name is the projector. It turns the image into tokens that the model reads.&lt;/p&gt;&#xA;&lt;h2 id=&#34;run-the-example&#34;&gt;Run the example&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://yzma.ai/images/domestic_llama.jpg&#34; alt=&#34;A llama&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/vlm/ -model ~/models/Qwen2.5-VL-3B-Instruct-Q8_0.gguf -mmproj ~/models/mmproj-Qwen2.5-VL-3B-Instruct-Q8_0.gguf -image ./images/domestic_llama.jpg -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;What is in this picture?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The image features a white llama standing in a fenced-in area, possibly a zoo or a farm. The llama is positioned in the center of the image, with its body facing the right side. The fenced area is surrounded by trees, creating a natural environment &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; the llama.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/blob/main/examples/vlm/main.go&#34;&gt;See the code&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Embeddings</title>
      <link>https://yzma.ai/docs/tutorials/embeddings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/embeddings/</guid>
      <description>&lt;p&gt;An embedding is a vector of numbers that stands for a piece of text. Two pieces of text with a similar meaning give two similar vectors. Use embeddings for search, for grouping, and for comparison.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;Download a model:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/QuantFactory/SmolLM-135M-GGUF/resolve/main/SmolLM-135M.Q2_K.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;run-the-example&#34;&gt;Run the example&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/embeddings/ -model ~/models/SmolLM-135M.Q2_K.gguf -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-0.009294 -0.003438 0.004629 -0.005551 0.003048 ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/blob/main/examples/embeddings/main.go&#34;&gt;See the code&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-steps&#34;&gt;The steps&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;1. Turn on embeddings in the context parameters.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Examples</title>
      <link>https://yzma.ai/docs/reference/examples/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/examples/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples&#34;&gt;examples directory&lt;/a&gt; holds these programs. Each one has its own README.&lt;/p&gt;&#xA;&lt;h2 id=&#34;native&#34;&gt;Native&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Example&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it shows&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/hello&#34;&gt;&lt;code&gt;hello&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The smallest program. Loads a model and prints an answer.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/chat&#34;&gt;&lt;code&gt;chat&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;An interactive chat that keeps the conversation.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/vlm&#34;&gt;&lt;code&gt;vlm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Sends an image and a prompt to a Vision Language Model.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/describe&#34;&gt;&lt;code&gt;describe&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Describes an image from a URL or a local file. Installs as a command.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/embeddings&#34;&gt;&lt;code&gt;embeddings&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Turns text into a vector.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/tooluse&#34;&gt;&lt;code&gt;tooluse&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;One round of tool calling.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/multitool&#34;&gt;&lt;code&gt;multitool&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Tool calling in a loop, for a problem with steps.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/modelinfo&#34;&gt;&lt;code&gt;modelinfo&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Prints the description, the size, and the metadata of a model.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/systeminfo&#34;&gt;&lt;code&gt;systeminfo&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Lists the devices that &lt;code&gt;llama.cpp&lt;/code&gt; found.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/installer&#34;&gt;&lt;code&gt;installer&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Installs the &lt;code&gt;llama.cpp&lt;/code&gt; libraries from Go code.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/resolver&#34;&gt;&lt;code&gt;resolver&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Installs from your own mirror with a custom resolver.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;browser&#34;&gt;Browser&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Example&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it shows&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/wasm/chat&#34;&gt;&lt;code&gt;wasm/chat&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A chat page.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/wasm/vlm&#34;&gt;&lt;code&gt;wasm/vlm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A page that asks a question about an image.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/wasm/tools&#34;&gt;&lt;code&gt;wasm/tools&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A page where the model calls tools.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;run-one&#34;&gt;Run one&lt;/h2&gt;&#xA;&lt;p&gt;Clone the repository, set &lt;code&gt;YZMA_LIB&lt;/code&gt;, and download a model.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog posts and video</title>
      <link>https://yzma.ai/projects/media/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/projects/media/</guid>
      <description>&lt;h3 id=&#34;understanding-go-ai-inference-yzma&#34;&gt;Understanding Go AI Inference: Yzma&lt;/h3&gt;&#xA;&lt;p&gt;Jesús Espino&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://internals-for-interns.com/posts/yzma/&#34;&gt;https://internals-for-interns.com/posts/yzma/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;understanding-go-ai-inference-what-is-inference&#34;&gt;Understanding Go AI Inference: What is Inference?&lt;/h3&gt;&#xA;&lt;p&gt;Jesús Espino&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://internals-for-interns.com/posts/go-ai-inference-what-is-inference/&#34;&gt;https://internals-for-interns.com/posts/go-ai-inference-what-is-inference/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;free-yourself-from-the-copilot-tax&#34;&gt;Free Yourself From The Copilot Tax&lt;/h3&gt;&#xA;&lt;p&gt;Bill Kennedy&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.kronkai.com/blog/free-yourself-from-the-copilot-tax&#34;&gt;https://www.kronkai.com/blog/free-yourself-from-the-copilot-tax&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;building-gemma-4-local-powered-llm-apps-with-go-and-yzma&#34;&gt;Building Gemma 4 Local-Powered LLM Apps with Go and Yzma&lt;/h3&gt;&#xA;&lt;p&gt;Vladimir Vivien&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://medium.com/@vladimirvivien/building-gemma-4-local-powered-llm-apps-with-go-and-yzma-6bc43d48ee4e&#34;&gt;https://medium.com/@vladimirvivien/building-gemma-4-local-powered-llm-apps-with-go-and-yzma-6bc43d48ee4e&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;yzma-17-perform-local-inference-with-llamacpp&#34;&gt;yzma 1.7: Perform Local Inference with llama.cpp&lt;/h3&gt;&#xA;&lt;p&gt;Golang Weekly&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://golangweekly.com/issues/588&#34;&gt;https://golangweekly.com/issues/588&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;go-lightning-talks-at-fosdem-2026&#34;&gt;Go Lightning talks at FOSDEM 2026&lt;/h3&gt;&#xA;&lt;p&gt;Bill Kennedy&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://cuddly.tube/w/mBtDbXQLdeHQh1PqLmeV99?start=7m58s&#34;&gt;https://cuddly.tube/w/mBtDbXQLdeHQh1PqLmeV99?start=7m58s&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;go-in-the-aiml-landscape-a-practical-guide&#34;&gt;Go in the AI/ML Landscape: A Practical Guide&lt;/h3&gt;&#xA;&lt;p&gt;Vladimir Vivien&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://medium.com/@vladimirvivien/go-in-the-ai-ml-landscape-a-practical-guide-d36d44f360d2&#34;&gt;https://medium.com/@vladimirvivien/go-in-the-ai-ml-landscape-a-practical-guide-d36d44f360d2&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multimodal input</title>
      <link>https://yzma.ai/docs/guides/multimodal/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/multimodal/</guid>
      <description>&lt;p&gt;&lt;code&gt;pkg/mtmd&lt;/code&gt; sends more than text to a model. It handles images, audio, and video.&lt;/p&gt;&#xA;&lt;h2 id=&#34;load-the-projector&#34;&gt;Load the projector&lt;/h2&gt;&#xA;&lt;p&gt;A multimodal model needs a projector file. The projector turns the image, the sound, or the video into tokens.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Load&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mctxParams&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ContextParamsDefault&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;err&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;InitFromFile&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;projFile&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;model&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;mctxParams&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;defer&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Free&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;check-what-the-model-accepts&#34;&gt;Check what the model accepts&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SupportVision&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SupportAudio&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;SupportVideo&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Each one gives a boolean. Check before you send the input.&lt;/p&gt;&#xA;&lt;h2 id=&#34;images&#34;&gt;Images&lt;/h2&gt;&#xA;&lt;p&gt;Read an image from a file:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;bitmap&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;BitmapInitFromFile&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mtmdCtx&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;imageFile&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;InitOptDefault&lt;/span&gt;())&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;defer&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mtmd&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;BitmapFree&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;bitmap&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Bitmap&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Read an image from memory:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Next steps</title>
      <link>https://yzma.ai/getting-started/next-steps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/next-steps/</guid>
      <description>&lt;p&gt;Your first program works. Here is what to do next.&lt;/p&gt;&#xA;&lt;h2 id=&#34;learn-the-parts&#34;&gt;Learn the parts&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/concepts/architecture/&#34;&gt;Architecture&lt;/a&gt; shows how yzma calls &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/concepts/packages/&#34;&gt;Packages&lt;/a&gt; shows what each Go package does.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/concepts/acceleration/&#34;&gt;Hardware acceleration&lt;/a&gt; shows which processor to use.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;write-more-programs&#34;&gt;Write more programs&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/tutorials/chat/&#34;&gt;Chat&lt;/a&gt; keeps a conversation.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/tutorials/vision/&#34;&gt;Vision&lt;/a&gt; asks a question about an image.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/tutorials/embeddings/&#34;&gt;Embeddings&lt;/a&gt; turns text into a vector.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/tutorials/tool-calling/&#34;&gt;Tool calling&lt;/a&gt; lets a model call your Go functions.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/tutorials/browser/&#34;&gt;Browser&lt;/a&gt; runs the same program in a web page.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;read-the-reference&#34;&gt;Read the reference&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/reference/cli/&#34;&gt;Command line&lt;/a&gt; lists every &lt;code&gt;yzma&lt;/code&gt; command.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/reference/environment/&#34;&gt;Environment variables&lt;/a&gt; lists every setting.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://yzma.ai/docs/reference/examples/&#34;&gt;Examples&lt;/a&gt; lists the example programs in the repository.&lt;/li&gt;&#xA;&lt;li&gt;The Go API is on &lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma&#34;&gt;pkg.go.dev&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;see-what-other-people-build&#34;&gt;See what other people build&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://yzma.ai/projects/&#34;&gt;Projects&lt;/a&gt; section shows the tools, the applications, and the articles that use yzma.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Packages</title>
      <link>https://yzma.ai/docs/concepts/packages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/packages/</guid>
      <description>&lt;p&gt;yzma is a set of Go packages. Most programs use two or three of them.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Package&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/llama&#34;&gt;&lt;code&gt;pkg/llama&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The main bindings. Models, contexts, tokens, batches, samplers, and the memory of a conversation.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/mtmd&#34;&gt;&lt;code&gt;pkg/mtmd&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Multimodal input. Images, audio, and video.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/download&#34;&gt;&lt;code&gt;pkg/download&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Downloads the &lt;code&gt;llama.cpp&lt;/code&gt; libraries and the models. Checks the digests.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/message&#34;&gt;&lt;code&gt;pkg/message&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Chat messages and tool calls. Reads the tool call format of each model family.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/template&#34;&gt;&lt;code&gt;pkg/template&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Jinja chat templates.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/llamawasm&#34;&gt;&lt;code&gt;pkg/llamawasm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The browser version of &lt;code&gt;pkg/llama&lt;/code&gt;. Build tag &lt;code&gt;js &amp;amp;&amp;amp; wasm&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/vlm&#34;&gt;&lt;code&gt;pkg/vlm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;An experimental high level type for Vision Language Models.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/loader&#34;&gt;&lt;code&gt;pkg/loader&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Opens a shared library and prepares a function call.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/utils&#34;&gt;&lt;code&gt;pkg/utils&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Converts a Go string to a C string and back.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;pkgllama&#34;&gt;pkg/llama&lt;/h2&gt;&#xA;&lt;p&gt;This is the package that most programs import. It gives about 250 functions, in these groups.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows</title>
      <link>https://yzma.ai/getting-started/install/windows/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/windows/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/windows-10-logo.png&#34; alt=&#34;Windows logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;Choose the tab for the processor that you want to use.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-0&#34; role=&#34;tablist&#34;&gt;&#xA;  &lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link active&#34;&#xA;          id=&#34;tabs-00-00-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-00&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;cpu&#34; aria-controls=&#34;tabs-00-00&#34; aria-selected=&#34;true&#34;&gt;&#xA;        CPU&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-01-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-01&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;cuda&#34; aria-controls=&#34;tabs-00-01&#34; aria-selected=&#34;false&#34;&gt;&#xA;        CUDA&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-02-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-02&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;rocm&#34; aria-controls=&#34;tabs-00-02&#34; aria-selected=&#34;false&#34;&gt;&#xA;        ROCm&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-03-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-03&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;vulkan&#34; aria-controls=&#34;tabs-00-03&#34; aria-selected=&#34;false&#34;&gt;&#xA;        Vulkan&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;tabs-0-content&#34;&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade show active&#34;&#xA;        id=&#34;tabs-00-00&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-00-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;Decide where you want to put the library files, then run this command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib C:&lt;span style=&#34;color:#ae81ff&#34;&gt;\p&lt;/span&gt;ath&lt;span style=&#34;color:#ae81ff&#34;&gt;\t&lt;/span&gt;o&lt;span style=&#34;color:#ae81ff&#34;&gt;\l&lt;/span&gt;ib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade&#34;&#xA;        id=&#34;tabs-00-01&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-01-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;To use an NVIDIA GPU, first install the CUDA drivers. See the &lt;a href=&#34;https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/&#34;&gt;CUDA installation guide&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Packages</title>
      <link>https://yzma.ai/docs/reference/packages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/packages/</guid>
      <description>&lt;p&gt;The complete API is on &lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma&#34;&gt;pkg.go.dev&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Package&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Import path&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;llama&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/llama&#34;&gt;&lt;code&gt;pkg/llama&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The main bindings for &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;mtmd&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/mtmd&#34;&gt;&lt;code&gt;pkg/mtmd&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Images, audio, and video.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;download&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/download&#34;&gt;&lt;code&gt;pkg/download&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Installs the libraries and the models.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;message&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/message&#34;&gt;&lt;code&gt;pkg/message&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Chat messages and tool calls.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;template&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/template&#34;&gt;&lt;code&gt;pkg/template&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Jinja chat templates.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;llamawasm&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/llamawasm&#34;&gt;&lt;code&gt;pkg/llamawasm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The browser version. Build tag &lt;code&gt;js &amp;amp;&amp;amp; wasm&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;vlm&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/vlm&#34;&gt;&lt;code&gt;pkg/vlm&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;An experimental high level type for Vision Language Models.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;loader&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/loader&#34;&gt;&lt;code&gt;pkg/loader&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Opens a shared library and prepares a call.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;utils&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://pkg.go.dev/github.com/hybridgroup/yzma/pkg/utils&#34;&gt;&lt;code&gt;pkg/utils&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Converts a Go string to a C string and back.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;https://yzma.ai/docs/concepts/packages/&#34;&gt;Packages&lt;/a&gt; for what each one is for.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Raspberry Pi</title>
      <link>https://yzma.ai/getting-started/install/raspberry-pi/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/raspberry-pi/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/raspberry-pi-os-logo.png&#34; alt=&#34;Raspberry Pi logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;yzma runs on a Raspberry Pi 4 and on a Raspberry Pi 5. You need the 64 bit version of the Raspberry Pi OS.&lt;/p&gt;&#xA;&lt;p&gt;The Raspberry Pi OS uses its own library versions, so you must name the operating system with the &lt;code&gt;--os&lt;/code&gt; flag.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-0&#34; role=&#34;tablist&#34;&gt;&#xA;  &lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link active&#34;&#xA;          id=&#34;tabs-00-00-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-00&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;raspberry pi os (64-bit)&#34; aria-controls=&#34;tabs-00-00&#34; aria-selected=&#34;true&#34;&gt;&#xA;        Raspberry Pi OS (64-bit)&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-01-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-01&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;raspberry pi os legacy (64-bit)&#34; aria-controls=&#34;tabs-00-01&#34; aria-selected=&#34;false&#34;&gt;&#xA;        Raspberry Pi OS Legacy (64-bit)&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;tabs-0-content&#34;&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade show active&#34;&#xA;        id=&#34;tabs-00-00&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-00-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;Use this command for the latest version of the Raspberry Pi OS:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tool calling</title>
      <link>https://yzma.ai/docs/guides/tool-calling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/tool-calling/</guid>
      <description>&lt;p&gt;Tool calling lets a model ask your program to run a function. The model writes a request, your code runs the function, and you send the result back.&lt;/p&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;https://yzma.ai/docs/tutorials/tool-calling/&#34;&gt;the tutorial&lt;/a&gt; for a complete program. This page holds the details.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-parts&#34;&gt;The parts&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;pkg/message&lt;/code&gt; holds these types.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it is&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ToolDefinition&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The description of a tool that you give the model.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ToolFunctionDefinition&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The name, the description, and the parameters of a function.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ToolCall&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A request from the model to run one function.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ToolFunction&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The name and the arguments of that request.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Tool&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A message that holds tool calls, and the text that came with them.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ToolResponse&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The result that you send back to the model.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Chat&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A normal message with a role and content.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;read-the-tool-calls&#34;&gt;Read the tool calls&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;toolCalls&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;message&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ParseToolCalls&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;response&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;ParseToolCalls&lt;/code&gt; finds the format without help. It reads every format that the table below lists.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tool calling</title>
      <link>https://yzma.ai/docs/tutorials/tool-calling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/tool-calling/</guid>
      <description>&lt;p&gt;A model cannot do arithmetic well and it cannot read the clock. Tool calling solves this. You tell the model which functions it has, the model asks for one, and your Go code runs it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;Use a model that supports tool calling:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma model get -u https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/qwen2.5-0.5b-instruct-fp16.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;run-the-example&#34;&gt;Run the example&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ go run ./examples/tooluse/ -model ~/models/qwen2.5-0.5b-instruct-fp16.gguf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; Tool Calling Example &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;User: What is &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; + 27?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Assistant: &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; + 27 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;42&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The result of adding &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; and &lt;span style=&#34;color:#ae81ff&#34;&gt;27&lt;/span&gt; is 42.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ask your own question:&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebAssembly</title>
      <link>https://yzma.ai/docs/concepts/webassembly/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/webassembly/</guid>
      <description>&lt;p&gt;yzma runs in a browser. The model stays on the machine of the reader, and no server does the work.&lt;/p&gt;&#xA;&lt;h2 id=&#34;two-modules&#34;&gt;Two modules&lt;/h2&gt;&#xA;&lt;p&gt;There are two WebAssembly modules in the page.&lt;/p&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;flowchart TD&#xA;    page[&amp;#34;page (index.html)&amp;#34;]&#xA;    worker[&amp;#34;Web Worker&amp;#34;]&#xA;    go[&amp;#34;Go program (TinyGo)&amp;#34;]&#xA;    cpp[&amp;#34;llama.cpp module (Emscripten)&amp;#34;]&#xA;&#xA;    page --&amp;gt;|postMessage| worker&#xA;    worker --&amp;gt; go&#xA;    worker --&amp;gt; cpp&#xA;    go --&amp;gt;|through JavaScript| cpp&lt;/pre&gt;&#xA;&lt;p&gt;On a native platform yzma calls &lt;code&gt;llama.cpp&lt;/code&gt; with libffi and opens the shared libraries at run time. A WebAssembly module has no &lt;code&gt;dlopen&lt;/code&gt; and no libffi, and TinyGo cannot compile the C++ of &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Browser</title>
      <link>https://yzma.ai/docs/tutorials/browser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/tutorials/browser/</guid>
      <description>&lt;p&gt;yzma runs in a browser. The model stays on the machine of the reader, and no server does the work.&lt;/p&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;&#xA;&lt;p&gt;You need &lt;a href=&#34;https://tinygo.org&#34;&gt;TinyGo&lt;/a&gt; 0.42.0 or later, and a clone of the yzma repository.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/hybridgroup/yzma.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd yzma&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;get-the-webassembly-build&#34;&gt;Get the WebAssembly build&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make download-llama.cpp-wasm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is the same as:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib ./build/wasm --os wasm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It downloads all three builds. There is a build for WebGPU, a build with more than one thread, and a build with one thread.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NVIDIA Jetson Orin</title>
      <link>https://yzma.ai/getting-started/install/jetson-orin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/jetson-orin/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/NVIDIA-logo.png&#34; alt=&#34;NVIDIA logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;yzma runs on the &lt;a href=&#34;https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/nano-super-developer-kit/&#34;&gt;NVIDIA Jetson Orin&lt;/a&gt;. Install the latest version of the Jetpack software for your device before you start. Jetpack gives you the GPU drivers.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-0&#34; role=&#34;tablist&#34;&gt;&#xA;  &lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link active&#34;&#xA;          id=&#34;tabs-00-00-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-00&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;cuda&#34; aria-controls=&#34;tabs-00-00&#34; aria-selected=&#34;true&#34;&gt;&#xA;        CUDA&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;&#xA;      &lt;button class=&#34;nav-link&#34;&#xA;          id=&#34;tabs-00-01-tab&#34; data-bs-toggle=&#34;tab&#34; data-bs-target=&#34;#tabs-00-01&#34; role=&#34;tab&#34;&#xA;          data-td-tp-persist=&#34;vulkan&#34; aria-controls=&#34;tabs-00-01&#34; aria-selected=&#34;false&#34;&gt;&#xA;        Vulkan&#xA;      &lt;/button&gt;&#xA;    &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;div class=&#34;tab-content&#34; id=&#34;tabs-0-content&#34;&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade show active&#34;&#xA;        id=&#34;tabs-00-00&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-00-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;Decide where you want to put the library files, then run this command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib /path/to/lib --processor cuda&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;tab-body tab-pane fade&#34;&#xA;        id=&#34;tabs-00-01&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-00-01-tab&#34; tabindex=&#34;0&#34;&gt;&#xA;        &lt;p&gt;Vulkan on the Jetson Orin needs a newer GLIBC. Upgrade the shared libraries first:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install from your program</title>
      <link>https://yzma.ai/docs/guides/programmatic-install/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/programmatic-install/</guid>
      <description>&lt;p&gt;Your application can install the &lt;code&gt;llama.cpp&lt;/code&gt; libraries itself. Then the person who uses it does not have to run the &lt;code&gt;yzma&lt;/code&gt; command.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;pkg/download&lt;/code&gt; does this work.&lt;/p&gt;&#xA;&lt;h2 id=&#34;install&#34;&gt;Install&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;context&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;runtime&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;github.com/hybridgroup/yzma/pkg/download&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;target&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Target&lt;/span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;Arch&lt;/span&gt;:      &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;MustParseArch&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;runtime&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;GOARCH&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;OS&lt;/span&gt;:        &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;MustParseOS&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;runtime&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;GOOS&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;Processor&lt;/span&gt;: &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;CUDA&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;Version&lt;/span&gt;:   &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;err&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Install&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;context&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Background&lt;/span&gt;(), &lt;span style=&#34;color:#a6e22e&#34;&gt;target&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ProgressTracker&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The last argument is the resolver. A nil value uses the built in table. See &lt;a href=&#34;https://yzma.ai/docs/guides/resolvers/&#34;&gt;Custom resolvers&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/installer&#34;&gt;See the example code&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-target&#34;&gt;The target&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Field&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it holds&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Arch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;download.AMD64&lt;/code&gt; or &lt;code&gt;download.ARM64&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;OS&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;download.Linux&lt;/code&gt;, &lt;code&gt;download.Darwin&lt;/code&gt;, &lt;code&gt;download.Windows&lt;/code&gt;, &lt;code&gt;download.Bookworm&lt;/code&gt;, &lt;code&gt;download.Trixie&lt;/code&gt;, or &lt;code&gt;download.Wasm&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Processor&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;download.CPU&lt;/code&gt;, &lt;code&gt;download.CUDA&lt;/code&gt;, &lt;code&gt;download.Metal&lt;/code&gt;, &lt;code&gt;download.Vulkan&lt;/code&gt;, &lt;code&gt;download.ROCm&lt;/code&gt;, or &lt;code&gt;download.WebGPU&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;Version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The release tag of &lt;code&gt;llama.cpp&lt;/code&gt;, or &lt;code&gt;&amp;quot;latest&amp;quot;&lt;/code&gt;, or an empty string.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;find-the-processor&#34;&gt;Find the processor&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;yzma&lt;/code&gt; can find CUDA and ROCm on the machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Roadmap</title>
      <link>https://yzma.ai/docs/reference/roadmap/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/roadmap/</guid>
      <description>&lt;p&gt;yzma covers more than 96 percent of the &lt;code&gt;llama.cpp&lt;/code&gt; functionality.&lt;/p&gt;&#xA;&lt;p&gt;The complete list changes with each release, so it stays in the repository:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/blob/main/ROADMAP.md&#34;&gt;ROADMAP.md&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;That page gives a table for each area. Each row names a &lt;code&gt;llama.cpp&lt;/code&gt; function and gives two columns. One column is the state of the wrapper in yzma. The other column is the state of the same function in a browser.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-areas&#34;&gt;The areas&lt;/h2&gt;&#xA;&lt;p&gt;Backend, Model, Vocab, Context, Backend Sampling, Memory, Batch, Sampling, Logging, Performance, Chat, State, LoRA, and mtmd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verification</title>
      <link>https://yzma.ai/docs/concepts/verification/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/concepts/verification/</guid>
      <description>&lt;p&gt;&lt;code&gt;yzma install&lt;/code&gt; downloads shared libraries and then runs them in your process. Thus yzma checks each file before it writes anything.&lt;/p&gt;&#xA;&lt;h2 id=&#34;digests&#34;&gt;Digests&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Install&lt;/code&gt; reads the SHA-256 of each asset and compares it with the expected value. The expected values come from the manifest that &lt;code&gt;llama-cpp-builder&lt;/code&gt; publishes for each release tag.&lt;/p&gt;&#xA;&lt;p&gt;The manifest is an asset of the release, and there is a copy beside the version files:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;https://github.com/hybridgroup/llama-cpp-builder/releases/download/b10783/b10783.json&#xA;https://hybridgroup.github.io/llama-cpp-builder/digests/b10783.json&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Both hold the same bytes. yzma reads the release asset first. It falls back to the copy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Arduino UNO Q</title>
      <link>https://yzma.ai/getting-started/install/arduino-uno-q/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/arduino-uno-q/</guid>
      <description>&lt;img src=&#34;https://yzma.ai/images/arduino-logo.png&#34; alt=&#34;Arduino logo&#34; class=&#34;platform-logo&#34;&gt;&#xA;&lt;p&gt;yzma runs on the &lt;a href=&#34;https://docs.arduino.cc/hardware/uno-q/&#34;&gt;Arduino UNO Q board&lt;/a&gt;. The board runs a Debian based Linux, so the installation uses the &lt;code&gt;trixie&lt;/code&gt; operating system name.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib /path/to/lib --processor cpu --os trixie&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then set the &lt;code&gt;YZMA_LIB&lt;/code&gt; environment variable:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export YZMA_LIB&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The board has a small amount of memory. Use a small model. See &lt;a href=&#34;https://yzma.ai/docs/guides/models/&#34;&gt;Models&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;&#xA;&lt;p&gt;Go to &lt;a href=&#34;https://yzma.ai/getting-started/download-models/&#34;&gt;Download models&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Benchmarks</title>
      <link>https://yzma.ai/docs/reference/benchmarks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/benchmarks/</guid>
      <description>&lt;p&gt;yzma is fast because it calls &lt;code&gt;llama.cpp&lt;/code&gt; in the same process. There is no external server.&lt;/p&gt;&#xA;&lt;p&gt;The complete measurements change with each release, so they stay in the repository:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/blob/main/BENCHMARKS.md&#34;&gt;BENCHMARKS.md&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;That page has results for Linux with a CPU on amd64 and arm64, Linux with CUDA, ROCm, and Vulkan, macOS with Metal, and Windows with a CPU, CUDA, and Vulkan. Each group has text model results and multimodal model results.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Custom resolvers</title>
      <link>https://yzma.ai/docs/guides/resolvers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/resolvers/</guid>
      <description>&lt;p&gt;A &lt;code&gt;Resolver&lt;/code&gt; reports the files to install for a target. &lt;code&gt;Install&lt;/code&gt; downloads them in the order that the resolver gives.&lt;/p&gt;&#xA;&lt;p&gt;Write a resolver when you need a build that the built in table does not name. For example:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An internal mirror or an artifact server.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;code&gt;file://&lt;/code&gt; path on a machine with no network.&lt;/li&gt;&#xA;&lt;li&gt;Your own build of &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A CUDA major version that is not the default.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;write-one&#34;&gt;Write one&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;resolver&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ResolverFunc&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;func&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Target&lt;/span&gt;) ([]&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;error&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;OS&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Linux&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Arch&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;AMD64&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Processor&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;CUDA&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; []&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;{&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://mirror.example.com/llama/&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Version&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-cuda12-x64.tar.gz&amp;#34;&lt;/span&gt;}, &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;// Anything that you do not care about falls through to the built in table.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;DefaultResolver&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Resolve&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;err&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Install&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;context&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Background&lt;/span&gt;(), &lt;span style=&#34;color:#a6e22e&#34;&gt;target&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;libPath&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;download&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;ProgressTracker&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;resolver&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/yzma/tree/main/examples/resolver&#34;&gt;See the example code&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Browser</title>
      <link>https://yzma.ai/getting-started/install/browser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/browser/</guid>
      <description>&lt;p&gt;yzma runs in a browser with the WebAssembly build of &lt;code&gt;llama.cpp&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma install --lib /path/to/web --os wasm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This command downloads all three builds. There is a build for WebGPU, a build with more than one thread, and a build with one thread. The JavaScript glue selects the best build that the page can run.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Build&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What the browser must have&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU with f16 shaders, and JSPI. Chrome or Edge 137 and later, or Firefox 153 and later with two settings in &lt;code&gt;about:config&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;More threads&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;SharedArrayBuffer&lt;/code&gt;, so the page must send the COOP header and the COEP header.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;One thread&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Nothing. It works in every browser.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;A browser with no WebGPU still works. It runs on the CPU.&lt;/p&gt;</description>
    </item>
    <item>
      <title>llama.cpp versions</title>
      <link>https://yzma.ai/docs/reference/llama-cpp-versions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/reference/llama-cpp-versions/</guid>
      <description>&lt;p&gt;Sometimes a change in &lt;code&gt;llama.cpp&lt;/code&gt; breaks yzma. This page gives the known compatible versions.&lt;/p&gt;&#xA;&lt;p&gt;For the current list, see &lt;a href=&#34;https://github.com/hybridgroup/yzma#required-versions-of-llamacpp&#34;&gt;the README&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tagged-releases&#34;&gt;Tagged releases&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;llama.cpp&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;yzma&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v0.3.0&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v1.25.0&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v0.4.0&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v1.26.0 to v1.26.1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v0.4.1&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;v1.27.0&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;A tagged release of yzma installs its own &lt;code&gt;llama.cpp&lt;/code&gt; release by default. Thus &lt;code&gt;yzma install&lt;/code&gt; with no &lt;code&gt;--version&lt;/code&gt; flag gets the version in this table.&lt;/p&gt;&#xA;&lt;p&gt;Use &lt;code&gt;-version latest&lt;/code&gt; to get the most recent nightly build instead. A build from the &lt;code&gt;main&lt;/code&gt; branch always uses the most recent nightly build.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Verify an installation</title>
      <link>https://yzma.ai/docs/guides/verifying/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/verifying/</guid>
      <description>&lt;p&gt;&lt;code&gt;yzma install&lt;/code&gt; downloads shared libraries and your program then runs them. Thus yzma checks each file.&lt;/p&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;https://yzma.ai/docs/concepts/verification/&#34;&gt;Verification&lt;/a&gt; for how the checks work. This page shows the commands and the Go code.&lt;/p&gt;&#xA;&lt;h2 id=&#34;check-an-installation&#34;&gt;Check an installation&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yzma verify --lib /path/to/lib&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Flag&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What it does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--lib&lt;/code&gt;, &lt;code&gt;-l&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The directory with the libraries. Also reads &lt;code&gt;YZMA_LIB&lt;/code&gt;.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--version&lt;/code&gt;, &lt;code&gt;-v&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;The &lt;code&gt;llama.cpp&lt;/code&gt; version that must be there.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--strict&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Also fails when the directory holds a file that this install did not put there.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Writes the report as JSON.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;The check reads the manifest that the install kept, so it needs no network.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build for a browser</title>
      <link>https://yzma.ai/docs/guides/browser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/browser/</guid>
      <description>&lt;p&gt;This page holds the details for a program that runs in a browser. See &lt;a href=&#34;https://yzma.ai/docs/tutorials/browser/&#34;&gt;the tutorial&lt;/a&gt; to build and run one, and &lt;a href=&#34;https://yzma.ai/docs/concepts/webassembly/&#34;&gt;WebAssembly&lt;/a&gt; for how the parts fit together.&lt;/p&gt;&#xA;&lt;h2 id=&#34;select-the-build&#34;&gt;Select the build&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;yzma-loader.js&lt;/code&gt; selects the best build that the browser can run.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Build&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;What the browser must have&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;yzma_wasm_webgpu&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;WebGPU with f16 shaders, and JSPI. Chrome and Edge 137 or later.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;yzma_wasm_mt&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;SharedArrayBuffer&lt;/code&gt;, so a page with the COOP header and the COEP header.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;yzma_wasm&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Nothing. It works in every browser.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;A page can set the choice with &lt;code&gt;globalThis.yzmaMode&lt;/code&gt;. The values are &lt;code&gt;auto&lt;/code&gt;, which is the default, &lt;code&gt;webgpu&lt;/code&gt;, and &lt;code&gt;cpu&lt;/code&gt;. A page URL also accepts &lt;code&gt;?mode=cpu&lt;/code&gt; or &lt;code&gt;?mode=webgpu&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Manual installation</title>
      <link>https://yzma.ai/getting-started/install/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/getting-started/install/manual/</guid>
      <description>&lt;p&gt;You do not have to use the &lt;code&gt;yzma install&lt;/code&gt; command. You can download and extract the library files yourself.&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-to-get-the-files&#34;&gt;Where to get the files&lt;/h2&gt;&#xA;&lt;p&gt;Most of the prebuilt &lt;code&gt;llama.cpp&lt;/code&gt; binaries are here:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ggml-org/llama.cpp/releases&#34;&gt;https://github.com/ggml-org/llama.cpp/releases&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;We build the Ubuntu arm64 CUDA and Vulkan binaries, and the WebAssembly builds. They are here:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/hybridgroup/llama-cpp-builder/releases&#34;&gt;https://github.com/hybridgroup/llama-cpp-builder/releases&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;extract-the-files&#34;&gt;Extract the files&lt;/h2&gt;&#xA;&lt;p&gt;Extract the library files into a directory on your machine. The file extension depends on the operating system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cross compiling</title>
      <link>https://yzma.ai/docs/guides/cross-compiling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://yzma.ai/docs/guides/cross-compiling/</guid>
      <description>&lt;p&gt;yzma uses no CGo, so cross compilation is the normal Go workflow. Set &lt;code&gt;GOOS&lt;/code&gt; and &lt;code&gt;GOARCH&lt;/code&gt;, and build.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;GOOS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;linux GOARCH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;arm64 go build -o myapp-arm64 .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You need no C compiler and no cross toolchain.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-this-works&#34;&gt;Why this works&lt;/h2&gt;&#xA;&lt;p&gt;A CGo program must compile C code for the target, so it needs a cross toolchain for each target. yzma calls &lt;code&gt;llama.cpp&lt;/code&gt; through purego and libffi. Nothing about &lt;code&gt;llama.cpp&lt;/code&gt; is part of your binary, so the Go compiler alone is sufficient.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
