Aprendizagem pessoal com IA
e orientação prática

Guia de migração do Jina Embeddings v2 para v3

Guia de migração do Jina Embeddings v2 para v3-1

 


Jina Embeddings v3 Nosso mais recente modelo de vetor de texto de nível superior com 570 milhões de parâmetros atinge o melhor SOTA da categoria em tarefas de recuperação de textos longos e multilíngues.

A v3 não é apenas mais avançada, mas também tem muitos recursos novos e interessantes. Se você ainda estiver usando o Jina Embeddings v2, que foi lançado em outubro de 2023, recomendamos enfaticamente que migre para a v3 o mais rápido possível.

Vamos começar com uma breve visão geral dos destaques do Jina Embeddings v3:

  • Suporte para 89 idiomas Processamento de texto em vários idiomas: superando a limitação de que a v2 só pode lidar com alguns idiomas bilíngues, realizando um verdadeiro processamento de texto em vários idiomas.
  • Adaptador Lora embutidoA v2 é um modelo de incorporação genérico, enquanto a v3 tem um adaptador Lora integrado que gera vetores otimizados especificamente para suas tarefas de recuperação, classificação, agrupamento e outras tarefas, para um melhor desempenho.
  • A pesquisa de texto longo é mais precisa :: utilização da v3 do 8192 token A técnica Late Chunking, que gera vetores de blocos com informações contextuais mais ricas, pode melhorar significativamente a precisão da recuperação de textos longos.
  • As dimensões do vetor são flexíveis e controláveis As dimensões vetoriais da : v3 podem ser ajustadas de forma flexível para obter um equilíbrio entre desempenho e espaço de armazenamento, evitando as altas despesas gerais de armazenamento associadas a vetores de alta dimensão. Isso é possível graças ao aprendizado de representação Matryoshka (MRL).

Link para o modelo de código aberto: https://huggingface.co/jinaai/jina-embeddings-v3

Link da API do modelo: https://jina.ai/?sui=apikey

Link para o documento modelo: https://arxiv.org/abs/2409.10173

 

Guia rápido de migração

  • A v3 é um modelo completamente novo, portanto, os vetores e índices da v2 não podem ser reutilizados diretamente, e você precisa reindexar os dados novamente.
  • Na maioria dos cenários (96%), a v3 supera significativamente a v2, enquanto a v2 apenas ocasionalmente empata ou até mesmo supera ligeiramente a v3 na tarefa de resumo em inglês. Entretanto, devido ao suporte a vários idiomas e aos recursos avançados da v3, a v3 deve ser preferida na maioria dos cenários.
  • A API v3 agora inclui tarefaedimensões responder cantando late_chunking Três parâmetros, cujo uso exato pode ser encontrado em nossa postagem no blog.

Ajuste dimensional

  • A v3 produz um vetor de 1024 dimensões por padrão, enquanto a v2 tem apenas 768 dimensões. Com o aprendizado da representação Matryoshka, a v3 agora pode, teoricamente, gerar qualquer dimensão. Os desenvolvedores podem definir o dimensões Os parâmetros controlam com flexibilidade a dimensionalidade dos vetores de saída para encontrar o melhor equilíbrio entre o custo de armazenamento e o desempenho
  • Se o seu projeto anterior foi desenvolvido com base na API v2, altere o nome do modelo diretamente para jina-embeddings-v3 não é possível porque as dimensões padrão foram alteradas. Se quiser manter a estrutura de dados ou o tamanho consistente com a v2, você pode definir o parâmetro dimensões=768Mesmo que as dimensões sejam as mesmas. Mesmo que as dimensões sejam as mesmas, os vetores de v3 e v2 têm distribuições completamente diferentes no espaço semântico e, portanto, não podem ser usados diretamente de forma intercambiável.

Substituição de modelo

  • O forte suporte multilíngue da v3 substituiu totalmente o modelo bilíngue da v2 (v2-base-de, v2-base-es, v2-base-zh).
  • Para tarefas de codificação pura, o jina-embeddings-v2-based-code ainda é a melhor opção. Os testes mostram que a pontuação chega a 0,7753, em comparação com 0,7537 para vetores genéricos v3 (sem conjunto de tarefas) e 0,7564 para o adaptador LoRA, o que dá à codificação v2 uma vantagem de desempenho de cerca de 2,81 TP3T em relação à v3.

