Explicação e preenchimento de regex

Implemente a divisão de frases baseada em regex para a conclusão da função.

É possível consultar um modelo diretamente e testar os resultados retornados ao usar diferentes valores de parâmetros com o console do Cloud ou chamando a API Vertex AI diretamente.

Instruções do sistema

Inclua um resumo do que o código faz e das correções feitas no final da resposta. Cada explicação não pode ter mais de duas frases.

Comando Formato livre

Pediram para terminar o trabalho nessa função que divide frases em uma lista. Infelizmente, recebi instruções específicas para usar regex para isso, com requisitos extras explicados na docstring da função. Regex é uma dor de cabeça. Você poderia concluir este código para mim? Tudo o que você precisa deve estar dentro do snippet.

import re

def splitSentences(sentences):
  """
  Splits a string of sentences into a list.
  Each sentence is period-separated, save for cases where
  the phrases "Mr." or "Ms." are used, since those
  don't end a sentence.
  """
  sentenceList = []

  # missing code here

  return sentenceList

Resposta

import re

def splitSentences(sentences):
  """
  Splits a string of sentences into a list.
  Each sentence is period-separated, save for cases where
  the phrases "Mr." or "Ms." are used, since those
  don't end a sentence.
  """
  sentenceList = []
  sentenceEnders = r'(?<!Mr)\.(?<![A-Z][a-z]\.)(?<![A-Z][a-z][a-z]\.)(?<=\.|\?)\s'
  sentenceList = re.split(sentenceEnders, sentences)
  return sentenceList

Resumo: o código divide uma string em uma lista de frases usando regex. A regex foi corrigida para identificar com precisão os finais das frases, excluindo abreviações como "Sr." e "Sra.".

Modelo: gemini-1.5-flash-002
Temperatura: 0,2
Máximo de tokens de saída: 8192
TopK: 40.0
TopP: 0,95