case class GGUFRankingFinisher(uid: String) extends Transformer with DefaultParamsWritable with Product with Serializable
Finisher for AutoGGUFReranker outputs that provides ranking capabilities including top-k selection, sorting by relevance score, and score normalization.
This finisher processes the output of AutoGGUFReranker, which contains documents with relevance scores in their metadata. It provides several options for post-processing:
- Top-k selection: Select only the top k documents by relevance score
- Score thresholding: Filter documents by minimum relevance score
- Min-max scaling: Normalize relevance scores to 0-1 range
- Sorting: Sort documents by relevance score in descending order
- Ranking: Add rank information to document metadata
The finisher preserves the document annotation structure while adding ranking information to the metadata and optionally filtering/sorting the documents.
Example
import com.johnsnowlabs.nlp.base._ import com.johnsnowlabs.nlp.annotators._ import com.johnsnowlabs.nlp.finisher._ import org.apache.spark.ml.Pipeline import spark.implicits._ val document = new DocumentAssembler() .setInputCol("text") .setOutputCol("document") val reranker = AutoGGUFReranker .pretrained("bge_reranker_v2_m3-Q4_K_M") .setInputCols("document") .setOutputCol("reranked_documents") .setQuery("A man is eating pasta.") val finisher = new GGUFRankingFinisher() .setInputCols("reranked_documents") .setOutputCol("ranked_documents") .setTopK(3) .setMinRelevanceScore(0.1) .setMinMaxScaling(true) val pipeline = new Pipeline().setStages(Array(document, reranker, finisher)) val data = Seq( "A man is eating food.", "A man is eating a piece of bread.", "The girl is carrying a baby.", "A man is riding a horse." ).toDF("text") val result = pipeline.fit(data).transform(data) result.select("ranked_documents").show(truncate = false) // Documents will be sorted by relevance with rank information in metadata
- uid
required uid for storing finisher to disk
- Grouped
- Alphabetic
- By Inheritance
- GGUFRankingFinisher
- Product
- Equals
- DefaultParamsWritable
- MLWritable
- Transformer
- PipelineStage
- Logging
- Params
- Serializable
- Serializable
- Identifiable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
$[T](param: Param[T]): T
- Attributes
- protected
- Definition Classes
- Params
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val QUERY_COL_NAME: String
- val RANK_COL_NAME: String
- val RELEVANCE_SCORE_COL_NAME: String
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
clear(param: Param[_]): GGUFRankingFinisher.this.type
- Definition Classes
- Params
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
copy(extra: ParamMap): Transformer
- Definition Classes
- GGUFRankingFinisher → Transformer → PipelineStage → Params
-
def
copyValues[T <: Params](to: T, extra: ParamMap): T
- Attributes
- protected
- Definition Classes
- Params
-
final
def
defaultCopy[T <: Params](extra: ParamMap): T
- Attributes
- protected
- Definition Classes
- Params
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
explainParam(param: Param[_]): String
- Definition Classes
- Params
-
def
explainParams(): String
- Definition Classes
- Params
-
final
def
extractParamMap(): ParamMap
- Definition Classes
- Params
-
final
def
extractParamMap(extra: ParamMap): ParamMap
- Definition Classes
- Params
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
get[T](param: Param[T]): Option[T]
- Definition Classes
- Params
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
getDefault[T](param: Param[T]): Option[T]
- Definition Classes
- Params
-
def
getInputCols: Array[String]
Name of input annotation cols containing reranked documents
-
def
getMinMaxScaling: Boolean
Get whether to apply min-max scaling
-
def
getMinRelevanceScore: Double
Get minimum relevance score threshold
-
final
def
getOrDefault[T](param: Param[T]): T
- Definition Classes
- Params
-
def
getOutputCol: String
Name of output annotation column containing ranked documents
-
def
getParam(paramName: String): Param[Any]
- Definition Classes
- Params
-
def
getTopK: Int
Get maximum number of top documents to return
-
final
def
hasDefault[T](param: Param[T]): Boolean
- Definition Classes
- Params
-
def
hasParam(paramName: String): Boolean
- Definition Classes
- Params
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
val
inputCols: StringArrayParam
Name of input annotation cols containing reranked documents
-
final
def
isDefined(param: Param[_]): Boolean
- Definition Classes
- Params
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isSet(param: Param[_]): Boolean
- Definition Classes
- Params
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
val
minMaxScaling: BooleanParam
Whether to apply min-max scaling to normalize relevance scores to 0-1 range
-
val
minRelevanceScore: DoubleParam
Minimum relevance score threshold for filtering documents
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
outputCol: StringArrayParam
Name of output annotation column containing ranked documents
-
lazy val
params: Array[Param[_]]
- Definition Classes
- Params
-
def
save(path: String): Unit
- Definition Classes
- MLWritable
- Annotations
- @Since( "1.6.0" ) @throws( ... )
-
final
def
set(paramPair: ParamPair[_]): GGUFRankingFinisher.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
set(param: String, value: Any): GGUFRankingFinisher.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
set[T](param: Param[T], value: T): GGUFRankingFinisher.this.type
- Definition Classes
- Params
-
final
def
setDefault(paramPairs: ParamPair[_]*): GGUFRankingFinisher.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
setDefault[T](param: Param[T], value: T): GGUFRankingFinisher.this.type
- Attributes
- protected[org.apache.spark.ml]
- Definition Classes
- Params
-
def
setInputCols(value: String*): GGUFRankingFinisher.this.type
Name of input annotation cols containing reranked documents
-
def
setInputCols(value: Array[String]): GGUFRankingFinisher.this.type
Name of input annotation cols containing reranked documents
-
def
setMinMaxScaling(value: Boolean): GGUFRankingFinisher.this.type
Set whether to apply min-max scaling
-
def
setMinRelevanceScore(value: Double): GGUFRankingFinisher.this.type
Set minimum relevance score threshold
-
def
setOutputCol(value: String): GGUFRankingFinisher.this.type
Name of output annotation column containing ranked documents
-
def
setTopK(value: Int): GGUFRankingFinisher.this.type
Set maximum number of top documents to return
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Identifiable → AnyRef → Any
-
val
topK: IntParam
Maximum number of top documents to return based on relevance score
-
def
transform(dataset: Dataset[_]): DataFrame
- Definition Classes
- GGUFRankingFinisher → Transformer
-
def
transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
- Definition Classes
- Transformer
- Annotations
- @Since( "2.0.0" )
-
def
transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
- Definition Classes
- Transformer
- Annotations
- @Since( "2.0.0" ) @varargs()
-
def
transformSchema(schema: StructType): StructType
- Definition Classes
- GGUFRankingFinisher → PipelineStage
-
def
transformSchema(schema: StructType, logging: Boolean): StructType
- Attributes
- protected
- Definition Classes
- PipelineStage
- Annotations
- @DeveloperApi()
-
val
uid: String
- Definition Classes
- GGUFRankingFinisher → Identifiable
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
write: MLWriter
- Definition Classes
- DefaultParamsWritable → MLWritable
Inherited from Product
Inherited from Equals
Inherited from DefaultParamsWritable
Inherited from MLWritable
Inherited from Transformer
Inherited from PipelineStage
Inherited from Logging
Inherited from Params
Inherited from Serializable
Inherited from Serializable
Inherited from Identifiable
Inherited from AnyRef
Inherited from Any
Parameters
A list of (hyper-)parameter keys this finisher can take. Users can set and get the parameter values through setters and getters, respectively.