Parâmetros da missão

  • A API v3 gera vetores genéricos de boa qualidade quando o parâmetro de tarefa não é especificado, mas é altamente recomendável definir o parâmetro de tarefa de acordo com o tipo de tarefa específico para obter uma melhor representação do vetor.
  • Para fazer com que a v3 emule o comportamento da v2, use a opção task="text-matching"Recomendamos experimentar diferentes opções de tarefas para encontrar a melhor solução, mas não para substituir o correspondência de texto Como um programa universal.
  • Se o seu projeto usa a v2 para recuperação de informações, é recomendável mudar para a v3 para o tipo de tarefa de recuperação (recuperação.passagem responder cantando recuperação.consulta), é possível obter melhores resultados de recuperação.

Outras considerações

  • Para tipos de tarefas totalmente novos (que são raros), tente definir o parâmetro da tarefa como None como ponto de partida.
  • Se você usou a técnica de reescrita de rótulo na v2 para tarefas de classificação de amostra zero, na v3 você pode simplesmente definir o parâmetro task="classification" Resultados semelhantes são obtidos porque a v3 otimizou a representação vetorial para a tarefa de classificação.
  • Tanto a v2 quanto a v3 suportam comprimentos de contexto de até 8192 tokens, mas a v3 é mais eficiente, graças à tecnologia FlashAttention2, e estabelece as bases para o recurso de pontuação tardia da v3.

Guia de migração do Jina Embeddings v2 para v3-1

 

Chunking tardio

  • A v3 introduz uma função de divisão tardia, que usa 8192 tokens para formar um contexto longo e, em seguida, divide-o em vetores, de modo que cada pequena parte contenha informações contextuais, o que torna a recuperação naturalmente mais precisa.
  • late_chunking No momento, ele só está disponível na API, portanto, se você estiver executando modelos localmente, não poderá usar esse recurso por algum tempo.
  • começar a usar late_chunking O tamanho do texto de cada solicitação não pode exceder 8192 tokens, porque a v3 só pode processar uma quantidade limitada de conteúdo de uma vez.

Desempenho e velocidade

  • Em termos de velocidade, embora a v3 tenha três vezes mais parâmetros do que a v2, a inferência é mais rápida do que a v2 ou, no mínimo, igual, principalmente devido à tecnologia FlashAttention2.
  • Nem todas as GPUs são compatíveis com o FlashAttention2. A v3 ainda será executada se você estiver usando uma GPU que não seja compatível, mas poderá ser um pouco mais lenta do que a v2.
  • Ao usar a API, fatores como latência da rede, limitações de taxa e zonas de disponibilidade também afetam a latência, de modo que a latência da API não reflete totalmente o desempenho real do modelo v3.

Ao contrário da v2, a Jina Embeddings v3 está licenciada sob a CC BY-NC 4.0. A v3 pode ser usada comercialmente por meio de nossa API, AWS ou Azure. O uso para pesquisa e não comercial não é problema. Para implantação comercial local, entre em contato com nossa equipe de vendas para obter uma licença:

https://jina.ai/contact-sales

 

Suporte a vários idiomas

A v3 é atualmente o modelo vetorial multilíngue líder do setor** e está classificada em segundo lugar nos gráficos M****TEB para modelos com menos de 1 bilhão de parâmetros. **É compatível com 89 idiomas, abrangendo a maioria dos principais idiomas do mundo.

Entre eles estão chinês, inglês, japonês, coreano, alemão, espanhol, francês, árabe, bengali, dinamarquês, holandês, finlandês, georgiano, grego, hindi, indonésio, italiano, letão, norueguês, polonês, português, romeno, russo, eslovaco, sueco, tailandês, turco, ucraniano, urdu e vietnamita. Turco, ucraniano, urdu e vietnamita.

Se você estava usando anteriormente os modelos inglês, inglês/alemão, inglês/espanhol ou inglês/chinês da v2, agora só precisa modificar o modelo e selecione os parâmetros apropriados tarefa você pode mudar facilmente para a v3.

# v2 Inglês-Alemão

