This is an automated email from the ASF dual-hosted git repository.

ishan pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_10x by this push:
     new c59a289ffea SOLR-17927: Fix naming in vector search support (#3830)
c59a289ffea is described below

commit c59a289ffea770b03b1ff573ae6b7661fcb2fdfa
Author: Chaitali Rajhans <[email protected]>
AuthorDate: Wed Dec 10 20:00:33 2025 +0530

    SOLR-17927: Fix naming in vector search support (#3830)
    
    Co-authored-by: ilariapet <[email protected]>
---
 changelog/unreleased/solr_17927_new.yml            |   8 +
 gradlew.bat                                        | 252 ++++++++++-----------
 settings.gradle                                    |   2 +-
 .../schema/BinaryQuantizedDenseVectorField.java    |   2 +-
 .../org/apache/solr/schema/DenseVectorField.java   |  62 ++++-
 .../schema/ScalarQuantizedDenseVectorField.java    |   4 +-
 .../java/org/apache/solr/search/QParserPlugin.java |   4 +-
 .../AbstractVectorQParserBase.java                 |   2 +-
 .../solr/search/{neural => vector}/KnnQParser.java |   2 +-
 .../{neural => vector}/KnnQParserPlugin.java       |   4 +-
 .../VectorSimilarityQParser.java                   |   2 +-
 .../VectorSimilarityQParserPlugin.java             |   4 +-
 .../search/{neural => vector}/package-info.java    |   4 +-
 .../schema-densevector-codec-hyperparameter.xml    |   6 +-
 .../apache/solr/schema/DenseVectorFieldTest.java   |  26 ++-
 .../search/{neural => vector}/KnnQParserTest.java  |   4 +-
 .../VectorSimilarityQParserTest.java               |   2 +-
 .../solr/collection1/conf/solrconfig.xml           |   9 +-
 solr/modules/{llm => language-models}/README.md    |   2 +-
 solr/modules/{llm => language-models}/build.gradle |   0
 .../{llm => language-models}/gradle.lockfile       |   0
 .../model/SolrTextToVectorModel.java               |   6 +-
 .../textvectorisation/model/package-info.java      |   2 +-
 .../search/TextToVectorQParserPlugin.java          |  10 +-
 .../textvectorisation/search/package-info.java     |   2 +-
 .../store/TextToVectorModelException.java          |   2 +-
 .../store/TextToVectorModelStore.java              |   4 +-
 .../textvectorisation/store/package-info.java      |   2 +-
 .../store/rest/ManagedTextToVectorModelStore.java  |   8 +-
 .../textvectorisation/store/rest/package-info.java |   2 +-
 .../processor/TextToVectorUpdateProcessor.java     |   4 +-
 .../TextToVectorUpdateProcessorFactory.java        |   6 +-
 .../update/processor/package-info.java             |   2 +-
 .../src/java/overview.html                         |   0
 .../src/test-files/log4j2.xml                      |   0
 .../src/test-files/modelExamples/cohere-model.json |   0
 .../modelExamples/dummy-model-ambiguous.json       |   2 +-
 .../modelExamples/dummy-model-unsupported.json     |   2 +-
 .../src/test-files/modelExamples/dummy-model.json  |   7 +
 .../modelExamples/exception-throwing-model.json    |   6 +
 .../modelExamples/huggingface-model.json           |   0
 .../test-files/modelExamples/mistralai-model.json  |   0
 .../src/test-files/modelExamples/openai-model.json |   0
 .../test-files/solr/collection1/conf/schema.xml    |   0
 .../conf/solrconfig-language-models.xml}           |  14 +-
 .../src/test-files/solr/solr.xml                   |   0
 .../languagemodels/TestLanguageModelBase.java}     |  10 +-
 .../model/DummyEmbeddingModel.java                 |   2 +-
 .../model/DummyEmbeddingModelTest.java             |   2 +-
 .../model/ExceptionThrowingEmbeddingModel.java     |   2 +-
 .../search/TextToVectorQParserTest.java            |   8 +-
 .../store/rest/TestModelManager.java               |  10 +-
 .../store/rest/TestModelManagerPersistence.java    |   8 +-
 .../TextToVectorUpdateProcessorFactoryTest.java    |  12 +-
 .../processor/TextToVectorUpdateProcessorTest.java |  10 +-
 .../src/test-files/modelExamples/dummy-model.json  |   7 -
 .../modelExamples/exception-throwing-model.json    |   6 -
 .../pages/update-request-processors.adoc           |   6 +-
 .../query-guide/pages/dense-vector-search.adoc     |  49 ++--
 .../modules/query-guide/pages/other-parsers.adoc   |   2 +-
 .../modules/query-guide/pages/text-to-vector.adoc  |  28 +--
 .../pages/major-changes-in-solr-10.adoc            |   6 +
 62 files changed, 369 insertions(+), 281 deletions(-)

diff --git a/changelog/unreleased/solr_17927_new.yml 
b/changelog/unreleased/solr_17927_new.yml
new file mode 100644
index 00000000000..862f05037c4
--- /dev/null
+++ b/changelog/unreleased/solr_17927_new.yml
@@ -0,0 +1,8 @@
+issue: SOLR-17927
+title: Rename vector search parameters and language model modules
+type: changed
+authors:
+  - name: Ishan Chattopadhyaya
+  - name: Alessandro Benedetti
+  - name: Ilaria Petreti
+  - name: Chaitali Rajhans
\ No newline at end of file
diff --git a/gradlew.bat b/gradlew.bat
index ff65d8f6012..699ee221a92 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,126 +1,126 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem      https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem LUCENE-9471: workaround for gradle leaving junk temp. files behind.
-SET GRADLE_TEMPDIR=%DIRNAME%\.gradle\tmp
-IF NOT EXIST "%GRADLE_TEMPDIR%" MKDIR "%GRADLE_TEMPDIR%"
-SET DEFAULT_JVM_OPTS=%DEFAULT_JVM_OPTS% "-Djava.io.tmpdir=%GRADLE_TEMPDIR%"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-@rem LUCENE-9266: verify and download the gradle wrapper jar if we don't have 
one.
-set GRADLE_WRAPPER_JAR=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-IF NOT EXIST "%GRADLE_WRAPPER_JAR%" (
-    "%JAVA_EXE%" %JAVA_OPTS% 
"%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java"
 "%GRADLE_WRAPPER_JAR%"
-    IF %ERRORLEVEL% EQU 1 goto failWithJvmMessage
-    IF %ERRORLEVEL% NEQ 0 goto fail
-)
-
-@rem Setup the command line
-set CLASSPATH=%GRADLE_WRAPPER_JAR%
-
-@rem START OF LUCENE CUSTOMIZATION
-@rem Generate gradle.properties if they don't exist
-IF NOT EXIST "%APP_HOME%\gradle.properties" (
-  @rem local expansion is needed to check ERRORLEVEL inside control blocks.
-  setlocal enableDelayedExpansion
-  "%JAVA_EXE%" %JAVA_OPTS% 
"%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java"
 "%APP_HOME%\gradle\template.gradle.properties" "%APP_HOME%\gradle.properties"
-  IF %ERRORLEVEL% NEQ 0 goto fail
-  endlocal
-)
-@rem END OF LUCENE CUSTOMIZATION
-
-@rem Prevent jgit from forking/searching git.exe
-SET GIT_CONFIG_NOSYSTEM=1
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-goto fail
-
-:failWithJvmMessage
-@rem https://github.com/apache/lucene/pull/819
-echo Error: Something went wrong. Make sure you're using Java version between 
21 and 23.
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem LUCENE-9471: workaround for gradle leaving junk temp. files behind.
+SET GRADLE_TEMPDIR=%DIRNAME%\.gradle\tmp
+IF NOT EXIST "%GRADLE_TEMPDIR%" MKDIR "%GRADLE_TEMPDIR%"
+SET DEFAULT_JVM_OPTS=%DEFAULT_JVM_OPTS% "-Djava.io.tmpdir=%GRADLE_TEMPDIR%"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+@rem LUCENE-9266: verify and download the gradle wrapper jar if we don't have 
one.
+set GRADLE_WRAPPER_JAR=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+IF NOT EXIST "%GRADLE_WRAPPER_JAR%" (
+    "%JAVA_EXE%" %JAVA_OPTS% 
"%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java"
 "%GRADLE_WRAPPER_JAR%"
+    IF %ERRORLEVEL% EQU 1 goto failWithJvmMessage
+    IF %ERRORLEVEL% NEQ 0 goto fail
+)
+
+@rem Setup the command line
+set CLASSPATH=%GRADLE_WRAPPER_JAR%
+
+@rem START OF LUCENE CUSTOMIZATION
+@rem Generate gradle.properties if they don't exist
+IF NOT EXIST "%APP_HOME%\gradle.properties" (
+  @rem local expansion is needed to check ERRORLEVEL inside control blocks.
+  setlocal enableDelayedExpansion
+  "%JAVA_EXE%" %JAVA_OPTS% 
"%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java"
 "%APP_HOME%\gradle\template.gradle.properties" "%APP_HOME%\gradle.properties"
+  IF %ERRORLEVEL% NEQ 0 goto fail
+  endlocal
+)
+@rem END OF LUCENE CUSTOMIZATION
+
+@rem Prevent jgit from forking/searching git.exe
+SET GIT_CONFIG_NOSYSTEM=1
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+goto fail
+
+:failWithJvmMessage
+@rem https://github.com/apache/lucene/pull/819
+echo Error: Something went wrong. Make sure you're using Java version between 
21 and 23.
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/settings.gradle b/settings.gradle
index 7b635cbbeb9..08cee48a39a 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -52,7 +52,7 @@ include "solr:modules:extraction"
 include "solr:modules:gcs-repository"
 include "solr:modules:jwt-auth"
 include "solr:modules:langid"
