helloadhavan/github_issues huggingface dataset:
Repository: nodejs/node
Pull request: build: skip build-ci on actions with a separate test step

When run `make run-ci` with CONFIG_FLAGS only set in prior
`make build-ci`, `make run-ci` will try to rebuild everything, instead
of re-use the built result from prior `make build-ci`.

https://github.com/nodejs/node/blob/05f8772096f974190b11eabce0ea657bc5c8c1b1/.github/workflows/test-linux.yml#L77-L80

For example, in https://github.com/nodejs/node/actions/runs/20231170130/job/58074218201
the step `Test` tried to re-build, instead of testing with
the binary built in prior `Build` step.

Changed files:
filename: .github/workflows/build-tarball.yml
patch: @@ -138,4 +138,4 @@ jobs:
       - name: Build
         run: make -C "$TAR_DIR" build-ci -j4 V=1
       - name: Test
-        run: make -C "$TAR_DIR" run-ci -j4 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9"
+        run: make -C "$TAR_DIR" test-ci -j1 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9"

filename: .github/workflows/test-linux.yml
patch: @@ -77,7 +77,7 @@ jobs:
       - name: Build
         run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support"
       - name: Test
-        run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
+        run: make -C node test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
       - name: Re-run test in a folder whose name contains unusual chars
         run: |
           mv node "$DIR"

filename: .github/workflows/test-macos.yml
patch: @@ -127,7 +127,7 @@ jobs:
       - name: Free Space After Build
         run: df -h
       - name: Test
-        run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
+        run: make -C node test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
       - name: Re-run test in a folder whose name contains unusual chars
         run: |
           mv node "$DIR"
Repository: ollama/ollama
Pull request: Remove tfs_z from documentation.

tfs_z was removed from llama.cpp in https://github.com/ggerganov/llama.cpp/pull/10071 and the vendor sync in https://github.com/ollama/ollama/pull/7875 propagated it into ollama.

Fixes: https://github.com/ollama/ollama/issues/8514

Changed files:
filename: docs/modelfile.md
patch: @@ -155,7 +155,6 @@ PARAMETER <parameter> <parametervalue>
 | temperature    | The temperature of the model. Increasing the temperature will make the model answer more creatively. (Default: 0.8)                                                                                                                                     | float      | temperature 0.7      |
 | seed           | Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt. (Default: 0)                                                                                       | int        | seed 42              |
 | stop           | Sets the stop sequences to use. When this pattern is encountered the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate `stop` parameters in a modelfile.                                      | string     | stop "AI assistant:" |
-| tfs_z          | Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting. (default: 1)                                               | float      | tfs_z 1              |
 | num_predict    | Maximum number of tokens to predict when generating text. (Default: -1, infinite generation)                                                                                                                                   | int        | num_predict 42       |
 | top_k          | Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative. (Default: 40)                                                                        | int        | top_k 40             |
 | top_p          | Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text. (Default: 0.9)                                                                 | float      | top_p 0.9            |