dados = {
    "modelo": "jina-incorporações-v2-base-de",
    "entrada": [
        "O Força vontade ser com você. Sempre.",
        "Morrer Macht wird mit dir sein. Imersão.",
        "O capacidade para destruir a planeta é insignificante próxima para o potência de o Força.",
        "Morrer FäHigkeit, einen Planeten zu zerarören, ist nada im Comparação zur Macht der Macht."
    ]
}
# v3 Multilíngue

dados = {
    "modelo": "jina-incorporações-v3",
    "tarefa": "recuperação.passagem",
    "entrada": [
        "O Força vontade ser com você. Sempre.",
        "Morrer Macht wird mit dir sein. Imersão." ,
        "A força está com você. Para sempre." ,
        "La Forza sarà con te. Sempre." ,
        "フォースと共にあらんこと. É uma boa ideia."
    ]
}

resposta = requests.post(url, headers=headers, json=dados)

 

Representação vetorial específica da tarefa

A v2 usa uma representação vetorial genérica, ou seja, todas as tarefas compartilham o mesmo modelo. A v3 fornece representações vetoriais especialmente otimizadas para diferentes tarefas (por exemplo, recuperação, classificação, agrupamento etc.) para melhorar o desempenho em cenários específicos.

Selecione diferentes tarefa o que equivale a informar ao modelo quais recursos relevantes para essa tarefa devem ser extraídos, gerando uma representação vetorial mais adaptada aos requisitos da tarefa.

A seguir, um exemplo da Base de Conhecimento de Reparo do Sabre de Luz, demonstrando como migrar o código da v2 para a v3 e experimentar os ganhos de desempenho das representações vetoriais específicas da tarefa:

# Em projetos reais, usaremos conjuntos de dados maiores, este é apenas um exemplo
base de conhecimento = [
    "Por que a lâmina do meu sabre de luz está piscando? Uma lâmina piscando pode indicar uma bateria fraca ou um cristal instável. Carregue a bateria e verifique a estabilidade do cristal. Se a intermitência persistir, o cristal pode precisar ser recalibrado ou substituído.",
    "Por que minha lâmina está mais fraca do que antes? Uma lâmina mais fraca pode significar uma bateria fraca ou um problema com a distribuição de energia. Em primeiro lugar, carregue a bateria. Se o problema persistir, talvez seja necessário substituir o LED.",
    "Posso mudar a cor da lâmina do meu sabre de luz? Muitos sabres de luz permitem que a cor da lâmina seja personalizada trocando os cristais ou alterando as configurações de cor usando o painel de controle no punho. Consulte o manual do modelo para obter instruções detalhadas.",
    "O que devo fazer se meu sabre de luz superaquecer? O superaquecimento pode ser causado pelo uso prolongado. Desligue o sabre de luz e deixe-o esfriar por pelo menos 10 minutos. Se ele superaquecer com frequência, isso pode indicar um problema interno que precisa ser verificado por um técnico.",
    "Como faço para carregar meu sabre de luz? Conecte seu sabre de luz ao cabo de carregamento fornecido por meio da porta próxima ao punho, certificando-se de usar um carregador oficial para evitar danos à bateria e aos componentes eletrônicos.",
    "Por que meu sabre de luz está fazendo ruídos estranhos? Os ruídos estranhos podem indicar um problema com a placa de som ou com os alto-falantes. Tente desligar o sabre de luz e ligá-lo novamente. Se o problema persistir, entre em contato com nossa equipe de suporte para obter uma placa de som de reposição."
]
consulta = "Os sabres de luz são muito escuros".

Para a v2, há apenas uma tarefa (correspondência de texto), portanto, precisamos apenas de um bloco de código de exemplo:

Código # v2: codificação de bases de conhecimento e consultas usando tarefas de correspondência de texto
data = {
    "model" (modelo): "jina-embeddings-v2-base-en".,
    "normalizado": Verdadeiro.  # Observação: esse parâmetro não é mais necessário na v3.
    "input" (entrada): base de conhecimento
}

docs_response = requests.post(url, headers=headers, json=data)

dados = {
    "model" (modelo): "jina-embeddings-v2-base-en".,
    "tarefa": "text-matching" (correspondência de texto),
    "input" (entrada): [query]
}

query_response = requests.post(url, headers=headers, json=data)