-include "solr:modules:llm"
+include "solr:modules:language-models"
 include "solr:modules:ltr"
 include "solr:modules:s3-repository"
 include "solr:modules:scripting"
diff --git 
a/solr/core/src/java/org/apache/solr/schema/BinaryQuantizedDenseVectorField.java
 
b/solr/core/src/java/org/apache/solr/schema/BinaryQuantizedDenseVectorField.java
index 4293e9a6d8b..8f172b27373 100644
--- 
a/solr/core/src/java/org/apache/solr/schema/BinaryQuantizedDenseVectorField.java
+++ 
b/solr/core/src/java/org/apache/solr/schema/BinaryQuantizedDenseVectorField.java
@@ -23,6 +23,6 @@ public class BinaryQuantizedDenseVectorField extends 
DenseVectorField {
 
   @Override
   public KnnVectorsFormat buildKnnVectorsFormat() {
-    return new Lucene102HnswBinaryQuantizedVectorsFormat(getHnswMaxConn(), 
getHnswBeamWidth());
+    return new Lucene102HnswBinaryQuantizedVectorsFormat(getHnswM(), 
getHnswEfConstruction());
   }
 }
diff --git a/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java 
b/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
index f1831c1ad9c..21c8d0d789c 100644
--- a/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
+++ b/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
@@ -48,7 +48,7 @@ import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.hnsw.HnswGraph;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.neural.KnnQParser.EarlyTerminationParams;
+import org.apache.solr.search.vector.KnnQParser.EarlyTerminationParams;
 import org.apache.solr.uninverting.UninvertingReader;
 import org.apache.solr.util.vector.ByteDenseVectorParser;
 import org.apache.solr.util.vector.DenseVectorParser;
