Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions llama_cpp/llama.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,21 @@ def __init__(
Returns:
A Llama instance.
"""
if "embeddings" in kwargs:
# `embeddings` (plural) is the spelling used by llama.cpp's context
# params and by `Llama.__getstate__`, so it is a natural thing to
# pass here. Accept it as an alias instead of dropping it.
embedding = bool(kwargs.pop("embeddings"))

if kwargs:
warnings.warn(
"Llama.__init__ got unexpected keyword argument(s): "
f"{', '.join(sorted(kwargs))}. They are ignored. Pass only "
"arguments that appear in the Llama.__init__ signature.",
UserWarning,
stacklevel=2,
)

self.verbose = verbose
self._stack = contextlib.ExitStack()

Expand Down
21 changes: 19 additions & 2 deletions llama_cpp/server/model.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

import json
import warnings

from typing import Dict, Optional, Union, List

Expand Down Expand Up @@ -252,6 +253,24 @@ def load_llama_from_model_settings(settings: ModelSettings) -> llama_cpp.Llama:

import functools

# `rpc_servers` and `mul_mat_q` are not parameters of Llama.__init__:
# llama_model_params no longer carries rpc_servers and mul_mat_q is long
# gone upstream. Passing them here only fed Llama's **kwargs sink, so a
# user who set them got a silent no-op. Say so instead.
if settings.rpc_servers:
warnings.warn(
"The `rpc_servers` server setting is no longer supported by "
"llama.cpp's model params and has no effect.",
UserWarning,
stacklevel=2,
)
if not settings.mul_mat_q:
warnings.warn(
"The `mul_mat_q` server setting is obsolete and has no effect.",
UserWarning,
stacklevel=2,
)

kwargs = {}

if settings.hf_model_repo_id is not None:
Expand All @@ -275,7 +294,6 @@ def load_llama_from_model_settings(settings: ModelSettings) -> llama_cpp.Llama:
use_mmap=settings.use_mmap,
use_mlock=settings.use_mlock,
kv_overrides=kv_overrides,
rpc_servers=settings.rpc_servers,
# Context Params
seed=settings.seed,
n_ctx=settings.n_ctx,
Expand All @@ -291,7 +309,6 @@ def load_llama_from_model_settings(settings: ModelSettings) -> llama_cpp.Llama:
yarn_beta_fast=settings.yarn_beta_fast,
yarn_beta_slow=settings.yarn_beta_slow,
yarn_orig_ctx=settings.yarn_orig_ctx,
mul_mat_q=settings.mul_mat_q,
logits_all=settings.logits_all,
embedding=settings.embedding,
offload_kqv=settings.offload_kqv,
Expand Down
5 changes: 3 additions & 2 deletions llama_cpp/server/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class ModelSettings(BaseSettings):
)
rpc_servers: Optional[str] = Field(
default=None,
description="comma separated list of rpc servers for offloading",
description="Deprecated and ignored: llama.cpp's model params no longer accept a list of rpc servers.",
)
# Context Params
seed: int = Field(
Expand Down Expand Up @@ -96,7 +96,8 @@ class ModelSettings(BaseSettings):
yarn_beta_slow: float = Field(default=1.0)
yarn_orig_ctx: int = Field(default=0)
mul_mat_q: bool = Field(
default=True, description="if true, use experimental mul_mat_q kernels"
default=True,
description="Deprecated and ignored: the experimental mul_mat_q kernels were removed upstream.",
)
logits_all: bool = Field(default=True, description="Whether to return logits.")
embedding: bool = Field(default=False, description="Whether to use embeddings.")
Expand Down
Loading