M2-BERT 80M 8k-Retrieval

togethercomputer
Similitud de oraciones

Un punto de control de 80M de M2-BERT, preentrenado con una longitud de secuencia de 8192, y ajustado para recuperación de contexto largo. Este modelo fue entrenado por Jon Saad-Falcon, Dan Fu y Simran Arora. Genera incrustaciones para la recuperación con una dimensionalidad de 768.

Como usar

from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(
"togethercomputer/m2-bert-80M-8k-retrieval",
trust_remote_code=True
)

max_seq_length = 8192
testing_string = "Every morning, I make a cup of coffee to start my day."
model = AutoModelForSequenceClassification.from_pretrained(
"togethercomputer/m2-bert-80M-8k-retrieval",
trust_remote_code=True
)

tokenizer = AutoTokenizer.from_pretrained(
"bert-base-uncased",
model_max_length=max_seq_length
)
input_ids = tokenizer(
[testing_string],
return_tensors="pt",
padding="max_length",
return_token_type_ids=False,
truncation=True,
max_length=max_seq_length
)

outputs = model(**input_ids)
embeddings = outputs['sentence_embedding']

import os
import requests

def generate_together_embeddings(text: str, model_api_string: str, api_key: str):
url = "https://api.together.xyz/api/v1/embeddings"
headers = {
"accept": "application/json",
"content-type": "application/json",
"Authorization": f"Bearer {api_key}"
}
session = requests.Session()
response = session.post(
url,
headers=headers,
json={
"input": text,
"model": model_api_string
}
)
if response.status_code != 200:
raise ValueError(f"Request failed with status code {response.status_code}: {response.text}")
return response.json()['data'][0]['embedding']

print(generate_together_embeddings(
'Hello world',
'togethercomputer/m2-bert-80M-8k-retrieval',
os.environ['TOGETHER_API_KEY'])[:10]
)

Funcionalidades

Transformers
PyTorch
Modelo de Similaridad de Oraciones
Código Personalizado
Clasificación de Texto

Casos de uso

Clasificación de textos
Recuperación de información
Generación de incrustaciones de oraciones
Uso en aplicaciones que manejan contextos largos