CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-vllm

A high-throughput and memory-efficient inference and serving engine for LLMs

Overall
score

69%

Evaluation69%

1.33x

Agent success when using this tile

Overview
Eval results
Files

text-scoring.mddocs/

Text Scoring

Text similarity and likelihood scoring for comparing text pairs, ranking, and evaluation tasks. Supports various scoring methods including cosine similarity and likelihood-based metrics.

Capabilities

Text Scoring

Compare text pairs and compute similarity or likelihood scores for ranking, retrieval, and evaluation applications.

def score(
    self,
    data_1: Union[SingletonPrompt, Sequence[SingletonPrompt], ScoreMultiModalParam],
    data_2: Union[SingletonPrompt, Sequence[SingletonPrompt], ScoreMultiModalParam],
    /,
    *,
    truncate_prompt_tokens: Optional[int] = None,
    use_tqdm: Union[bool, Callable[..., tqdm]] = True,
    pooling_params: Optional[PoolingParams] = None,
    lora_request: Optional[Union[List[LoRARequest], LoRARequest]] = None
) -> List[ScoringRequestOutput]:
    """
    Score similarity between text pairs.

    Parameters:
    - data_1: First set of texts (positional-only)
    - data_2: Second set of texts to compare (positional-only)
    - truncate_prompt_tokens: Maximum prompt length (keyword-only)
    - use_tqdm: Show progress bar (keyword-only)
    - pooling_params: Pooling configuration for embeddings (keyword-only)
    - lora_request: LoRA adapter configuration (keyword-only)

    Returns:
    List of ScoringRequestOutput with similarity scores

    Note: The scoring method is automatically determined by the model type.
    Embedding models use cosine similarity, cross-encoder models use likelihood.
    """

Usage Examples

Text Similarity Scoring

from vllm import LLM, PoolingParams

llm = LLM(model="sentence-transformers/all-MiniLM-L6-v2")

text_pairs = [
    ("The cat sat on the mat.", "A cat was sitting on a mat."),
    ("Python is a programming language.", "Java is a programming language."),
    ("I love pizza.", "Pizza is the worst food ever.")
]

pooling_params = PoolingParams(pooling_type="MEAN", normalize=True)

for text1, text2 in text_pairs:
    outputs = llm.score(
        [text1], [text2],
        kind="cosine_similarity",
        pooling_params=pooling_params
    )
    score = outputs[0].outputs.score
    print(f"Similarity: {score:.3f} - '{text1}' vs '{text2}'")

Types

class ScoringRequestOutput:
    id: str
    outputs: ScoringOutput
    prompt_token_ids: List[int]
    finished: bool

class ScoringOutput:
    score: float  # Similarity or likelihood score

Install with Tessl CLI

npx tessl i tessl/pypi-vllm

docs

async-inference.md

chat-completions.md

configuration.md

index.md

parameters-types.md

text-classification.md

text-embeddings.md

text-generation.md

text-scoring.md

tile.json