@@ -75,6 +75,8 @@ public class DenseVectorField extends FloatPointField {
   static final String KNN_ALGORITHM = "knnAlgorithm";
   static final String HNSW_MAX_CONNECTIONS = "hnswMaxConnections";
   static final String HNSW_BEAM_WIDTH = "hnswBeamWidth";
+  static final String HNSW_M = "hnswM";
+  static final String HNSW_EF_CONSTRUCTION = "hnswEfConstruction";
   static final String VECTOR_ENCODING = "vectorEncoding";
   static final VectorEncoding DEFAULT_VECTOR_ENCODING = VectorEncoding.FLOAT32;
   static final String KNN_SIMILARITY_FUNCTION = "similarityFunction";
@@ -101,13 +103,13 @@ public class DenseVectorField extends FloatPointField {
    * This parameter is coupled with the hnsw algorithm. Controls how many of 
the nearest neighbor
    * candidates are connected to the new node. See {@link HnswGraph} for more 
details.
    */
-  private int hnswMaxConn;
+  private int hnswM;
 
   /**
    * This parameter is coupled with the hnsw algorithm. The number of 
candidate neighbors to track
    * while searching the graph for each newly inserted node. See {@link 
HnswGraph} for details.
    */
-  private int hnswBeamWidth;
+  private int hnswEfConstruction;
 
   /**
    * Encoding for vector value representation. The possible values are FLOAT32 
or BYTE. The default
@@ -142,8 +144,24 @@ public class DenseVectorField extends FloatPointField {
     this.vectorEncoding = vectorEncoding;
   }
 
+  private String getFieldTypeName(IndexSchema schema) {
+    return schema != null ? schema.getSchemaName() : "unknown";
+  }
+
   @Override
   public void init(IndexSchema schema, Map<String, String> args) {
+
+    if (args.containsKey("hnswMaxConnections")) {
+      log.warn(
+          "Deprecated parameter 'hnswMaxConnections' detected in fieldType 
'{}'. Use 'hnswM' instead.",
+          getFieldTypeName(schema));
+    }
+    if (args.containsKey("hnswBeamWidth")) {
+      log.warn(
+          "Deprecated parameter 'hnswBeamWidth' detected in fieldType '{}'. 
Use 'hnswEfConstruction' instead.",
+          getFieldTypeName(schema));
+    }
+
     this.dimension =
         ofNullable(args.get(KNN_VECTOR_DIMENSION))
             .map(Integer::parseInt)
@@ -169,12 +187,26 @@ public class DenseVectorField extends FloatPointField {
             .orElse(DEFAULT_VECTOR_ENCODING);
     args.remove(VECTOR_ENCODING);
 
-    this.hnswMaxConn =
-        
ofNullable(args.get(HNSW_MAX_CONNECTIONS)).map(Integer::parseInt).orElse(DEFAULT_MAX_CONN);
+    this.hnswM =
+        ofNullable(args.get(HNSW_M))
+            .map(Integer::parseInt)
+            .orElseGet(
+                () ->
+                    ofNullable(args.get(HNSW_MAX_CONNECTIONS))
+                        .map(Integer::parseInt)
+                        .orElse(DEFAULT_MAX_CONN));
+    args.remove(HNSW_M);
     args.remove(HNSW_MAX_CONNECTIONS);
 
-    this.hnswBeamWidth =
-        
ofNullable(args.get(HNSW_BEAM_WIDTH)).map(Integer::parseInt).orElse(DEFAULT_BEAM_WIDTH);
+    this.hnswEfConstruction =
+        ofNullable(args.get(HNSW_EF_CONSTRUCTION))
+            .map(Integer::parseInt)
+            .orElseGet(
+                () ->
+                    ofNullable(args.get(HNSW_BEAM_WIDTH))
+                        .map(Integer::parseInt)
+                        .orElse(DEFAULT_BEAM_WIDTH));
+    args.remove(HNSW_EF_CONSTRUCTION);
     args.remove(HNSW_BEAM_WIDTH);
 
     this.cuvsWriterThreads =
@@ -231,12 +263,22 @@ public class DenseVectorField extends FloatPointField {
     return knnAlgorithm;
   }
 
+  @Deprecated
   public Integer getHnswMaxConn() {
-    return hnswMaxConn;
+    return hnswM;
   }
 
+  @Deprecated
   public Integer getHnswBeamWidth() {
-    return hnswBeamWidth;
+    return hnswEfConstruction;
+  }
+
+  public Integer getHnswM() {
+    return hnswM;
+  }
+
+  public Integer getHnswEfConstruction() {
+    return hnswEfConstruction;
   }
 
   public VectorEncoding getVectorEncoding() {
@@ -434,7 +476,7 @@ public class DenseVectorField extends FloatPointField {
   }
 
   public KnnVectorsFormat buildKnnVectorsFormat() {
-    return new Lucene99HnswVectorsFormat(hnswMaxConn, hnswBeamWidth);
+    return new Lucene99HnswVectorsFormat(hnswM, hnswEfConstruction);
   }
 
   @Override
diff --git 
a/solr/core/src/java/org/apache/solr/schema/ScalarQuantizedDenseVectorField.java
 
b/solr/core/src/java/org/apache/solr/schema/ScalarQuantizedDenseVectorField.java
index 885d09cea17..9a635cd0b1f 100644
--- 
a/solr/core/src/java/org/apache/solr/schema/ScalarQuantizedDenseVectorField.java
+++ 
b/solr/core/src/java/org/apache/solr/schema/ScalarQuantizedDenseVectorField.java
@@ -96,8 +96,8 @@ public class ScalarQuantizedDenseVectorField extends 
DenseVectorField {
   @Override
   public KnnVectorsFormat buildKnnVectorsFormat() {
     return new Lucene99HnswScalarQuantizedVectorsFormat(
-        getHnswMaxConn(),
-        getHnswBeamWidth(),
+        getHnswM(),
+        getHnswEfConstruction(),
         DEFAULT_NUM_MERGE_WORKER,
         getBits(),
         useCompression(),
diff --git a/solr/core/src/java/org/apache/solr/search/QParserPlugin.java 
b/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
index 80855aa0bdf..45409cb8982 100644
--- a/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
@@ -28,8 +28,8 @@ import org.apache.solr.search.join.GraphQParserPlugin;
 import org.apache.solr.search.join.HashRangeQParserPlugin;
 import org.apache.solr.search.mlt.MLTContentQParserPlugin;
 import org.apache.solr.search.mlt.MLTQParserPlugin;
-import org.apache.solr.search.neural.KnnQParserPlugin;
-import org.apache.solr.search.neural.VectorSimilarityQParserPlugin;
+import org.apache.solr.search.vector.KnnQParserPlugin;
+import org.apache.solr.search.vector.VectorSimilarityQParserPlugin;
 import org.apache.solr.util.plugin.NamedListInitializedPlugin;
 
 public abstract class QParserPlugin implements NamedListInitializedPlugin {
diff --git 
a/solr/core/src/java/org/apache/solr/search/neural/AbstractVectorQParserBase.java
 
b/solr/core/src/java/org/apache/solr/search/vector/AbstractVectorQParserBase.java
similarity index 99%
rename from 
solr/core/src/java/org/apache/solr/search/neural/AbstractVectorQParserBase.java
rename to 
solr/core/src/java/org/apache/solr/search/vector/AbstractVectorQParserBase.java
index 065180d7e4a..ec5426d6d93 100644
--- 
a/solr/core/src/java/org/apache/solr/search/neural/AbstractVectorQParserBase.java
+++ 
b/solr/core/src/java/org/apache/solr/search/vector/AbstractVectorQParserBase.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import java.io.IOException;
 import java.util.ArrayList;
diff --git a/solr/core/src/java/org/apache/solr/search/neural/KnnQParser.java 
b/solr/core/src/java/org/apache/solr/search/vector/KnnQParser.java
similarity index 99%
rename from solr/core/src/java/org/apache/solr/search/neural/KnnQParser.java
rename to solr/core/src/java/org/apache/solr/search/vector/KnnQParser.java
index db355e0b84e..08fa6a5fc9a 100644
--- a/solr/core/src/java/org/apache/solr/search/neural/KnnQParser.java
+++ b/solr/core/src/java/org/apache/solr/search/vector/KnnQParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import java.util.Optional;
 import org.apache.lucene.search.Query;
diff --git 
a/solr/core/src/java/org/apache/solr/search/neural/KnnQParserPlugin.java 
b/solr/core/src/java/org/apache/solr/search/vector/KnnQParserPlugin.java
similarity index 93%
rename from 
solr/core/src/java/org/apache/solr/search/neural/KnnQParserPlugin.java
rename to solr/core/src/java/org/apache/solr/search/vector/KnnQParserPlugin.java
index 29e5c28e879..80f5445c017 100644
--- a/solr/core/src/java/org/apache/solr/search/neural/KnnQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/vector/KnnQParserPlugin.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.request.SolrQueryRequest;
@@ -22,7 +22,7 @@ import org.apache.solr.search.QParser;
 import org.apache.solr.search.QParserPlugin;
 
 /**
- * A neural query parser to run K-nearest neighbors search on Dense Vector 
fields. See Wiki page
+ * A vector query parser to run K-nearest neighbors search on Dense Vector 
fields. See Wiki page
  * 
https://solr.apache.org/guide/solr/latest/query-guide/dense-vector-search.html
  */
 public class KnnQParserPlugin extends QParserPlugin {
diff --git 
a/solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParser.java 
b/solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParser.java
similarity index 98%
rename from 
solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParser.java
rename to 
solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParser.java
index e3ec2f242f7..f2d9be3738a 100644
--- 
a/solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParser.java
+++ 
b/solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import org.apache.lucene.index.VectorEncoding;
 import org.apache.lucene.search.ByteVectorSimilarityQuery;
diff --git 
a/solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParserPlugin.java
 
b/solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParserPlugin.java
similarity index 92%
rename from 
solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParserPlugin.java
rename to 
solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParserPlugin.java
index 4109d0df388..ec6bfd8b155 100644
--- 
a/solr/core/src/java/org/apache/solr/search/neural/VectorSimilarityQParserPlugin.java
+++ 
b/solr/core/src/java/org/apache/solr/search/vector/VectorSimilarityQParserPlugin.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.QParserPlugin;
 
-/** A neural query parser to run min-similarity search on Dense Vector fields. 
*/
+/** A vector query parser to run min-similarity search on Dense Vector fields. 
*/
 public class VectorSimilarityQParserPlugin extends QParserPlugin {
   public static final String NAME = "vectorSimilarity";
 
diff --git a/solr/core/src/java/org/apache/solr/search/neural/package-info.java 
b/solr/core/src/java/org/apache/solr/search/vector/package-info.java
similarity index 88%
rename from solr/core/src/java/org/apache/solr/search/neural/package-info.java
rename to solr/core/src/java/org/apache/solr/search/vector/package-info.java
index f4343541338..538c98d168b 100644
--- a/solr/core/src/java/org/apache/solr/search/neural/package-info.java
+++ b/solr/core/src/java/org/apache/solr/search/vector/package-info.java
@@ -15,5 +15,5 @@
  * limitations under the License.
  */
 
-/** APIs and classes for implementing Neural (Dense Retrieval) QueryParsers. */
-package org.apache.solr.search.neural;
+/** APIs and classes for implementing Vector (Dense Retrieval) QueryParsers. */
+package org.apache.solr.search.vector;
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/schema-densevector-codec-hyperparameter.xml
 
b/solr/core/src/test-files/solr/collection1/conf/schema-densevector-codec-hyperparameter.xml
index 2f35ebfc5e6..a61de8b6466 100644
--- 
a/solr/core/src/test-files/solr/collection1/conf/schema-densevector-codec-hyperparameter.xml
+++ 
b/solr/core/src/test-files/solr/collection1/conf/schema-densevector-codec-hyperparameter.xml
@@ -21,9 +21,9 @@
 <schema name="schema-densevector-codec-hyperparameter" version="1.7">
   <fieldType name="string" class="solr.StrField" multiValued="true"/>
   <fieldType name="knn_vector_default" class="solr.DenseVectorField" 
vectorDimension="4" similarityFunction="cosine"/>
-  <fieldType name="knn_vector" class="solr.DenseVectorField" 
vectorDimension="4" similarityFunction="cosine" knnAlgorithm="hnsw" 
hnswMaxConnections="10" hnswBeamWidth="40"/>
-  <fieldType name="knn_vector2" class="solr.DenseVectorField" 
vectorDimension="4" similarityFunction="cosine" knnAlgorithm="hnsw" 
hnswMaxConnections="6" hnswBeamWidth="60"/>
-  <fieldType name="knn_vector3" class="solr.DenseVectorField" 
vectorDimension="5" similarityFunction="cosine" knnAlgorithm="hnsw" 
hnswMaxConnections="8" hnswBeamWidth="46"/>
+  <fieldType name="knn_vector" class="solr.DenseVectorField" 
vectorDimension="4" similarityFunction="cosine" knnAlgorithm="hnsw" hnswM="10" 
hnswEfConstruction="40"/>
+  <fieldType name="knn_vector2" class="solr.DenseVectorField" 
vectorDimension="4" similarityFunction="cosine" knnAlgorithm="hnsw" hnswM="6" 
hnswEfConstruction="60"/>
+  <fieldType name="knn_vector3" class="solr.DenseVectorField" 
vectorDimension="5" similarityFunction="cosine" knnAlgorithm="hnsw" hnswM="8" 
hnswEfConstruction="46"/>
 
 
   <field name="id" type="string" indexed="true" stored="true" 
multiValued="false" required="false"/>
diff --git 
a/solr/core/src/test/org/apache/solr/schema/DenseVectorFieldTest.java 
b/solr/core/src/test/org/apache/solr/schema/DenseVectorFieldTest.java
index d3790dbbefd..b8e426470f1 100644
--- a/solr/core/src/test/org/apache/solr/schema/DenseVectorFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DenseVectorFieldTest.java
@@ -42,7 +42,7 @@ import org.apache.solr.core.AbstractBadConfigTestBase;
 import org.apache.solr.handler.loader.JavabinLoader;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.search.neural.KnnQParser;
+import org.apache.solr.search.vector.KnnQParser;
 import org.apache.solr.update.CommitUpdateCommand;
 import org.apache.solr.update.processor.UpdateRequestProcessor;
 import org.apache.solr.update.processor.UpdateRequestProcessorChain;
@@ -155,8 +155,10 @@ public class DenseVectorFieldTest extends 
AbstractBadConfigTestBase {
       assertThat(type1.getSimilarityFunction(), 
is(VectorSimilarityFunction.COSINE));
       assertThat(type1.getDimension(), is(4));
       assertThat(type1.getKnnAlgorithm(), is("hnsw"));
-      assertThat(type1.getHnswMaxConn(), is(10));
-      assertThat(type1.getHnswBeamWidth(), is(40));
+      assertThat(type1.getHnswM(), is(10));
+      assertThat(type1.getHnswEfConstruction(), is(40));
+      assertThat(type1.getHnswMaxConn(), is(type1.getHnswM()));
+      assertThat(type1.getHnswBeamWidth(), is(type1.getHnswEfConstruction()));
 
       SchemaField vector2 = schema.getField("vector2");
       assertNotNull(vector2);
@@ -165,8 +167,10 @@ public class DenseVectorFieldTest extends 
AbstractBadConfigTestBase {
       assertThat(type2.getSimilarityFunction(), 
is(VectorSimilarityFunction.COSINE));
       assertThat(type2.getDimension(), is(4));
       assertThat(type2.getKnnAlgorithm(), is("hnsw"));
-      assertThat(type2.getHnswMaxConn(), is(6));
-      assertThat(type2.getHnswBeamWidth(), is(60));
+      assertThat(type2.getHnswM(), is(6));
+      assertThat(type2.getHnswEfConstruction(), is(60));
+      assertThat(type2.getHnswMaxConn(), is(type2.getHnswM()));
+      assertThat(type2.getHnswBeamWidth(), is(type2.getHnswEfConstruction()));
 
       SchemaField vector3 = schema.getField("vector3");
       assertNotNull(vector3);
@@ -176,8 +180,10 @@ public class DenseVectorFieldTest extends 
AbstractBadConfigTestBase {
       assertThat(type3.getDimension(), is(5));
 
       assertThat(type3.getKnnAlgorithm(), is("hnsw"));
-      assertThat(type3.getHnswMaxConn(), is(8));
-      assertThat(type3.getHnswBeamWidth(), is(46));
+      assertThat(type3.getHnswM(), is(8));
+      assertThat(type3.getHnswEfConstruction(), is(46));
+      assertThat(type3.getHnswMaxConn(), is(type3.getHnswM()));
+      assertThat(type3.getHnswBeamWidth(), is(type3.getHnswEfConstruction()));
 
       SchemaField vectorDefault = schema.getField("vector_default");
       assertNotNull(vectorDefault);
@@ -186,8 +192,10 @@ public class DenseVectorFieldTest extends 
AbstractBadConfigTestBase {
       assertThat(typeDefault.getSimilarityFunction(), 
is(VectorSimilarityFunction.COSINE));
       assertThat(typeDefault.getKnnAlgorithm(), is("hnsw"));
       assertThat(typeDefault.getDimension(), is(4));
-      assertThat(typeDefault.getHnswMaxConn(), is(16));
-      assertThat(typeDefault.getHnswBeamWidth(), is(100));
+      assertThat(typeDefault.getHnswM(), is(16));
+      assertThat(typeDefault.getHnswEfConstruction(), is(100));
+      assertThat(typeDefault.getHnswMaxConn(), is(typeDefault.getHnswM()));
+      assertThat(typeDefault.getHnswBeamWidth(), 
is(typeDefault.getHnswEfConstruction()));
     } finally {
       deleteCore();
     }
diff --git 
a/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java 
b/solr/core/src/test/org/apache/solr/search/vector/KnnQParserTest.java
similarity index 99%
rename from solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java
rename to solr/core/src/test/org/apache/solr/search/vector/KnnQParserTest.java
index 32f936dc63a..35920c882c2 100644
--- a/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/vector/KnnQParserTest.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
-import static org.apache.solr.search.neural.KnnQParser.DEFAULT_TOP_K;
+import static org.apache.solr.search.vector.KnnQParser.DEFAULT_TOP_K;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/solr/core/src/test/org/apache/solr/search/neural/VectorSimilarityQParserTest.java
 
b/solr/core/src/test/org/apache/solr/search/vector/VectorSimilarityQParserTest.java
similarity index 99%
rename from 
solr/core/src/test/org/apache/solr/search/neural/VectorSimilarityQParserTest.java
rename to 
solr/core/src/test/org/apache/solr/search/vector/VectorSimilarityQParserTest.java
index c87ed9e8a10..627fb2c176c 100644
--- 
a/solr/core/src/test/org/apache/solr/search/neural/VectorSimilarityQParserTest.java
+++ 
b/solr/core/src/test/org/apache/solr/search/vector/VectorSimilarityQParserTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.search.neural;
+package org.apache.solr.search.vector;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/solr/modules/cuvs/src/test-files/solr/collection1/conf/solrconfig.xml 
b/solr/modules/cuvs/src/test-files/solr/collection1/conf/solrconfig.xml
index 38117a9e7a6..30ef530493f 100644
--- a/solr/modules/cuvs/src/test-files/solr/collection1/conf/solrconfig.xml
+++ b/solr/modules/cuvs/src/test-files/solr/collection1/conf/solrconfig.xml
@@ -28,7 +28,14 @@
     <dataDir>${solr.data.dir:}</dataDir>
     <directoryFactory name="DirectoryFactory" 
class="${solr.directoryFactory:solr.MockDirectoryFactory}"/>
 
-    <codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory"/>
+    <codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory">
+      <str name="cuvsWriterThreads">32</str>
+      <str name="intGraphDegree">128</str>
+      <str name="graphDegree">64</str>
+      <str name="hnswLayers">1</str>
+      <str name="hnswM">16</str>
+      <str name="hnswEfConstruction">100</str>
+    </codecFactory>
 
     <requestHandler name="/select" class="solr.SearchHandler"></requestHandler>
 </config>
diff --git a/solr/modules/llm/README.md b/solr/modules/language-models/README.md
similarity index 88%
rename from solr/modules/llm/README.md
rename to solr/modules/language-models/README.md
index 2467434a14b..e92a3bd7e41 100644
--- a/solr/modules/llm/README.md
+++ b/solr/modules/language-models/README.md
@@ -15,7 +15,7 @@
   limitations under the License.
 -->
 
-The Large Language Model module for Solr provides a set of mechanisms for 
plugging in third party LLM implementations.
+The Language Models module for Solr provides a set of mechanisms for plugging 
in third party language model implementations.
 It currently provides text vectorisation through langChain4j.
 
 See https://solr.apache.org/guide/solr/latest/query-guide/text-to-vector.html 
for how to get started.
diff --git a/solr/modules/llm/build.gradle 
b/solr/modules/language-models/build.gradle
similarity index 100%
rename from solr/modules/llm/build.gradle
rename to solr/modules/language-models/build.gradle
diff --git a/solr/modules/llm/gradle.lockfile 
b/solr/modules/language-models/gradle.lockfile
similarity index 100%
rename from solr/modules/llm/gradle.lockfile
rename to solr/modules/language-models/gradle.lockfile
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/SolrTextToVectorModel.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/SolrTextToVectorModel.java
similarity index 96%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/SolrTextToVectorModel.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/SolrTextToVectorModel.java
index 9a22087b990..21f7f8035be 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/SolrTextToVectorModel.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/SolrTextToVectorModel.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.model;
+package org.apache.solr.languagemodels.textvectorisation.model;
 
 import dev.langchain4j.data.embedding.Embedding;
 import dev.langchain4j.model.embedding.EmbeddingModel;
@@ -28,8 +28,8 @@ import org.apache.lucene.util.Accountable;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.llm.textvectorisation.store.TextToVectorModelException;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import 
org.apache.solr.languagemodels.textvectorisation.store.TextToVectorModelException;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/package-info.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/package-info.java
similarity index 93%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/package-info.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/package-info.java
index 3c4fb4d73d6..cadec960174 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/model/package-info.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/model/package-info.java
@@ -16,4 +16,4 @@
  */
 
 /** APIs and classes for implementing text to vector logic. */
-package org.apache.solr.llm.textvectorisation.model;
+package org.apache.solr.languagemodels.textvectorisation.model;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserPlugin.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserPlugin.java
similarity index 92%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserPlugin.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserPlugin.java
index 3780da9972c..3c213928cb3 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserPlugin.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserPlugin.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.search;
+package org.apache.solr.languagemodels.textvectorisation.search;
 
 import java.io.IOException;
 import java.util.Arrays;
@@ -26,18 +26,18 @@ import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.rest.ManagedResource;
 import org.apache.solr.rest.ManagedResourceObserver;
 import org.apache.solr.search.QParser;
 import org.apache.solr.search.QParserPlugin;
 import org.apache.solr.search.SyntaxError;
-import org.apache.solr.search.neural.KnnQParser;
+import org.apache.solr.search.vector.KnnQParser;
 
 /**
- * A neural query parser that encode the query to a vector and then run 
K-nearest neighbors search
+ * A vector query parser that encode the query to a vector and then run 
K-nearest neighbors search
  * on Dense Vector fields. See Wiki page
  * 
https://solr.apache.org/guide/solr/latest/query-guide/dense-vector-search.html
  */
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/package-info.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/package-info.java
similarity index 93%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/package-info.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/package-info.java
index f188323c2c3..04aebea7789 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/search/package-info.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/search/package-info.java
@@ -16,4 +16,4 @@
  */
 
 /** APIs and classes for implementing text to vector QueryParsers. */
-package org.apache.solr.llm.textvectorisation.search;
+package org.apache.solr.languagemodels.textvectorisation.search;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelException.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelException.java
similarity index 94%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelException.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelException.java
index d64b124ec5c..8709ebf6929 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelException.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.store;
+package org.apache.solr.languagemodels.textvectorisation.store;
 
 public class TextToVectorModelException extends RuntimeException {
 
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelStore.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelStore.java
similarity index 93%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelStore.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelStore.java
index e971e050957..7d24d25f57e 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/TextToVectorModelStore.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/TextToVectorModelStore.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.store;
+package org.apache.solr.languagemodels.textvectorisation.store;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
 
 /** Simple store to manage CRUD operations on the {@link 
SolrTextToVectorModel} */
 public class TextToVectorModelStore {
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/package-info.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/package-info.java
similarity index 92%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/package-info.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/package-info.java
index 36303a4c076..5e79341f992 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/package-info.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/package-info.java
@@ -16,4 +16,4 @@
  */
 
 /** Contains model store related classes. */
-package org.apache.solr.llm.textvectorisation.store;
+package org.apache.solr.languagemodels.textvectorisation.store;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
similarity index 95%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
index 2ae76c45017..70c03ffc47e 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/ManagedTextToVectorModelStore.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.store.rest;
+package org.apache.solr.languagemodels.textvectorisation.store.rest;
 
 import java.lang.invoke.MethodHandles;
 import java.util.LinkedHashMap;
@@ -26,9 +26,9 @@ import org.apache.solr.common.SolrException;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
-import org.apache.solr.llm.textvectorisation.store.TextToVectorModelException;
-import org.apache.solr.llm.textvectorisation.store.TextToVectorModelStore;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.store.TextToVectorModelException;
+import 
org.apache.solr.languagemodels.textvectorisation.store.TextToVectorModelStore;
 import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.rest.BaseSolrResource;
 import org.apache.solr.rest.ManagedResource;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/package-info.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/package-info.java
similarity index 92%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/package-info.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/package-info.java
index 118bc245e30..ca70f6d9611 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/store/rest/package-info.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/store/rest/package-info.java
@@ -16,4 +16,4 @@
  */
 
 /** Contains the {@link org.apache.solr.rest.ManagedResource} that encapsulate 
the model stores. */
-package org.apache.solr.llm.textvectorisation.store.rest;
+package org.apache.solr.languagemodels.textvectorisation.store.rest;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
similarity index 95%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
index cac6d4283aa..f20d91e9685 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.solr.llm.textvectorisation.update.processor;
+package org.apache.solr.languagemodels.textvectorisation.update.processor;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.SolrInputField;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.schema.SchemaField;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
similarity index 94%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
index c4f7ea2924f..e524b689d56 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.solr.llm.textvectorisation.update.processor;
+package org.apache.solr.languagemodels.textvectorisation.update.processor;
 
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.RequiredSolrParams;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.schema.DenseVectorField;
diff --git 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/package-info.java
 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/package-info.java
similarity index 91%
rename from 
solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/package-info.java
rename to 
solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/package-info.java
index 2c5f2ef0072..877a4fa081b 100644
--- 
a/solr/modules/llm/src/java/org/apache/solr/llm/textvectorisation/update/processor/package-info.java
+++ 
b/solr/modules/language-models/src/java/org/apache/solr/languagemodels/textvectorisation/update/processor/package-info.java
@@ -16,4 +16,4 @@
  */
 
 /** Contains update request processor related classes. */
-package org.apache.solr.llm.textvectorisation.update.processor;
+package org.apache.solr.languagemodels.textvectorisation.update.processor;
diff --git a/solr/modules/llm/src/java/overview.html 
b/solr/modules/language-models/src/java/overview.html
similarity index 100%
rename from solr/modules/llm/src/java/overview.html
rename to solr/modules/language-models/src/java/overview.html
diff --git a/solr/modules/llm/src/test-files/log4j2.xml 
b/solr/modules/language-models/src/test-files/log4j2.xml
similarity index 100%
rename from solr/modules/llm/src/test-files/log4j2.xml
rename to solr/modules/language-models/src/test-files/log4j2.xml
diff --git a/solr/modules/llm/src/test-files/modelExamples/cohere-model.json 
b/solr/modules/language-models/src/test-files/modelExamples/cohere-model.json
similarity index 100%
rename from solr/modules/llm/src/test-files/modelExamples/cohere-model.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/cohere-model.json
diff --git 
a/solr/modules/llm/src/test-files/modelExamples/dummy-model-ambiguous.json 
b/solr/modules/language-models/src/test-files/modelExamples/dummy-model-ambiguous.json
similarity index 53%
rename from 
solr/modules/llm/src/test-files/modelExamples/dummy-model-ambiguous.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/dummy-model-ambiguous.json
index 417ce5b11a6..c9fb4dc48db 100644
--- a/solr/modules/llm/src/test-files/modelExamples/dummy-model-ambiguous.json
+++ 
b/solr/modules/language-models/src/test-files/modelExamples/dummy-model-ambiguous.json
@@ -1,5 +1,5 @@
 {
-  "class": "org.apache.solr.llm.textvectorisation.model.DummyEmbeddingModel",
+  "class": 
"org.apache.solr.languagemodels.textvectorisation.model.DummyEmbeddingModel",
   "name": "dummy-1",
   "params": {
     "embedding": [1.0, 2.0, 3.0, 4.0],
diff --git 
a/solr/modules/llm/src/test-files/modelExamples/dummy-model-unsupported.json 
b/solr/modules/language-models/src/test-files/modelExamples/dummy-model-unsupported.json
similarity index 53%
rename from 
solr/modules/llm/src/test-files/modelExamples/dummy-model-unsupported.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/dummy-model-unsupported.json
index 7316cd7dd03..cddbacfdac3 100644
--- a/solr/modules/llm/src/test-files/modelExamples/dummy-model-unsupported.json
+++ 
b/solr/modules/language-models/src/test-files/modelExamples/dummy-model-unsupported.json
@@ -1,5 +1,5 @@
 {
-  "class": "org.apache.solr.llm.textvectorisation.model.DummyEmbeddingModel",
+  "class": 
"org.apache.solr.languagemodels.textvectorisation.model.DummyEmbeddingModel",
   "name": "dummy-1",
   "params": {
     "embedding": [1.0, 2.0, 3.0, 4.0],
diff --git 
a/solr/modules/language-models/src/test-files/modelExamples/dummy-model.json 
b/solr/modules/language-models/src/test-files/modelExamples/dummy-model.json
new file mode 100644
index 00000000000..115766e8612
--- /dev/null
+++ b/solr/modules/language-models/src/test-files/modelExamples/dummy-model.json
@@ -0,0 +1,7 @@
+{
+  "class": 
"org.apache.solr.languagemodels.textvectorisation.model.DummyEmbeddingModel",
+  "name": "dummy-1",
+  "params": {
+    "embedding": [1.0, 2.0, 3.0, 4.0]
+  }
+}
diff --git 
a/solr/modules/language-models/src/test-files/modelExamples/exception-throwing-model.json
 
b/solr/modules/language-models/src/test-files/modelExamples/exception-throwing-model.json
new file mode 100644
index 00000000000..76e704f3ac4
--- /dev/null
+++ 
b/solr/modules/language-models/src/test-files/modelExamples/exception-throwing-model.json
@@ -0,0 +1,6 @@
+{
+  "class": 
"org.apache.solr.languagemodels.textvectorisation.model.ExceptionThrowingEmbeddingModel",
+  "name": "exception-throwing-model",
+  "params": {
+  }
+}
diff --git 
a/solr/modules/llm/src/test-files/modelExamples/huggingface-model.json 
b/solr/modules/language-models/src/test-files/modelExamples/huggingface-model.json
similarity index 100%
rename from solr/modules/llm/src/test-files/modelExamples/huggingface-model.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/huggingface-model.json
diff --git a/solr/modules/llm/src/test-files/modelExamples/mistralai-model.json 
b/solr/modules/language-models/src/test-files/modelExamples/mistralai-model.json
similarity index 100%
rename from solr/modules/llm/src/test-files/modelExamples/mistralai-model.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/mistralai-model.json
diff --git a/solr/modules/llm/src/test-files/modelExamples/openai-model.json 
b/solr/modules/language-models/src/test-files/modelExamples/openai-model.json
similarity index 100%
rename from solr/modules/llm/src/test-files/modelExamples/openai-model.json
rename to 
solr/modules/language-models/src/test-files/modelExamples/openai-model.json
diff --git a/solr/modules/llm/src/test-files/solr/collection1/conf/schema.xml 
b/solr/modules/language-models/src/test-files/solr/collection1/conf/schema.xml
similarity index 100%
rename from solr/modules/llm/src/test-files/solr/collection1/conf/schema.xml
rename to 
solr/modules/language-models/src/test-files/solr/collection1/conf/schema.xml
diff --git 
a/solr/modules/llm/src/test-files/solr/collection1/conf/solrconfig-llm.xml 
b/solr/modules/language-models/src/test-files/solr/collection1/conf/solrconfig-language-models.xml
similarity index 87%
rename from 
solr/modules/llm/src/test-files/solr/collection1/conf/solrconfig-llm.xml
rename to 
solr/modules/language-models/src/test-files/solr/collection1/conf/solrconfig-language-models.xml
index 005098bda8b..f9c58a3a849 100644
--- a/solr/modules/llm/src/test-files/solr/collection1/conf/solrconfig-llm.xml
+++ 
b/solr/modules/language-models/src/test-files/solr/collection1/conf/solrconfig-language-models.xml
@@ -21,9 +21,9 @@
    <requestParsers />
  </requestDispatcher>
 
- <!-- Query parser used to run neural queries-->
+ <!-- Query parser used to run vector search queries-->
  <queryParser name="knn_text_to_vector"
-  
class="org.apache.solr.llm.textvectorisation.search.TextToVectorQParserPlugin" 
/>
+  
class="org.apache.solr.languagemodels.textvectorisation.search.TextToVectorQParserPlugin"
 />
 
  <query>
   <filterCache class="solr.CaffeineCache" size="4096"
@@ -43,7 +43,7 @@
    <str name="dir">${solr.data.dir:}</str>
   </updateLog>
  </updateHandler>
- 
+
  <!-- Query request handler managing models and features -->
  <requestHandler name="/query" class="solr.SearchHandler">
   <lst name="defaults">
@@ -55,7 +55,7 @@
  </requestHandler>
 
  <updateRequestProcessorChain name="textToVector">
-  <processor 
class="solr.llm.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
+  <processor 
class="solr.languagemodels.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
    <str name="inputField">_text_</str>
    <str name="outputField">vector</str>
    <str name="model">dummy-1</str>
@@ -64,14 +64,14 @@
  </updateRequestProcessorChain>
 
  <updateRequestProcessorChain name="failingTextToVector">
-  <processor 
class="solr.llm.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
+  <processor 
class="solr.languagemodels.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
    <str name="inputField">_text_</str>
    <str name="outputField">vector</str>
    <str name="model">exception-throwing-model</str>
   </processor>
   <processor class="solr.RunUpdateProcessorFactory"/>
  </updateRequestProcessorChain>
- 
- 
+
+
 
 </config>
diff --git a/solr/modules/llm/src/test-files/solr/solr.xml 
b/solr/modules/language-models/src/test-files/solr/solr.xml
similarity index 100%
rename from solr/modules/llm/src/test-files/solr/solr.xml
rename to solr/modules/language-models/src/test-files/solr/solr.xml
diff --git a/solr/modules/llm/src/test/org/apache/solr/llm/TestLlmBase.java 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/TestLanguageModelBase.java
similarity index 94%
rename from solr/modules/llm/src/test/org/apache/solr/llm/TestLlmBase.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/TestLanguageModelBase.java
index bd79b2dcbc3..5c8d10ac926 100644
--- a/solr/modules/llm/src/test/org/apache/solr/llm/TestLlmBase.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/TestLanguageModelBase.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm;
+package org.apache.solr.languagemodels;
 
 import java.lang.invoke.MethodHandles;
 import java.net.URL;
@@ -26,12 +26,12 @@ import java.util.Arrays;
 import java.util.List;
 import org.apache.commons.io.file.PathUtils;
 import org.apache.solr.common.SolrInputDocument;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.apache.solr.util.RestTestBase;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class TestLlmBase extends RestTestBase {
+public class TestLanguageModelBase extends RestTestBase {
 
   private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -91,7 +91,7 @@ public class TestLlmBase extends RestTestBase {
   }
 
   public static void loadModel(String fileName, String status) throws 
Exception {
-    final URL url = TestLlmBase.class.getResource("/modelExamples/" + 
fileName);
+    final URL url = TestLanguageModelBase.class.getResource("/modelExamples/" 
+ fileName);
     final String multipleModels = Files.readString(Path.of(url.toURI()), 
StandardCharsets.UTF_8);
 
     assertJPut(
@@ -101,7 +101,7 @@ public class TestLlmBase extends RestTestBase {
   }
 
   public static void loadModel(String fileName) throws Exception {
-    final URL url = TestLlmBase.class.getResource("/modelExamples/" + 
fileName);
+    final URL url = TestLanguageModelBase.class.getResource("/modelExamples/" 
+ fileName);
     final String multipleModels = Files.readString(Path.of(url.toURI()), 
StandardCharsets.UTF_8);
 
     assertJPut(
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModel.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModel.java
similarity index 97%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModel.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModel.java
index 049d1cded7e..cbb966348f0 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModel.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModel.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.model;
+package org.apache.solr.languagemodels.textvectorisation.model;
 
 import dev.langchain4j.data.embedding.Embedding;
 import dev.langchain4j.data.segment.TextSegment;
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModelTest.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModelTest.java
similarity index 96%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModelTest.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModelTest.java
index 10f5aae04a3..0948af705eb 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/DummyEmbeddingModelTest.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/DummyEmbeddingModelTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.model;
+package org.apache.solr.languagemodels.textvectorisation.model;
 
 import org.apache.solr.SolrTestCase;
 import org.junit.Test;
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
similarity index 96%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
index 7c69ed8352d..c0c3b52bf39 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/model/ExceptionThrowingEmbeddingModel.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.model;
+package org.apache.solr.languagemodels.textvectorisation.model;
 
 import dev.langchain4j.data.embedding.Embedding;
 import dev.langchain4j.data.segment.TextSegment;
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserTest.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserTest.java
similarity index 98%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserTest.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserTest.java
index 4789093d601..bfe42e30842 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/search/TextToVectorQParserTest.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/search/TextToVectorQParserTest.java
@@ -14,20 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.search;
+package org.apache.solr.languagemodels.textvectorisation.search;
 
 import java.util.Arrays;
 import java.util.Locale;
 import org.apache.solr.client.solrj.request.SolrQuery;
-import org.apache.solr.llm.TestLlmBase;
+import org.apache.solr.languagemodels.TestLanguageModelBase;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TextToVectorQParserTest extends TestLlmBase {
+public class TextToVectorQParserTest extends TestLanguageModelBase {
   @BeforeClass
   public static void init() throws Exception {
-    setupTest("solrconfig-llm.xml", "schema.xml", true, false);
+    setupTest("solrconfig-language-models.xml", "schema.xml", true, false);
     loadModel("dummy-model.json");
   }
 
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManager.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManager.java
similarity index 96%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManager.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManager.java
index 05e7f3bb0e9..da70dbb696f 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManager.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManager.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.store.rest;
+package org.apache.solr.languagemodels.textvectorisation.store.rest;
 
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.llm.TestLlmBase;
-import org.apache.solr.llm.textvectorisation.search.TextToVectorQParserPlugin;
+import org.apache.solr.languagemodels.TestLanguageModelBase;
+import 
org.apache.solr.languagemodels.textvectorisation.search.TextToVectorQParserPlugin;
 import org.apache.solr.rest.ManagedResource;
 import org.apache.solr.rest.ManagedResourceStorage;
 import org.apache.solr.rest.RestManager;
@@ -27,11 +27,11 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TestModelManager extends TestLlmBase {
+public class TestModelManager extends TestLanguageModelBase {
 
   @BeforeClass
   public static void init() throws Exception {
-    setupTest("solrconfig-llm.xml", "schema.xml", false, false);
+    setupTest("solrconfig-language-models.xml", "schema.xml", false, false);
   }
 
   @AfterClass
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManagerPersistence.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManagerPersistence.java
similarity index 94%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManagerPersistence.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManagerPersistence.java
index a7ed7923eeb..efa90848a9c 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/store/rest/TestModelManagerPersistence.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/store/rest/TestModelManagerPersistence.java
@@ -14,23 +14,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.store.rest;
+package org.apache.solr.languagemodels.textvectorisation.store.rest;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import org.apache.solr.common.util.Utils;
-import org.apache.solr.llm.TestLlmBase;
+import org.apache.solr.languagemodels.TestLanguageModelBase;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-public class TestModelManagerPersistence extends TestLlmBase {
+public class TestModelManagerPersistence extends TestLanguageModelBase {
 
   @Before
   public void init() throws Exception {
-    setupTest("solrconfig-llm.xml", "schema.xml", false, true);
+    setupTest("solrconfig-language-models.xml", "schema.xml", false, true);
   }
 
   @After
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
similarity index 94%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
index c5b7991b3c5..4185d9913b2 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactoryTest.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.update.processor;
+package org.apache.solr.languagemodels.textvectorisation.update.processor;
 
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.SolrCore;
-import org.apache.solr.llm.TestLlmBase;
-import org.apache.solr.llm.textvectorisation.model.SolrTextToVectorModel;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import org.apache.solr.languagemodels.TestLanguageModelBase;
+import 
org.apache.solr.languagemodels.textvectorisation.model.SolrTextToVectorModel;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.apache.solr.request.SolrQueryRequestBase;
 import org.apache.solr.update.processor.UpdateRequestProcessor;
 import org.junit.After;
@@ -31,11 +31,11 @@ import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TextToVectorUpdateProcessorFactoryTest extends TestLlmBase {
+public class TextToVectorUpdateProcessorFactoryTest extends 
TestLanguageModelBase {
 
   @BeforeClass
   public static void init() throws Exception {
-    setupTest("solrconfig-llm.xml", "schema.xml", false, false);
+    setupTest("solrconfig-language-models.xml", "schema.xml", false, false);
   }
 
   @AfterClass
diff --git 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
similarity index 94%
rename from 
solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
rename to 
solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
index c82d2312977..bc7de75748b 100644
--- 
a/solr/modules/llm/src/test/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
+++ 
b/solr/modules/language-models/src/test/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.solr.llm.textvectorisation.update.processor;
+package org.apache.solr.languagemodels.textvectorisation.update.processor;
 
 import java.io.IOException;
 import org.apache.solr.client.solrj.RemoteSolrException;
@@ -22,18 +22,18 @@ import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.request.SolrQuery;
 import org.apache.solr.client.solrj.request.UpdateRequest;
 import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.llm.TestLlmBase;
-import 
org.apache.solr.llm.textvectorisation.store.rest.ManagedTextToVectorModelStore;
+import org.apache.solr.languagemodels.TestLanguageModelBase;
+import 
org.apache.solr.languagemodels.textvectorisation.store.rest.ManagedTextToVectorModelStore;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TextToVectorUpdateProcessorTest extends TestLlmBase {
+public class TextToVectorUpdateProcessorTest extends TestLanguageModelBase {
 
   @BeforeClass
   public static void init() throws Exception {
-    setupTest("solrconfig-llm.xml", "schema.xml", false, false);
+    setupTest("solrconfig-language-models.xml", "schema.xml", false, false);
   }
 
   @AfterClass
diff --git a/solr/modules/llm/src/test-files/modelExamples/dummy-model.json 
b/solr/modules/llm/src/test-files/modelExamples/dummy-model.json
deleted file mode 100644
index 750344f37c5..00000000000
--- a/solr/modules/llm/src/test-files/modelExamples/dummy-model.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "class": "org.apache.solr.llm.textvectorisation.model.DummyEmbeddingModel",
-  "name": "dummy-1",
-  "params": {
-    "embedding": [1.0, 2.0, 3.0, 4.0]
-  }
-}
diff --git 
a/solr/modules/llm/src/test-files/modelExamples/exception-throwing-model.json 
b/solr/modules/llm/src/test-files/modelExamples/exception-throwing-model.json
deleted file mode 100644
index c058da250d7..00000000000
--- 
a/solr/modules/llm/src/test-files/modelExamples/exception-throwing-model.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "class": 
"org.apache.solr.llm.textvectorisation.model.ExceptionThrowingEmbeddingModel",
-  "name": "exception-throwing-model",
-  "params": {
-  }
-}
diff --git 
a/solr/solr-ref-guide/modules/configuration-guide/pages/update-request-processors.adoc
 
b/solr/solr-ref-guide/modules/configuration-guide/pages/update-request-processors.adoc
index ae8ea11f604..c2377045ce1 100644
--- 
a/solr/solr-ref-guide/modules/configuration-guide/pages/update-request-processors.adoc
+++ 
b/solr/solr-ref-guide/modules/configuration-guide/pages/update-request-processors.adoc
@@ -415,10 +415,10 @@ When using any of these factories, please consult the 
{solr-javadocs}/core/org/a
 These processors are included in Solr releases as "module", and require 
additional jars loaded at runtime.
 See the README files associated with each module for details:
 
-The {solr-javadocs}/modules/llm/index.html[`llm`] module provides::
+The {solr-javadocs}/modules/language-models/index.html[`language-models`] 
module provides::
 
-{solr-javadocs}/modules/llm/org/apache/solr/llm/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.html[TextToVectorUpdateProcessorFactory]::
 Update processor which vectorises a textual field in input and adds the 
resulting vector as the value of a new field.
-It uses external text to vectors LLM to perform the vectorisation for each 
processed document.
+{solr-javadocs}/modules/language-models/org/apache/solr/languagemodels/textvectorisation/update/processor/TextToVectorUpdateProcessorFactory.html[TextToVectorUpdateProcessorFactory]::
 Update processor which vectorises a textual field in input and adds the 
resulting vector as the value of a new field.
+It uses external text to vectors language models to perform the vectorisation 
for each processed document.
 For more information: xref:query-guide:text-to-vector.adoc[Update Request 
Processor]
 
 The {solr-javadocs}/modules/langid/index.html[`langid`] module provides::
diff --git 
a/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc 
b/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
index 26bbcff1670..87eb6941ba9 100644
--- a/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
+++ b/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
@@ -103,13 +103,16 @@ the cosine similarity scores returned by Solr are 
normalized like this : `(1 + c
 [NOTE]
 the preferred way to perform cosine similarity is to normalize all vectors to 
unit length, and instead use DOT_PRODUCT. You should only use this function if 
you need to preserve the original vectors and cannot normalize them in advance.
 
+[NOTE]
+The HNSW parameters `hnswM` and `hnswEfConstruction`, previously known as 
`hnswMaxConnections` and `hnswBeamWidth` respectively.
+
 To use the following advanced parameters that customise the codec format
 and the hyperparameter of the HNSW algorithm, make sure the 
xref:configuration-guide:codec-factory.adoc[Schema Codec Factory], is in use.
 
 Here's how `DenseVectorField` can be configured with the advanced 
hyperparameters:
 
 [source,xml]
-<fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="4" 
similarityFunction="cosine" knnAlgorithm="hnsw" hnswMaxConnections="10" 
hnswBeamWidth="40"/>
+<fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="4" 
similarityFunction="cosine" knnAlgorithm="hnsw" hnswM="10" 
hnswEfConstruction="40"/>
 <field name="vector" type="knn_vector" indexed="true" stored="true"/>
 
 `knnAlgorithm`::
@@ -139,7 +142,7 @@ Please note that the `knnAlgorithm` accepted values may 
change in future release
 Accepted values: `FLOAT32`, `BYTE`.
 
 
-`hnswMaxConnections`::
+`hnswM`::
 +
 [%autowidth,frame=none]
 |===
@@ -150,12 +153,12 @@ Accepted values: `FLOAT32`, `BYTE`.
 +
 Controls how many of the nearest neighbor candidates are connected to the new 
node.
 +
-It has the same meaning as `M` from the 2018 paper.
+For more details, refer to the official https://arxiv.org/pdf/1603.09320[2018 
paper], where this parameter `M` is defined.
 +
 Accepted values:
 Any integer.
 
-`hnswBeamWidth`::
+`hnswEfConstruction`::
 +
 [%autowidth,frame=none]
 |===
@@ -166,7 +169,7 @@ Any integer.
 +
 It is the number of nearest neighbor candidates to track while searching the 
graph for each newly inserted node.
 +
-It has the same meaning as `efConstruction` from the 2018 paper.
+For more details, refer to the official https://arxiv.org/pdf/1603.09320[2018 
paper], where this parameter `efConstruction` is defined.
 +
 Accepted values:
 Any integer.
@@ -718,7 +721,21 @@ Define the `fieldType` in the schema, with knnAlgorithm 
set to `cagra_hnsw`:
 
 [source,xml]
 ----
-<fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="8" 
knnAlgorithm="cagra_hnsw" similarityFunction="cosine" cuvsWriterThreads="32" 
cuvsIntGraphDegree="128" cuvsGraphDegree="64" cuvsHnswLayers="1" cuvsHnswM="16" 
cuvsHNSWEfConstruction="100"/>
+<fieldType name="knn_vector" class="solr.DenseVectorField" vectorDimension="8" 
knnAlgorithm="cagra_hnsw" similarityFunction="cosine" />
+----
+
+Define the xref:configuration-guide:codec-factory.adoc[codecFactory] in 
xref:configuration-guide:configuring-solrconfig-xml.adoc[solrconfig.xml]
+
+[source,xml]
+----
+<codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory">
+    <str name="cuvsWriterThreads">8</str>
+    <str name="intGraphDegree">128</str>
+    <str name="graphDegree">64</str>
+    <str name="hnswLayers">1</str>
+    <str name="hnswM">16</str>
+    <str name="hnswEfConstruction">100</str>
+</codecFactory>
 ----
 
 Where:
@@ -731,16 +748,9 @@ Where:
 
 * `cuvsHnswLayers` - Number of HNSW graph layers to construct while building 
the HNSW index
 
-* `cuvsHnswM` - Max connections parameter passed to the fallback 
Lucene99HnswVectorsWriter
-
-* `cuvsHNSWEfConstruction` - Beam width parameter passed to the fallback 
Lucene99HnswVectorsWriter
-
-Define the xref:configuration-guide:codec-factory.adoc[codecFactory] in 
xref:configuration-guide:configuring-solrconfig-xml.adoc[solrconfig.xml]
+* `hnswM` - hnswM parameter passed to the fallback Lucene99HnswVectorsWriter
 
-[source,xml]
-----
-<codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory"/>
-----
+* `hnswEfConstruction` - hnswEfConstruction parameter passed to the fallback 
Lucene99HnswVectorsWriter
 
 === Example
 
@@ -873,7 +883,14 @@ cat > cuvs_configset/conf/solrconfig.xml << 'EOF'
         </autoSoftCommit>
     </updateHandler>
 
-    <codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory"/>
+    <codecFactory name="CuVSCodecFactory" 
class="org.apache.solr.cuvs.CuVSCodecFactory">
+        <str name="cuvsWriterThreads">32</str>
+        <str name="intGraphDegree">128</str>
+        <str name="graphDegree">64</str>
+        <str name="hnswLayers">1</str>
+        <str name="hnswM">16</str>
+        <str name="hnswEfConstruction">100</str>
+    </codecFactory>
 
     <requestHandler name="/select" class="solr.SearchHandler">
         <lst name="defaults">
diff --git a/solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc 
b/solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc
index 16c3c20e6a9..59f55acfedf 100644
--- a/solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc
+++ b/solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc
@@ -1004,8 +1004,8 @@ For more information about the possibilities of nested 
queries, see Yonik Seeley
 
 == Vector Query Parsers
 
-There are currently three Query Parsers in Solr to provide Vector Search:
 
+There are currently three Query Parsers in Solr to provide Vector Search:
 - `knn`: matches k-nearest neighbours (knn) documents to the target vector.
 - `knn_text_to_vector`: encode a textual query to a vector using a dedicated 
Language Model and matches knn documents to such query vector.
 - `vectorSimilarity`: matches documents whose similarity with the target 
vector is a above a minimum threshold.
diff --git a/solr/solr-ref-guide/modules/query-guide/pages/text-to-vector.adoc 
b/solr/solr-ref-guide/modules/query-guide/pages/text-to-vector.adoc
index cf0545ed030..13d845459f7 100644
--- a/solr/solr-ref-guide/modules/query-guide/pages/text-to-vector.adoc
+++ b/solr/solr-ref-guide/modules/query-guide/pages/text-to-vector.adoc
@@ -16,11 +16,11 @@
 // specific language governing permissions and limitations
 // under the License.
 
-This module brings the power of *Large Language Models* (*LLM*s) to Solr.  
+This module brings the power of *Language Models* to Solr.
 
 More specifically, it provides a text-to-vector capability, used on documents 
or queries, via integrating with popular external services that do this.
 
-The state-of-the-art of such services use an LLM, hence the name of this 
module. 
+The state-of-the-art of such services use a Language Model, hence the name of 
this module.
 _Without_ this module, vectors must be supplied _to_ Solr for indexing & 
searching, possibly coordinating with such services.
 
 
@@ -35,9 +35,9 @@ Often this process is called 'text embedding' as it projects 
a piece of text int
 Vector distance metrics (algorithms) can then be used to compute a pairwise 
similarity, producing a score.
 
 
-=== Large Language Models 
+=== Language Models
 
-Specific Large Language Models are able to encode text to a numerical vector.
+Specific Language Models are able to encode text to a numerical vector.
 
 These models are often called Embedding Models as they encode text to vector 
embeddings.
 
@@ -53,7 +53,7 @@ Apache Solr uses 
https://github.com/langchain4j/langchain4j[LangChain4j] to conn
 
 [IMPORTANT]
 ====
-This module sends your documents and queries off to some hosted service on the 
internet. 
+This module sends your documents and queries off to some hosted service on the 
internet.
 There are cost, privacy, performance, and service availability implications on 
such a strong dependency that should be diligently examined before employing 
this module in a serious way.
 
 ====
@@ -68,17 +68,17 @@ If you want to add support for additional services or 
improve the support for th
 
 == Module
 
-This is provided via the `llm` xref:configuration-guide:solr-modules.adoc[Solr 
Module] that needs to be enabled before use.
+This is provided via the `language-models` 
xref:configuration-guide:solr-modules.adoc[Solr Module] that needs to be 
enabled before use.
 
-== LLM Configuration
+== Language Model Configuration
 
-You need to register / configure the plugins provided by the LLM module that 
you want to use. This is done in `solrconfig.xml`. 
+You need to register / configure the plugins provided by the Language Models 
module that you want to use. This is done in `solrconfig.xml`.
 
 * Declaration of the `knn_text_to_vector` query parser.
 +
 [source,xml]
 ----
-<queryParser name="knn_text_to_vector" 
class="org.apache.solr.llm.textvectorisation.search.TextToVectorQParserPlugin"/>
+<queryParser name="knn_text_to_vector" 
class="org.apache.solr.languagemodels.textvectorisation.search.TextToVectorQParserPlugin"/>
 ----
 
 
@@ -107,7 +107,7 @@ s|Required |Default: none
 |===
 +
 The model implementation.
-Accepted values: 
+Accepted values:
 
 * `dev.langchain4j.model.huggingface.HuggingFaceEmbeddingModel`.
 * `dev.langchain4j.model.mistralai.MistralAiEmbeddingModel`.
@@ -278,7 +278,7 @@ To vectorise textual fields of your documents at indexing 
time you need to confi
 [source,xml]
 ----
 <updateRequestProcessorChain name="textToVector">
-  <processor 
class="solr.llm.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
+  <processor 
class="solr.languagemodels.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
    <str name="inputField">_text_</str>
    <str name="outputField">vector</str>
    <str name="model">dummy-1</str>
@@ -332,7 +332,7 @@ This can be done in Solr defining two update request 
processors chains: one that
 <processor class="solr.processorN">
    ...
   </processor>
-<processor 
class="solr.llm.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
+<processor 
class="solr.languagemodels.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
    <str name="inputField">_text_</str>
    <str name="outputField">vector</str>
    <str name="model">dummy-1</str>
@@ -370,7 +370,7 @@ You still define two chains, but this time the 
'vectorisation' one only includes
 [source,xml]
 ----
 <updateRequestProcessorChain name="vectorisation">
-<processor 
class="solr.llm.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
+<processor 
class="solr.languagemodels.textvectorisation.update.processor.TextToVectorUpdateProcessorFactory">
    <str name="inputField">_text_</str>
    <str name="outputField">vector</str>
    <str name="model">dummy-1</str>
@@ -411,4 +411,4 @@ To run a query that vectorises your query text, using a 
model you previously upl
 
 The search results retrieved are the k=10 nearest documents to the vector 
encoded from the query `hello world query`, using the model `a-model`.
 
-For more details on how to work with vector search query parsers in Apache 
Solr, please refer to the dedicated page: xref:dense-vector-search.adoc[Dense 
Vector Search]
\ No newline at end of file
+For more details on how to work with vector search query parsers in Apache 
Solr, please refer to the dedicated page: xref:dense-vector-search.adoc[Dense 
Vector Search]
diff --git 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
index f3f7b2dc379..c6e61e70969 100644
--- 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
+++ 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
@@ -271,3 +271,9 @@ Due to Lucene 10 changes 
(https://github.com/apache/lucene/pull/12875), `PathHie
   </analyzer>
 </fieldType>
 ----
+
+=== Renaming in Vector Search
+Attention:
+
+* The `llm` module has been renamed to `language-models`.
+* The HNSW parameters `hnswMaxConnections` and `hnswBeamWidth` have been 
renamed to `hnswM` and `hnswEfConstruction`, respectively, so they must be 
updated accordingly in the schema.xml file.


Reply via email to