helloadhavan/github_issues huggingface dataset:
Repository: huggingface/transformers
Pull request: Adds Universal Intelligence to awesome transformers documentation

# What does this PR do?

Adds [Universal Intelligence](https://github.com/blueraai/universal-intelligence) to `awesome-transformers.md` documentation

## Who can review?

Documentation: @stevhliu @LysandreJik 


Changed files:
filename: awesome-transformers.md
patch: @@ -9,6 +9,12 @@ In this list, we showcase incredibly impactful and novel projects that have push
 adding other projects to the list. If you believe a project should be here and it's not, then please, open a PR
 to add it.
 
+## [◉ Universal Intelligence](https://github.com/blueraai/universal-intelligence)
+
+[Universal Intelligence](https://github.com/blueraai/universal-intelligence) aims to standardize models, tools, and agents —transforming them into simple, composable, portable, interoperable, framework-agnostic, hardware-agnostic interfaces (through auto-negotiation and resource sharing); for fast and accessible development of AI applications.
+
+Keywords: Protocol, Open-source, LLMs, Large Language Models, Agents, Low-code
+
 ## [gpt4all](https://github.com/nomic-ai/gpt4all)
 
 [gpt4all](https://github.com/nomic-ai/gpt4all) is an ecosystem of open-source chatbots trained on massive collections of clean assistant data including code, stories and dialogue. It offers open-source, large language models such as LLaMA and GPT-J trained in an assistant-style.
Repository: ggml-org/llama.cpp
Pull request: webui: fix code copy stripping XML/HTML tags

## Summary
- Fixes code block copy stripping XML/HTML/JSX tags (e.g., `<book>`, `<div>`, `<Component />`)
- The `DOMParser` was treating code as HTML and stripping tags via `textContent`
- Since `rawCode` comes from `element.textContent` (which already decodes HTML entities), the parsing step was redundant

Fixes #18423

Changed files:
filename: tools/server/webui/src/lib/utils/clipboard.ts
patch: @@ -65,10 +65,7 @@ export async function copyCodeToClipboard(
 	successMessage = 'Code copied to clipboard',
 	errorMessage = 'Failed to copy code'
 ): Promise<boolean> {
-	const doc = new DOMParser().parseFromString(rawCode, 'text/html');
-	const decodedCode = doc.body.textContent ?? rawCode;
-
-	return copyToClipboard(decodedCode, successMessage, errorMessage);
+	return copyToClipboard(rawCode, successMessage, errorMessage);
 }
 
 /**
Repository: vercel/next.js
Pull request: add a message about Turbopack tracing

### What?

add a note that Turbopack tracing is enabled.

Closes PACK-5710

Changed files:
filename: crates/napi/src/next_api/project.rs
patch: @@ -370,6 +370,9 @@ pub fn project_new(
     }
     let mut compress = Compression::None;
     if let Some(mut trace) = trace {
+        println!("Turbopack tracing enabled with targets: {trace}");
+        println!("  Note that this might have a small performance impact.");
+
         trace = trace
             .split(",")
             .filter_map(|item| {
Repository: nodejs/node
Pull request: src: enhance error messages for unknown options

Before this PR, the error was being printed in a malformed way, containing part of the JSON content

<img width="620" alt="Screenshot 2025-06-11 at 15 18 05" src="https://github.com/user-attachments/assets/8a3a78a3-95f7-44d7-9f99-1f5fdeb5fc1c" />

Changed files:
filename: src/node_config_file.cc
patch: @@ -200,7 +200,7 @@ ParseResult ConfigReader::ParseOptions(
     } else {
       FPrintF(stderr,
               "Unknown or not allowed option %s for namespace %s\n",
-              option_key.data(),
+              option_key,
               namespace_name.c_str());
       return ParseResult::InvalidContent;
     }

filename: test/parallel/test-config-file.js
patch: @@ -154,7 +154,7 @@ test('should throw at unknown flag', async () => {
     fixtures.path('rc/unknown-flag.json'),
     '-p', '"Hello, World!"',
   ]);
-  match(result.stderr, /Unknown or not allowed option some-unknown-flag/);
+  match(result.stderr, /Unknown or not allowed option some-unknown-flag for namespace nodeOptions/);
   strictEqual(result.stdout, '');
   strictEqual(result.code, 9);
 });
@@ -166,7 +166,7 @@ test('should throw at flag not available in NODE_OPTIONS', async () => {
     fixtures.path('rc/not-node-options-flag.json'),
     '-p', '"Hello, World!"',
   ]);
-  match(result.stderr, /Unknown or not allowed option test/);
+  match(result.stderr, /Unknown or not allowed option test for namespace nodeOptions/);
   strictEqual(result.stdout, '');
   strictEqual(result.code, 9);
 });
@@ -401,7 +401,7 @@ describe('namespace-scoped options', () => {
       fixtures.path('rc/unknown-flag-namespace.json'),
       '-p', '"Hello, World!"',
     ]);
-    match(result.stderr, /Unknown or not allowed option unknown-flag/);
+    match(result.stderr, /Unknown or not allowed option unknown-flag for namespace testRunner/);
     strictEqual(result.stdout, '');
     strictEqual(result.code, 9);
   });
Repository: electron/electron
Pull request: fix: window content protection on older Windows versions

Backport of #47856

See that PR for details.


Notes: Fixed an issue on some older Windows versions where `setContentProtection` didn't work as expected.


Changed files:
filename: shell/browser/native_window_views.cc
patch: @@ -1249,12 +1249,7 @@ void NativeWindowViews::SetOpacity(const double opacity) {
 #if BUILDFLAG(IS_WIN)
   const double boundedOpacity = std::clamp(opacity, 0.0, 1.0);
   HWND hwnd = GetAcceleratedWidget();
-  if (!layered_) {
-    LONG ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
-    ex_style |= WS_EX_LAYERED;
-    ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style);
-    layered_ = true;
-  }
+  SetLayered();
   ::SetLayeredWindowAttributes(hwnd, 0, boundedOpacity * 255, LWA_ALPHA);
   opacity_ = boundedOpacity;
 #else
@@ -1669,6 +1664,16 @@ void NativeWindowViews::UpdateThickFrame() {
     FlipWindowStyle(GetAcceleratedWidget(), resizable_, WS_THICKFRAME);
   }
 }
+
+void NativeWindowViews::SetLayered() {
+  HWND hwnd = GetAcceleratedWidget();
+  if (!layered_) {
+    LONG ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
+    ex_style |= WS_EX_LAYERED;
+    ::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style);
+    layered_ = true;
+  }
+}
 #endif
 
 void NativeWindowViews::OnWidgetActivationChanged(views::Widget* changed_widget,

filename: shell/browser/native_window_views.h
patch: @@ -171,6 +171,7 @@ class NativeWindowViews : public NativeWindow,
 #if BUILDFLAG(IS_WIN)
   TaskbarHost& taskbar_host() { return taskbar_host_; }
   void UpdateThickFrame();
+  void SetLayered();
 #endif
 
   SkColor overlay_button_color() const { return overlay_button_color_; }

filename: shell/browser/ui/win/electron_desktop_window_tree_host_win.cc
patch: @@ -167,6 +167,11 @@ void ElectronDesktopWindowTreeHostWin::UpdateAllowScreenshots() {
   if (allowed == allow_screenshots_)
     return;
 
+  // On some older Windows versions, setting the display affinity
+  // to WDA_EXCLUDEFROMCAPTURE won't prevent the window from being
+  // captured - setting WS_EX_LAYERED mitigates this issue.
+  if (base::win::GetVersion() < base::win::Version::WIN11_22H2)
+    native_window_view_->SetLayered();
   ::SetWindowDisplayAffinity(
       GetAcceleratedWidget(),
       allow_screenshots_ ? WDA_NONE : WDA_EXCLUDEFROMCAPTURE);
Repository: ggml-org/llama.cpp
Pull request: ggml-cuda: remove unneccesary prints on ggml_cuda_init


Changed files:
filename: ggml/src/ggml-cuda/ggml-cuda.cu
patch: @@ -201,16 +201,6 @@ static ggml_cuda_device_info ggml_cuda_init() {
     GGML_ASSERT(info.device_count <= GGML_CUDA_MAX_DEVICES);
 
     int64_t total_vram = 0;
-#ifdef GGML_CUDA_FORCE_MMQ
-    GGML_LOG_INFO("%s: GGML_CUDA_FORCE_MMQ:    yes\n", __func__);
-#else
-    GGML_LOG_INFO("%s: GGML_CUDA_FORCE_MMQ:    no\n", __func__);
-#endif // GGML_CUDA_FORCE_MMQ
-#ifdef GGML_CUDA_FORCE_CUBLAS
-    GGML_LOG_INFO("%s: GGML_CUDA_FORCE_CUBLAS: yes\n", __func__);
-#else
-    GGML_LOG_INFO("%s: GGML_CUDA_FORCE_CUBLAS: no\n", __func__);
-#endif // GGML_CUDA_FORCE_CUBLAS
     GGML_LOG_INFO("%s: found %d " GGML_CUDA_NAME " devices:\n", __func__, info.device_count);
 
     std::vector<std::pair<int, std::string>> turing_devices_without_mma;
Repository: ollama/ollama
Pull request: add phi 3 medium & moondream 2 in readme


Changed files:
filename: README.md
patch: @@ -51,15 +51,17 @@ Here are some example models that can be downloaded:
 | ------------------ | ---------- | ----- | ------------------------------ |
 | Llama 3            | 8B         | 4.7GB | `ollama run llama3`            |
 | Llama 3            | 70B        | 40GB  | `ollama run llama3:70b`        |
-| Phi-3              | 3.8B       | 2.3GB | `ollama run phi3`              |
+| Phi 3 Mini         | 3.8B       | 2.3GB | `ollama run phi3`              |
+| Phi 3 Medium       | 14B        | 7.9GB | `ollama run phi3:medium`       |
+| Gemma              | 2B         | 1.4GB | `ollama run gemma:2b`          |
+| Gemma              | 7B         | 4.8GB | `ollama run gemma:7b`          |
 | Mistral            | 7B         | 4.1GB | `ollama run mistral`           |
+| Moondream 2        | 1.4B       | 829MB | `ollama run moondream`         |
 | Neural Chat        | 7B         | 4.1GB | `ollama run neural-chat`       |
 | Starling           | 7B         | 4.1GB | `ollama run starling-lm`       |
 | Code Llama         | 7B         | 3.8GB | `ollama run codellama`         |
 | Llama 2 Uncensored | 7B         | 3.8GB | `ollama run llama2-uncensored` |
 | LLaVA              | 7B         | 4.5GB | `ollama run llava`             |
-| Gemma              | 2B         | 1.4GB | `ollama run gemma:2b`          |
-| Gemma              | 7B         | 4.8GB | `ollama run gemma:7b`          |
 | Solar              | 10.7B      | 6.1GB | `ollama run solar`             |
 
 > Note: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.
Repository: facebook/react
Pull request: fix[scripts/devtools/publish-release]: parse version list instead of handling 404

Discovered yesterday while was publishing a new release.

NPM `10.x.x` changed the text for 404 errors, so this check was failing. Instead of handling 404 as a signal, I think its better to just parse the whole list of versions and check if the new one is already there.

Changed files:
filename: scripts/devtools/publish-release.js
patch: @@ -82,18 +82,13 @@ async function publishToNPM() {
     // If so we might be resuming from a previous run.
     // We could infer this by comparing the build-info.json,
     // But for now the easiest way is just to ask if this is expected.
-    const info = await execRead(`npm view ${npmPackage}@${version}`)
-      // Early versions of npm view gives empty response, but newer versions give 404 error.
-      // Catch the error to keep it consistent.
-      .catch(childProcessError => {
-        if (childProcessError.stderr.startsWith('npm ERR! code E404')) {
-          return null;
-        }
-
-        throw childProcessError;
-      });
+    const versionListJSON = await execRead(
+      `npm view ${npmPackage} versions --json`
+    );
+    const versionList = JSON.parse(versionListJSON);
+    const versionIsAlreadyPublished = versionList.includes(version);
 
-    if (info) {
+    if (versionIsAlreadyPublished) {
       console.log('');
       console.log(
         `${npmPackage} version ${chalk.bold(
Repository: nodejs/node
Pull request: src,test: fix config file parsing for flags defaulted to true

Fixes #58929

This PR fixes config file parsing for boolean options that are enabled by default. 

In my last [PR](https://github.com/nodejs/node/pull/58039), I did a quick fix for boolean values. Such a fix missed the case where the flag is `true` by default, as `--warnings`. To ensure we're disabling a flag, we have to output that flag prefixed with `--no-`. 

Changed files:
filename: src/node_config_file.cc
patch: @@ -55,6 +55,10 @@ ParseResult ConfigReader::ProcessOptionValue(
       if (result) {
         // If the value is true, we need to set the flag
         output->push_back(option_name);
+      } else {
+        // Ensure negation is made putting the "--no-" prefix
+        output->push_back("--no-" +
+                          option_name.substr(2, option_name.size() - 2));
       }
 
       break;

filename: test/fixtures/rc/warnings-false.json
patch: @@ -0,0 +1,5 @@
+{
+  "nodeOptions": {
+    "warnings": false
+  }
+}

filename: test/parallel/test-config-file.js
patch: @@ -60,6 +60,17 @@ test('should parse boolean flag', async () => {
   strictEqual(result.code, 0);
 });
 
+test('should parse boolean flag defaulted to true', async () => {
+  const result = await spawnPromisified(process.execPath, [
+    '--experimental-config-file',
+    fixtures.path('rc/warnings-false.json'),
+    '-p', 'process.emitWarning("A warning")',
+  ]);
+  strictEqual(result.stderr, '');
+  strictEqual(result.stdout, 'undefined\n');
+  strictEqual(result.code, 0);
+});
+
 test('should throw an error when a flag is declared twice', async () => {
   const result = await spawnPromisified(process.execPath, [
     '--no-warnings',
Repository: facebook/react
Pull request: [playground] Decouple playground from compiler

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* __->__ #31081

Currently the playground is setup as a linked workspace for the
compiler which complicates our yarn workspace setup and means that snap
can sometimes pull in a different version of react than was otherwise
specified.

There's no real reason to have these workspaces combined so let's split
them up.

Changed files:
filename: compiler/package.json
patch: @@ -15,7 +15,7 @@
     "start": "yarn workspace playground run start",
     "next": "yarn workspace playground run dev",
     "build": "yarn workspaces run build",
-    "dev": "echo DEPRECATED: use `cd ../../apps/playground && yarn dev` instead",
+    "dev": "echo 'DEPRECATED: use `cd apps/playground && yarn dev` instead!' && sleep 5 && cd apps/playground && yarn dev",
     "test": "yarn workspaces run test",
     "snap": "yarn workspace babel-plugin-react-compiler run snap",
     "snap:build": "yarn workspace snap run build",
@@ -34,6 +34,7 @@
     "@tsconfig/strictest": "^2.0.5",
     "concurrently": "^7.4.0",
     "folder-hash": "^4.0.4",
+    "object-assign": "^4.1.1",
     "ora": "5.4.1",
     "prettier": "^3.3.3",
     "prettier-plugin-hermes-parser": "^0.23.0",
Repository: denoland/deno
Pull request: fix(ext/web): handle null options in removeEventListener

Fixes #20101

`normalizeEventHandlerOptions` (used by `removeEventListener`) throws
`TypeError: Cannot read properties of null` when `null` is passed as
the options parameter. Per the DOM spec, `null` should flatten to
`capture: false`.

Note: the original reported issue (capture not being compared at all
during removal) was already fixed in the current codebase — the old
`ArrayPrototypeFilter` that removed by callback only has been replaced
with a proper loop checking both callback and capture.

- **`ext/web/02_event.js`**: Add `null` guard to
  `normalizeEventHandlerOptions`
- **`tests/unit/event_target_test.ts`**: Add test covering
  `removeEventListener` with `null` options, including verifying it
  doesn't remove a capture listener

Changed files:
filename: ext/web/02_event.js
patch: @@ -834,7 +834,10 @@ function invokeEventListeners(tuple, eventImpl) {
 function normalizeEventHandlerOptions(
   options,
 ) {
-  if (typeof options === "boolean" || typeof options === "undefined") {
+  if (
+    typeof options === "boolean" || typeof options === "undefined" ||
+    options === null
+  ) {
     return {
       capture: Boolean(options),
     };

filename: tests/unit/event_target_test.ts
patch: @@ -132,6 +132,31 @@ Deno.test(function removingNullEventListenerShouldSucceed() {
   assertEquals(document.removeEventListener("x", null), undefined);
 });
 
+Deno.test(function removeEventListenerWithNullOptions() {
+  const target = new EventTarget();
+  let callCount = 0;
+  const listener = () => {
+    ++callCount;
+  };
+
+  // null options should be treated as capture: false
+  target.addEventListener("test", listener);
+  // @ts-expect-error: testing runtime behavior with null (not in TS types but valid per DOM spec)
+  target.removeEventListener("test", listener, null);
+  target.dispatchEvent(new Event("test"));
+  assertEquals(callCount, 0);
+
+  // null options should not remove a capture listener
+  target.addEventListener("test", listener, true);
+  // @ts-expect-error: testing runtime behavior with null (not in TS types but valid per DOM spec)
+  target.removeEventListener("test", listener, null);
+  target.dispatchEvent(new Event("test"));
+  assertEquals(callCount, 1);
+
+  // cleanup
+  target.removeEventListener("test", listener, true);
+});
+
 Deno.test(function constructedEventTargetUseObjectPrototype() {
   const target = new EventTarget();
   const event = new Event("toString", { bubbles: true, cancelable: false });
Repository: ollama/ollama
Pull request: add Ctrl + W shortcut

Added "Ctrl + W" in shortcuts. "Ctrl + W" deletes the word before the cursor

Resolves https://github.com/ollama/ollama/issues/4534

Changed files:
filename: cmd/interactive.go
patch: @@ -138,6 +138,7 @@ func generateInteractive(cmd *cobra.Command, opts runOptions) error {
 		fmt.Fprintln(os.Stderr, "   Alt + f            Move forward (right) one word")
 		fmt.Fprintln(os.Stderr, "  Ctrl + k            Delete the sentence after the cursor")
 		fmt.Fprintln(os.Stderr, "  Ctrl + u            Delete the sentence before the cursor")
+		fmt.Fprintln(os.Stderr, "  Ctrl + w            Delete the word before the cursor")
 		fmt.Fprintln(os.Stderr, "")
 		fmt.Fprintln(os.Stderr, "  Ctrl + l            Clear the screen")
 		fmt.Fprintln(os.Stderr, "  Ctrl + c            Stop the model from responding")
Repository: vercel/next.js
Pull request: [cache components]: show cache components enabled in DevTools

Similar to how in DevTools we show if Turbopack is enabled, this shows that Cache Components is enabled. In the future, we might have a similar CTA to suggest enabling the feature. For now it only shows if it's actually enabled. 

Changed files:
filename: packages/next/src/next-devtools/dev-overlay/menu/panel-router.tsx
patch: @@ -92,6 +92,11 @@ const MenuPanel = () => {
               value: <ChevronRight />,
               onClick: () => setPanel('turbo-info'),
             },
+        !!process.env.__NEXT_CACHE_COMPONENTS && {
+          title: 'Cache Components is enabled.',
+          label: 'Cache Components',
+          value: 'Enabled',
+        },
         isAppRouter && {
           label: 'Route Info',
           value: <ChevronRight />,

filename: test/development/client-dev-overlay/index.test.ts
patch: @@ -156,3 +156,64 @@ describe('client-dev-overlay', () => {
     }
   })
 })
+
+describe('client-dev-overlay with Cache Components', () => {
+  const { next, isTurbopack } = nextTestSetup({
+    files: {
+      pages: new FileRef(join(__dirname, 'pages')),
+      'next.config.js': `
+        module.exports = {
+          cacheComponents: true,
+        }
+      `,
+    },
+    env: {
+      __NEXT_DEV_INDICATOR_COOLDOWN_MS: '0',
+    },
+  })
+
+  it('should show Cache Components as enabled in the devtools menu', async () => {
+    const browser = await next.browser('/')
+
+    const devToolsIndicator = await assertHasDevToolsIndicator(browser)
+    try {
+      await devToolsIndicator.click()
+    } catch (cause) {
+      const error = new Error('No DevTools Indicator to open.', { cause })
+      throw error
+    }
+
+    const devtoolsMenu = await browser.elementByCss('#nextjs-dev-tools-menu')
+    const menuText = await devtoolsMenu.innerText()
+
+    // Should include Cache Components
+    expect(menuText).toContain('Cache Components')
+    expect(menuText).toContain('Enabled')
+
+    // Should also include Turbopack info
+    if (isTurbopack) {
+      expect(menuText).toMatchInlineSnapshot(`
+       "Issues
+       1
+       Route
+       Static
+       Turbopack
+       Enabled
+       Cache Components
+       Enabled
+       Preferences"
+      `)
+    } else {
+      expect(menuText).toMatchInlineSnapshot(`
+       "Issues
+       1
+       Route
+       Static
+       Try Turbopack
+       Cache Components
+       Enabled
+       Preferences"
+      `)
+    }
+  })
+})
Repository: facebook/react
Pull request: [react-native] Add unit test to ReactNativeAttributePayload

## Summary

I'm looking at cleaning up some unnecessary manual property flattening in React Native and wanted to verify this behaviour is working as expected, where properties from nested objects will always overwrite properties from the base object.

## How did you test this change?

Unit tests

Changed files:
filename: packages/react-native-renderer/src/__tests__/ReactNativeAttributePayload-test.internal.js
patch: @@ -204,6 +204,19 @@ describe('ReactNativeAttributePayload', () => {
     ).toEqual({foo: null}); // this should ideally be null. heuristic.
   });
 
+  it('handles attributes defined multiple times', () => {
+    const validAttributes = {foo: true, style: {foo: true}};
+    expect(diff({}, {foo: 4, style: {foo: 2}}, validAttributes)).toEqual({
+      foo: 2,
+    });
+    expect(diff({foo: 4}, {style: {foo: 2}}, validAttributes)).toEqual({
+      foo: 2,
+    });
+    expect(diff({style: {foo: 2}}, {foo: 4}, validAttributes)).toEqual({
+      foo: 4,
+    });
+  });
+
   // Function properties are just markers to native that events should be sent.
   it('should convert functions to booleans', () => {
     // Note that if the property changes from one function to another, we don't
Repository: huggingface/transformers
Pull request: Fix TypeError: find_adapter_config_file() got an unexpected keyword argument '_adapter_model_path'

Fix TypeError: find_adapter_config_file() got an unexpected keyword argument '_adapter_model_path'
- Pass original dict instead of copy to `maybe_load_adapters`

The `adapter_kwargs` is passed to `maybe_load_adapters` as unpacked keyword arguments: Python does not pass the original dictionary, but instead creates a new dictionary inside the function; so the `pop` inside the function does not have the intended behavior.
https://github.com/huggingface/transformers/blob/5db730786d87bde8397a207bd84ae0014054fc37/src/transformers/modeling_utils.py#L4383-L4387
```python
def maybe_load_adapters(
    pretrained_model_name_or_path,
    download_kwargs: DownloadKwargs,
    **adapter_kwargs,
):
    ...
    _adapter_model_path = adapter_kwargs.pop("_adapter_model_path", None)
```

This issue was introduced by PR:
- #41445

Related downstream issue:
- https://github.com/huggingface/trl/issues/4273

Changed files:
filename: src/transformers/integrations/peft.py
patch: @@ -628,7 +628,7 @@ def maybe_load_adapters(
     **adapter_kwargs,
 ):
     if pretrained_model_name_or_path is None or not is_peft_available():
-        return None, pretrained_model_name_or_path
+        return None, pretrained_model_name_or_path, adapter_kwargs
 
     token = download_kwargs.get("token")
 
@@ -670,4 +670,4 @@ def maybe_load_adapters(
             _adapter_model_path = pretrained_model_name_or_path
             pretrained_model_name_or_path = json.load(f)["base_model_name_or_path"]
 
-    return _adapter_model_path, pretrained_model_name_or_path
+    return _adapter_model_path, pretrained_model_name_or_path, adapter_kwargs

filename: src/transformers/modeling_utils.py
patch: @@ -4353,7 +4353,7 @@ def from_pretrained(
         if adapter_kwargs is None:
             adapter_kwargs = {}
 
-        _adapter_model_path, pretrained_model_name_or_path = maybe_load_adapters(
+        _adapter_model_path, pretrained_model_name_or_path, adapter_kwargs = maybe_load_adapters(
             pretrained_model_name_or_path,
             download_kwargs_with_commit,
             **adapter_kwargs,