filename: parser/parser_test.go
patch: @@ -490,7 +490,6 @@ func TestParseFileParameters(t *testing.T) {
 		"top_k 1":                      {"top_k", "1"},
 		"top_p 1.0":                    {"top_p", "1.0"},
 		"min_p 0.05":                   {"min_p", "0.05"},
-		"tfs_z 1.0":                    {"tfs_z", "1.0"},
 		"typical_p 1.0":                {"typical_p", "1.0"},
 		"repeat_last_n 1":              {"repeat_last_n", "1"},
 		"temperature 1.0":              {"temperature", "1.0"},
Repository: vercel/next.js
Pull request: [turbopack] Enable inferring module side effects by default

This was disabled for the 16.1 release.  so re-enable it just to get rid of the slightly odd `!isStableBuild` pattern and also ensure i don't forget to ship it for 16.2

Changed files:
filename: packages/next/src/server/config-shared.ts
patch: @@ -484,7 +484,7 @@ export interface ExperimentalConfig {
    * analyze module code to determine if it has side effects. This can improve tree shaking
    * and bundle size at the cost of some additional analysis.
    *
-   * Defaults to `true` in canary builds only
+   * Defaults to `true`
    */
   turbopackInferModuleSideEffects?: boolean
 
@@ -1613,7 +1613,7 @@ export const defaultConfig = Object.freeze({
     mcpServer: true,
     turbopackFileSystemCacheForDev: true,
     turbopackFileSystemCacheForBuild: false,
-    turbopackInferModuleSideEffects: !isStableBuild(),
+    turbopackInferModuleSideEffects: true,
     devCacheControlNoCache: false,
   },
   htmlLimitedBots: undefined,
Repository: ggml-org/llama.cpp
Pull request: ggml: fix ggml_is_contiguous_n for ne == 1

While debugging a test failure for https://github.com/ggml-org/llama.cpp/pull/19802 I found what I believe to be a bug in `ggml_is_contiguous_n`. A test case using the new fused experts from https://github.com/ggml-org/llama.cpp/pull/19139 fails on an assert like `GGML_ASSERT(ggml_is_contiguous_1(a))`. This assertion failure happens specifically because the test case uses only a single expert vs. the real models using >1 experts. So the test case gets a tensor like this: `ne = {192, 1, 128, 1}, nb = {4, 1536, 1536, 196608}`. This should be contiguous in dimensions 1, 2, and 3 but it is not according to `ggml_is_contiguous_1`. The reason is that the code on master entirely skips dimensions that have a size of 1. But this then also skips the fix for `next_nb` if a dimension does not need to be contiguous. This PR adjusts the logic to skip only the check for whether or not the tensor is contiguous if a dimension is equal to 1.

Changed files:
filename: ggml/src/ggml.c
patch: @@ -1410,16 +1410,14 @@ static bool ggml_is_contiguous_n(const struct ggml_tensor * tensor, int n) {
     }
     next_nb *= tensor->ne[0]/ggml_blck_size(tensor->type);
     for (int i = 1; i < GGML_MAX_DIMS; i++) {
-        if (tensor->ne[i] != 1) {
-            if (i > n) {
-                if (tensor->nb[i] != next_nb) {
-                    return false;
-                }
-                next_nb *= tensor->ne[i];
-            } else {
-                // this dimension does not need to be contiguous
-                next_nb = tensor->ne[i]*tensor->nb[i];
+        if (i > n) {
+            if (tensor->ne[i] != 1 && tensor->nb[i] != next_nb) {
+                return false;
             }
+            next_nb *= tensor->ne[i];
+        } else {
+            // this dimension does not need to be contiguous
+            next_nb = tensor->ne[i]*tensor->nb[i];
         }
     }
     return true;
Repository: vuejs/vue
Pull request: fix(vdom): svg inside foreignObject should be rendered with correct namespace (fix #7330)

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included

**Other information:**
fix #7330

Changed files:
filename: src/core/vdom/create-element.js
patch: @@ -139,7 +139,8 @@ function applyNS (vnode, ns, force) {
   if (isDef(vnode.children)) {
     for (let i = 0, l = vnode.children.length; i < l; i++) {
       const child = vnode.children[i]
-      if (isDef(child.tag) && (isUndef(child.ns) || isTrue(force))) {
+      if (isDef(child.tag) && (
+        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
         applyNS(child, ns, force)
       }
     }

filename: test/unit/modules/vdom/create-element.spec.js
patch: @@ -135,10 +135,12 @@ describe('create-element', () => {
   it('render svg foreignObject with correct namespace', () => {
     const vm = new Vue({})
     const h = vm.$createElement
-    const vnode = h('svg', [h('foreignObject', [h('p')])])
+    const vnode = h('svg', [h('foreignObject', [h('p'), h('svg')])])
     expect(vnode.ns).toBe('svg')
     expect(vnode.children[0].ns).toBe('svg')
     expect(vnode.children[0].children[0].ns).toBeUndefined()
+    // #7330
+    expect(vnode.children[0].children[1].ns).toBe('svg')
   })
 
   // #6642
Repository: electron/electron
Pull request: build: upgrade yarn to 4.12.0

Backport of #49176

See that PR for details.


Notes: <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->none


Changed files:
filename: .yarnrc.yml
patch: @@ -9,4 +9,4 @@ npmMinimalAgeGate: 10080
 npmPreapprovedPackages:
   - "@electron/*"
 
-yarnPath: .yarn/releases/yarn-4.11.0.cjs
+yarnPath: .yarn/releases/yarn-4.12.0.cjs

filename: DEPS
patch: @@ -152,7 +152,7 @@ hooks = [
     'action': [
       'python3',
       '-c',
-      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.11.0.cjs", "install", "--immutable"]);',
+      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.12.0.cjs", "install", "--immutable"]);',
     ],
   },
   {

filename: package.json
patch: @@ -141,7 +141,7 @@
     "abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
     "minimist@npm:~0.0.1": "0.2.4"
   },
-  "packageManager": "yarn@4.11.0",
+  "packageManager": "yarn@4.12.0",
   "workspaces": [
     "spec",
     "spec/fixtures/native-addon/*"

filename: script/yarn.js
patch: @@ -1,6 +1,6 @@
 const path = require('node:path');
 
-exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.11.0.cjs');
+exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.12.0.cjs');
 
 if (require.main === module) {
   require(exports.YARN_SCRIPT_PATH);
Repository: ollama/ollama
Pull request: Update gpu.md

changed Laptop to Linux since it does not only affect laptop user but Linux user in general

Changed files:
filename: docs/gpu.md
patch: @@ -38,7 +38,7 @@ Numeric IDs may be used, however ordering may vary, so UUIDs are more reliable.
 You can discover the UUID of your GPUs by running `nvidia-smi -L` If you want to
 ignore the GPUs and force CPU usage, use an invalid GPU ID (e.g., "-1")
 
-### Laptop Suspend Resume
+### Linux Suspend Resume
 
 On linux, after a suspend/resume cycle, sometimes Ollama will fail to discover
 your NVIDIA GPU, and fallback to running on the CPU.  You can workaround this
Repository: electron/electron
Pull request: build: upgrade yarn to 4.12.0

> [!IMPORTANT]
> Please note that code reviews and merges will be delayed during our [quiet period in December](https://www.electronjs.org/blog/dec-quiet-period-25) and might not happen until January.
- Resolves #49170
This PR upgrades yarn from 4.11.0 to 4.12.0.

#### Description of Change

<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.

Contributors guide: https://github.com/electron/electron/blob/main/CONTRIBUTING.md
-->

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included and stakeholders cc'd
- [ ] `npm test` passes
- [x] [PR release notes](https://github.com/electron/clerk/blob/main/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/main/README.md#examples).

#### Release Notes

Notes: <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->none


Changed files:
filename: .yarnrc.yml
patch: @@ -9,4 +9,4 @@ npmMinimalAgeGate: 10080
 npmPreapprovedPackages:
   - "@electron/*"
 
-yarnPath: .yarn/releases/yarn-4.11.0.cjs
+yarnPath: .yarn/releases/yarn-4.12.0.cjs

filename: DEPS
patch: @@ -152,7 +152,7 @@ hooks = [
     'action': [
       'python3',
       '-c',
-      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.11.0.cjs", "install", "--immutable"]);',
+      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.12.0.cjs", "install", "--immutable"]);',
     ],
   },
   {

filename: package.json
patch: @@ -140,7 +140,7 @@
     "abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
     "minimist@npm:~0.0.1": "0.2.4"
   },
-  "packageManager": "yarn@4.11.0",
+  "packageManager": "yarn@4.12.0",
   "workspaces": [
     ".github/workflows",
     "spec",

filename: script/yarn.js
patch: @@ -1,6 +1,6 @@
 const path = require('node:path');
 
-exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.11.0.cjs');
+exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.12.0.cjs');
 
 if (require.main === module) {
   require(exports.YARN_SCRIPT_PATH);
Repository: electron/electron
Pull request: build: upgrade yarn to 4.12.0

Backport of #49176

See that PR for details.


Notes: <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->none


Changed files:
filename: .yarnrc.yml
patch: @@ -9,4 +9,4 @@ npmMinimalAgeGate: 10080
 npmPreapprovedPackages:
   - "@electron/*"
 
-yarnPath: .yarn/releases/yarn-4.11.0.cjs
+yarnPath: .yarn/releases/yarn-4.12.0.cjs

filename: DEPS
patch: @@ -152,7 +152,7 @@ hooks = [
     'action': [
       'python3',
       '-c',
-      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.11.0.cjs", "install", "--immutable"]);',
+      'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["node", ".yarn/releases/yarn-4.12.0.cjs", "install", "--immutable"]);',
     ],
   },
   {

filename: package.json
patch: @@ -140,7 +140,7 @@
     "abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
     "minimist@npm:~0.0.1": "0.2.4"
   },
-  "packageManager": "yarn@4.11.0",
+  "packageManager": "yarn@4.12.0",
   "workspaces": [
     "spec",
     "spec/fixtures/native-addon/*"

filename: script/yarn.js
patch: @@ -1,6 +1,6 @@
 const path = require('node:path');
 
-exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.11.0.cjs');
+exports.YARN_SCRIPT_PATH = path.resolve(__dirname, '..', '.yarn/releases/yarn-4.12.0.cjs');
 
 if (require.main === module) {
   require(exports.YARN_SCRIPT_PATH);
Repository: ggml-org/llama.cpp
Pull request: ggml : use a simple std::thread in AMX without OpenMP

Disabling OpenMP generally provides better inference performance (at least in my testing) but the loading becomes slightly slower.

Benchmark results for `convert_B_packed_format()`:

Before this commit:

         N      K |  No OpenMP     OpenMP |    Diff |  Speedup
    ------------------------------------------------------------
       512   2880 |    640.9us    263.5us |  -58.9% |    0.41x
      2880   4096 |     2.55ms    261.7us |  -89.8% |    0.10x
    201088   2880 |   256.44ms    21.61ms |  -91.6% |    0.08x
    ------------------------------------------------------------

    Total: 325.43ms vs 31.05ms

After:

         N      K |  No OpenMP     OpenMP |    Diff |  Speedup
    ------------------------------------------------------------
       512   2880 |     1.49ms    263.5us |  -82.3% |    0.18x
      2880   4096 |     1.55ms    261.7us |  -83.1% |    0.17x
    201088   2880 |    24.03ms    21.61ms |  -10.1% |    0.90x
    ------------------------------------------------------------

    Total: 78.97ms vs 31.05ms

Tested with unsloth/gpt-oss-20b-GGUF:Q4_K_M.


Changed files:
filename: ggml/src/ggml-cpu/amx/common.h
patch: @@ -9,6 +9,8 @@
 
 #if defined(GGML_USE_OPENMP)
 #include <omp.h>
+#else
+#include <thread>
 #endif
 
 #define TILE_M 16
@@ -56,18 +58,40 @@ inline void balance211(T n, T nth, T ith, T& n_start, T& n_end) {
 }
 
 template <typename func_t>
-inline void parallel_for(int n, const func_t& f) {
+inline void parallel_for(int n, const func_t & f) {
+    if (n <= 0) {
+        return;
+    }
 #if defined(GGML_USE_OPENMP)
-#pragma omp parallel
-{
-    int nth = omp_get_num_threads();
-    int ith = omp_get_thread_num();
-    int tbegin, tend;
-    balance211(n, nth, ith, tbegin, tend);
-    f(tbegin, tend);
-}
+    #pragma omp parallel
+    {
+        int nth = omp_get_num_threads();
+        int ith = omp_get_thread_num();
+        int tbegin, tend;
+        balance211(n, nth, ith, tbegin, tend);
+        f(tbegin, tend);
+    }
 #else
-    f(0, n);
+    int nth = std::thread::hardware_concurrency();
+    if (nth <= 1) {
+        f(0, n);
+        return;
+    }
+    if (nth > n) {
+        nth = n;
+    }
+    std::vector<std::thread> threads;
+    threads.reserve(nth);
+    for (int ith = 0; ith < nth; ++ith) {
+        threads.emplace_back([&f, n, ith, nth] {
+            int tbegin, tend;
+            balance211(n, nth, ith, tbegin, tend);
+            f(tbegin, tend);
+        });
+    }
+    for (auto & t : threads) {
+        t.join();
+    }
 #endif
 }
Repository: huggingface/transformers
Pull request: fix error: 'BlockMask' object has no attribute 'dtype' for lasr model

It returns error `AttributeError: 'BlockMask' object has no attribute 'dtype'` when running test case:
`pytest -rA tests/models/lasr/test_modeling_lasr.py::LasrEncoderModelTest::test_flex_attention_with_grads`. This PR will fix this bug.
@eustlb @ebezzam @vasqu pls help review

Changed files:
filename: src/transformers/models/lasr/modeling_lasr.py
patch: @@ -421,7 +421,8 @@ class LasrPreTrainedModel(PreTrainedModel):
     _no_split_modules = ["LasrEncoderBlock"]
     _supports_flat_attention_mask = True
     _supports_sdpa = True
-    _supports_flex_attn = True
+    # padding is incompatible with flex attention as the resulting mask cannot be used to apply padding
+    _supports_flex_attn = False
 
     # TODO: @eustlb, add support when flash attention supports custom attention bias
     _supports_flash_attn = False

filename: src/transformers/models/lasr/modular_lasr.py
patch: @@ -426,6 +426,9 @@ def forward(
 
 
 class LasrPreTrainedModel(ParakeetPreTrainedModel):
+    # padding is incompatible with flex attention as the resulting mask cannot be used to apply padding
+    _supports_flex_attn = False
+
     def _init_weights(self, module):
         PreTrainedModel._init_weights(module)
Repository: facebook/react
Pull request: [Fizz] Remove globals from external runtime

We never emit any inline functions when we use external runtime so this global shouldn't be needed.

Changed files:
filename: packages/react-dom-bindings/src/server/ReactDOMServerExternalRuntime.js
patch: @@ -14,13 +14,6 @@ import {
   completeSegment,
 } from './fizz-instruction-set/ReactDOMFizzInstructionSetExternalRuntime';
 
-if (!window.$RC) {
-  // TODO: Eventually remove, we currently need to set these globals for
-  // compatibility with ReactDOMFizzInstructionSet
-  window.$RC = completeBoundary;
-  window.$RM = new Map();
-}
-
 if (document.body != null) {
   if (document.readyState === 'loading') {
     installFizzInstrObserver(document.body);
Repository: nodejs/node
Pull request: tools: update nixpkgs-unstable to f997fa0f94fb1ce55bccb97f60d41412ae8

This is an automated update of nixpkgs-unstable to f997fa0f94fb1ce55bccb97f60d41412ae8.

Changed files:
filename: tools/nix/pkgs.nix
patch: @@ -1,10 +1,10 @@
 arg:
 let
   repo = "https://github.com/NixOS/nixpkgs";
-  rev = "a672be65651c80d3f592a89b3945466584a22069";
+  rev = "f997fa0f94fb1ce55bccb97f60d41412ae8fde4c";
   nixpkgs = import (builtins.fetchTarball {
     url = "${repo}/archive/${rev}.tar.gz";
-    sha256 = "1p2g7g9vlpv14xz6rrlb8i6w8sxki8i35m15phjiwfrqaf6x508i";
+    sha256 = "16x3n08n0ffqn8m2h73vk2wr0ssa8lsfvq2yc1gfd59gsss47n3m";
   }) arg;
 in
 nixpkgs
Repository: ollama/ollama
Pull request: added source.go for syntax highlighting on code blocks

the code blocks were just shown as raw preformatted text with the `golang` code block.

I changed the code block info string to the value of the `go` language `tm_scope` from linguist in https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml which works fine on my end.

I hope the highlight issue is a global thing, i've tested it on another browser.

I can update the other files if this is accepted, thank you.

Changed files:
filename: docs/template.md
patch: @@ -111,7 +111,7 @@ Keep the following tips and best practices in mind when working with Go template
 
 ChatML is a popular template format. It can be used for models such as Databrick's DBRX, Intel's Neural Chat, and Microsoft's Orca 2.
 
-```gotmpl
+```go
 {{- range .Messages }}
{{ .Role }}
 {{ .Content }}

 {{ end }}
assistant
@@ -125,7 +125,7 @@ Tools support can be added to a model by adding a `{{ .Tools }}` node to the tem
 
 Mistral v0.3 and Mixtral 8x22B supports tool calling.
 
-```gotmpl
+```go
 {{- range $index, $_ := .Messages }}
 {{- if eq .Role "user" }}
 {{- if and (le (len (slice $.Messages $index)) 2) $.Tools }}[AVAILABLE_TOOLS] {{ json $.Tools }}[/AVAILABLE_TOOLS]
@@ -151,7 +151,7 @@ Fill-in-middle support can be added to a model by adding a `{{ .Suffix }}` node
 
 CodeLlama [7B](https://ollama.com/library/codellama:7b-code) and [13B](https://ollama.com/library/codellama:13b-code) code completion models support fill-in-middle.
 
-```gotmpl
+```go
 <PRE> {{ .Prompt }} <SUF>{{ .Suffix }} <MID>
 ```