A v3 fornece representações vetoriais otimizadas para tarefas específicas, incluindo recuperação, separação, classificação e correspondência de texto.

Representação vetorial da tarefa de pesquisa

Usamos uma base de conhecimento simples de reparo de sabre de luz como exemplo para demonstrar a diferença entre a v2 e a v3 ao lidar com tarefas de recuperação de texto.

Para tarefas de recuperação semântica, a v3 introduz a codificação assimétrica usando, respectivamente, o recuperação.passagem responder cantando recuperação.consulta Codificação de documentos e consultas para melhorar o desempenho e a precisão da recuperação.

Codificação de documentos: recuperação.passagem

dados = {
    "model" (modelo): "jina-embeddings-v3",
    "tarefa": "retrieval.passage", # "tarefa" Os parâmetros são novos na v3
    "late_chunking": Verdadeiro.
    "input" (entrada): base de conhecimento
}

response = requests.post(url, headers=headers, json=dados)

Código de consulta: recuperação.consulta

dados = {
    "model" (modelo): "jina-embeddings-v3",
    "tarefa": "retrieval.query",
    "late_chunking": Verdadeiro.
    "input" (entrada): [query]
}

resposta = requests.post(url, headers=cabeçalhos, json=dados)

Observação: O código acima ativa olate_chunkingque pode aprimorar a codificação de textos longos. Apresentaremos essa função em detalhes mais adiante.

 

Vamos comparar o desempenho de v2 e v3 para a consulta "lightsabers are too dark" (sabres de luz são muito escuros). v2 retorna um conjunto de correspondências menos relevantes com base na similaridade de cosseno, conforme mostrado abaixo:

Guia de migração do Jina Embeddings v2 para v3-1

 

Em contrapartida, a v3 entende melhor a intenção da consulta e retorna resultados mais precisos relacionados à "aparência da lâmina do sabre de luz", conforme mostrado abaixo.

Guia de migração do Jina Embeddings v2 para v3-1

A v3 não faz apenas a recuperação, mas também fornece várias outras representações vetoriais específicas de tarefas:

Representação vetorial de tarefas de separação

v3 separação As tarefas são otimizadas para tarefas de separação, como agrupamento, reclassificação etc., por exemplo, separar diferentes tipos de entidades, o que é útil para organizar e visualizar grandes corpora.

Exemplo: Distinguir os personagens de Guerra nas Estrelas e da Disney

dados = {
    "modelo": "jina-incorporações-v3",
    "tarefa": "separação", # Use separação Missão
    "late_chunking": Verdadeiro,
    "entrada": [
        "Darth Vader",
        "Lucas. Skywalker",
        "Mickey. Mouse",
        "Donald Pato"
    ]
}

resposta = requests.post(url, headers=headers, json=dados)

Representação vetorial de tarefas de classificação

v3 classificação A tarefa é otimizada para tarefas de categorização de texto, como análise de sentimento e classificação de documentos, por exemplo, classificação de texto em comentários positivos e negativos.

Exemplo: analisar as tendências emocionais das resenhas do filme Guerra nas Estrelas

