Um vetor é uma lista de números que captura o significado e as relações dos dados, sejam textos, imagens ou qualquer outro conteúdo. Vetores numericamente próximos representam dados semanticamente semelhantes. O DashVector armazena, indexa e pesquisa esses vetores para permitir a criação de aplicações de busca por similaridade, recomendação e geração aumentada por recuperação (RAG) em escala.
Como funciona o embedding
Antes de armazenar dados no DashVector, converta-os em um vetor usando um modelo de embedding. Essa conversão chama-se embedding.
Por exemplo, o modelo text-embedding-v1 do Model Studio converte um texto de entrada em um vetor:
import dashscope
from dashscope import TextEmbedding
dashscope.api_key = {YOUR API KEY}
def embed_with_str():
resp = TextEmbedding.call(
model=TextEmbedding.Models.text_embedding_v1,
input='The quality of the clothes is simply outstanding, and they look fabulous. The wait was completely worth it, and I am absolutely delighted with my purchase. I will definitely be a repeat customer here.')
print(resp)
if __name__ == '__main__':
embed_with_str()
A resposta contém um campo embedding. Esse array de números é o vetor:
{
"status_code": 200,
"request_id": "617b3670-6f9e-9f47-ad57-997ed8aeba6a",
"code": "",
"message": "",
"output": {
"embeddings": [
{
"embedding": [
0.09393704682588577,
2.4155092239379883,
-1.8923076391220093,
...
],
"text_index": 0
}
]
},
"usage": {
"total_tokens": 23
}
}
Conceitos principais
Dimensões
A dimensão de um vetor corresponde à quantidade de elementos no array. Um vetor com 1.024 números tem 1.024 dimensões. A dimensão é fixa para cada modelo: toda saída do text-embedding-v1 possui exatamente 1.024 dimensões.
|
Nome do modelo |
Dimensão do vetor |
Máximo de linhas |
Máximo de tokens por linha |
Idiomas suportados |
|
text-embedding-v3 |
1.024 (padrão), 768, 512, 256, 128 ou 64 |
10 |
8.192 |
Chinês, inglês, espanhol, francês, português, indonésio, japonês, coreano, alemão, russo e mais de 50 outros idiomas principais |
Tipo de dados
O tipo de dados de um vetor refere-se ao tipo de seus elementos. Por exemplo, o text-embedding-v1 gera elementos float; portanto, seus vetores são do tipo float. Um vetor simples de inteiros como [1, 2, 3, 4] é um vetor int de 4 dimensões.
A dimensão e o tipo de dados variam conforme o modelo de embedding. Ao criar uma coleção, defina esses parâmetros para corresponder ao modelo utilizado.
Métricas de distância
O DashVector mede a similaridade entre vetores por meio da distância. Quanto menor a distância, maior a similaridade entre os dois vetores. O DashVector oferece suporte a três métricas de distância.
Distância do cosseno
A distância do cosseno mede o ângulo entre dois vetores, não sua magnitude. É ideal para busca textual e semântica, pois a direção do significado importa mais que a escala.
O DashVector define a distância do cosseno como:
cosine distance = 1 − cosine similarity
O intervalo válido é [0, 2]. Um valor menor indica maior similaridade.

Nesta fórmula, _A_ e _B_ são dois vetores, _n_ é a dimensão, · é o produto escalar, e ||_A_|| e ||_B_|| são as magnitudes dos vetores.


Distância euclidiana
A distância euclidiana representa a distância em linha reta entre dois vetores no espaço. É adequada para dados espaciais e similaridade geométrica, nas quais a magnitude real e a posição dos vetores são relevantes.
Uma distância euclidiana menor indica maior similaridade.

Nesta fórmula, _A_ e _B_ são dois vetores e _n_ é a dimensão.

Produto escalar
O produto escalar (também chamado de produto interno) mede o grau de alinhamento entre dois vetores. É adequado para sistemas de recomendação, nos quais é necessário quantificar a concordância entre dois itens.
Um produto escalar maior indica maior similaridade.

Nesta fórmula, _A_ e _B_ são dois vetores e _n_ é a dimensão.

Modelos e parâmetros comuns
Ao criar uma coleção, alinhe a dimensão, o tipo de dados e a métrica de distância ao seu modelo de embedding.
|
Modelo |
Dimensões do vetor |
Tipo de dados |
Métrica de distância recomendada |
|
text-embedding-v3 |
1.536 |
Float(32) |
Cosseno |
|
OpenAI Embedding |
1.536 |
Float(32) |
Cosseno |

Especificações do modelo text-embedding-v3
|
Especificação |
Valor |
|
Dimensões do vetor |
1.024 (padrão), 768 ou 512 |
|
Máximo de linhas por solicitação |
10 |
|
Máximo de tokens por linha |
8.192 |
|
Idiomas suportados |
Chinês, inglês, espanhol, francês, português, indonésio, japonês, coreano, alemão, russo e mais de 50 outros idiomas |
Para obter mais informações, consulte o guia de início rápido do text-embedding-v3.