dados = {
    "model" (modelo): "jina-embeddings-v3",
    "tarefa": "classificação",
    "late_chunking": Verdadeiro.
    "input" (entrada): [
        "Guerra nas Estrelas é uma obra-prima de época que revolucionou a indústria cinematográfica e redefiniu o cinema de ficção científica para sempre!",
        "Com visuais impressionantes, personagens inesquecíveis e uma narrativa lendária, Star Wars é um fenômeno cultural incomparável.",
        "Guerra nas Estrelas é um desastre exagerado, cheio de personagens superficiais e sem enredo significativo!",

}

resposta = requests.post(url, headers=cabeçalhos, json=dados)

Representação vetorial da correspondência de texto

v3 correspondência de texto Concentre-se em tarefas de similaridade semântica, como similaridade de frases ou redução de ênfase, por exemplo, excluindo frases ou parágrafos repetidos.

Exemplo: Identificar a repetição nas falas de Guerra nas Estrelas

dados = {
    "model" (modelo): "jina-embeddings-v3",
    "tarefa": "text-matching" (correspondência de texto),
    "late_chunking": Verdadeiro.
    "input" (entrada): [
        "Luke, eu sou seu pai.",
        "Não, eu sou seu pai".,
        "O medo leva à raiva, a raiva leva ao ódio, o ódio leva ao lado negro.",
        "O medo leva à raiva, a raiva leva ao ódio, o ódio leva ao sofrimento."
    ]
}

resposta = requests.post(url, headers=cabeçalhos, json=dados)

 

Late Chunking: aprimorando a codificação de textos longos

A v3 apresenta o late_chunking quando o parâmetro late_chunking=True Quando o modelo processa o documento inteiro e o divide em vários blocos para gerar vetores de blocos que contêm informações contextuais completas; quando o late_chunking=False Quando o modelo processa cada bloco de forma independente, os vetores de blocos gerados não contêm informações contextuais entre os blocos.

tomar nota de

  • começar a usar late_chunking=True O número total de tokens por solicitação de API não pode exceder 8192, que é o comprimento máximo de contexto suportado pela v3.
  • late_chunking=FalseO número total de tokens não é limitado, mas está sujeito ao limite de taxa da API Embeddings.

Para o processamento de textos longos, ative o late_chunkingpode melhorar significativamente os resultados da codificação, pois preserva as informações contextuais entre os blocos e torna a representação vetorial gerada mais completa e precisa.

Usamos a transcrição de um bate-papo para avaliar late_chunking Impacto na eficácia da recuperação de textos longos.

histórico = [
    "Sita, você já decidiu onde vai jantar no seu aniversário no sábado?",
    "Não tenho certeza, não estou muito familiarizado com os restaurantes daqui.",
    "Podemos acessar a Internet e ver as recomendações.",
    "Isso parece bom, vamos fazer isso!",
    "Que tipo de prato você quer para o seu aniversário?",
    "Gosto especialmente de comida mexicana ou italiana.",
    "Que tal este lugar, Bella Italia? Parece bom.",
    "Ah, eu já ouvi falar desse lugar! Todo mundo diz que lá é ótimo!",
    "Vamos reservar uma mesa, então?",
    "Ok, acho que vai ser perfeito! Vamos ligar e fazer uma reserva".
]

 

Usando a v2 para a consulta "Quais são algumas boas recomendações de restaurantes?" os resultados obtidos não são particularmente relevantes.

Guia de migração do Jina Embeddings v2 para v3-1

 

Com a v3 e sem chunking tardio ativado, os resultados são igualmente insatisfatórios.

Guia de migração do Jina Embeddings v2 para v3-1

 

No entanto, ao usar a v3 e ativar o fragmentação tardia Quando o resultado mais relevante (uma boa recomendação de restaurante) foi classificado exatamente em primeiro lugar.

Guia de migração do Jina Embeddings v2 para v3-1

 

Resultados da pesquisa:

Guia de migração do Jina Embeddings v2 para v3-1

 

Os resultados da pesquisa deixam claro que habilitar late_chunking Depois disso, a v3 é capaz de identificar com mais precisão os bate-papos relevantes para a consulta, classificando os resultados mais relevantes primeiro.

Isso também mostra que late_chunking<span> </span>A precisão da recuperação de textos longos pode ser melhorada de forma eficaz e eficiente, especialmente em cenários que exigem uma compreensão profunda da semântica contextual.

Uso de vetores aninhados russos para representar a eficiência e o desempenho do balanceamento

v3 Adotada dimensões O parâmetro oferece suporte ao controle flexível da dimensão do vetor. É possível ajustar a dimensão do vetor de saída de acordo com a demanda real e encontrar um equilíbrio entre desempenho e espaço de armazenamento.

Dimensões vetoriais menores podem reduzir a sobrecarga de armazenamento dos bancos de dados vetoriais e melhorar a velocidade de recuperação, mas algumas informações podem ser perdidas, resultando em uma degradação do desempenho.

data = {
    "model" (modelo): "jina-embeddings-v3",
    "tarefa": "text-matching" (correspondência de texto),
    "dimensões": 768,  # define a dimensão do vetor como 768, o padrão é 1024
    "input" (entrada): [
        "A Força estará com você. Sempre.",
        "A força está com você. Para sempre.",
        "La Forza sarà con te. Sempre.",
        "フォースと共にあらんこと. Itumo".
    ]
}

response = requests.post(url, headers=headers, json=data)

problemas comuns

P1: Quais são as vantagens de usar o Late Chunking se eu já tiver dividido o documento em pedaços antes da vetorização?

A1: A vantagem da divisão tardia em relação à pré-divisão é a capacidade de Processa o documento inteiro antes da fragmentação, retendo assim informações contextuais mais completas . A fragmentação tardia é importante para o processamento de documentos complexos ou longos, pois pode ajudar a fornecer uma resposta mais relevante durante a recuperação, já que o modelo tem uma compreensão holística do documento antes da fragmentação. Enquanto os blocos de pré-segmentação são processados independentemente dos blocos sem contexto completo.

P2: Por que a v2 tem uma pontuação de benchmark mais alta do que a v3 na tarefa de classificação por pares? Preciso me preocupar?

A2: as pontuações aparentemente mais altas da v2 na tarefa de classificação por pares devem-se principalmente ao fato de que as pontuações médias são calculadas de forma diferente. O conjunto de testes da v3 contém mais idiomas, portanto, suas pontuações médias provavelmente serão mais baixas do que as da v2.

Q3: A v3 tem melhor desempenho em idiomas específicos compatíveis com o modelo bilíngue v2?

A3: Comparação do desempenho dos modelos bilíngues v3 e v2 em idiomas específicos Depende do idioma específico e do tipo de tarefa O modelo bilíngue da v2 é altamente otimizado para idiomas específicos e, portanto, pode ter um desempenho melhor em algumas tarefas específicas. No entanto, a v3 foi projetada para oferecer suporte a uma gama mais ampla de cenários multilíngues, com uma generalização mais forte entre idiomas e otimizada para uma variedade de tarefas posteriores por meio de adaptadores LoRA específicos da tarefa. Como resultado, a v3 geralmente apresenta melhor desempenho geral em vários idiomas ou em cenários específicos de tarefas mais complexas, como recuperação semântica e categorização de texto.

Se você só precisa lidar com um idioma específico compatível com o modelo bilíngue v2 (chinês-inglês, inglês-alemão, espanhol-inglês) e sua tarefa é relativamente simples, a v2 ainda é uma boa opção e pode até ter um desempenho melhor em alguns casos.

No entanto, se você precisar lidar com vários idiomas ou se sua tarefa for mais complexa (por exemplo, se precisar executar a recuperação semântica ou a classificação de texto), a v3, com seus sólidos recursos de generalização entre idiomas e estratégias de otimização baseadas em tarefas downstream, será uma opção melhor.

Q4: Por que a v2 é melhor do que a v3 em tarefas resumidas e eu preciso me preocupar?

A4: a v2 tem um desempenho melhor na tarefa de sumarização, principalmente porque sua arquitetura de modelo é especificamente otimizada para tarefas como a similaridade semântica, que está intimamente relacionada à tarefa de sumarização. A v3 foi projetada com o objetivo de oferecer um suporte mais amplo à tarefa, especialmente em tarefas de recuperação e classificação e, portanto, não é tão bem otimizada quanto a v2 na tarefa de sumarização.

Entretanto, não devemos nos preocupar muito, pois a avaliação da tarefa de sumarização atualmente se baseia no SummEval, um teste que mede a similaridade semântica e não representa totalmente a capacidade geral do modelo na tarefa de sumarização. Como a v3 tem um bom desempenho em outras tarefas importantes, como a recuperação, pequenas diferenças de desempenho na tarefa de sumarização geralmente não têm um impacto significativo nos aplicativos do mundo real.

resumos

O Jina Embeddings v3 é uma grande atualização de modelo para o nosso SOTA, o melhor da categoria, para tarefas de recuperação de textos longos e multilíngues, e vem com uma variedade de adaptadores LoRA integrados que podem ser personalizados para diferentes cenários de recuperação, agrupamento, classificação e correspondência, dependendo de suas necessidades para obter resultados de vetorização mais precisos. Recomendamos enfaticamente que você migre para a v3 o mais rápido possível.

Essas são apenas algumas de nossas apresentações sobre o Jina Embeddings v3. Esperamos que sejam úteis. Se tiver alguma dúvida, fique à vontade para deixar um comentário para conversarmos!

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Guia de migração do Jina Embeddings v2 para v3

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil