1
0

Improved prompt for summarizing text and added an edited flag

This commit is contained in:
Richard Dern 2024-05-17 00:12:55 +02:00
parent 0ca0df79cf
commit 83d90175c9

View File

@ -146,16 +146,17 @@ private function describeContent(Bundle $bundle, $progress)
$text = Translator::translate($text, $lang, $currentLanguage); $text = Translator::translate($text, $lang, $currentLanguage);
} }
$text = textarea( $newText = textarea(
label: sprintf('Confirm description for "%s"', $bundle->getArticleTitle()), label: sprintf('Confirm description for "%s"', $bundle->getArticleTitle()),
default: $text, default: $text,
required: true required: true
); );
$bundle->metadata()->set('description', [ $bundle->metadata()->set('description', [
'text' => $text, 'text' => $newText,
'generator' => $result['handler'], 'generator' => $result['handler'],
'model' => $result['model'], 'model' => $result['model'],
'edited' => $text !== $newText,
]); ]);
$bundle->metadata()->save(); $bundle->metadata()->save();
@ -229,16 +230,17 @@ private function describeAttachment(Bundle $bundle, string $ref, array $data)
$text = Translator::translate($text, $lang, $currentLanguage); $text = Translator::translate($text, $lang, $currentLanguage);
} }
$text = textarea( $newText = textarea(
label: sprintf('Confirm description for %s', $fullPath), label: sprintf('Confirm description for %s', $fullPath),
default: $text, default: $text,
required: true required: true
); );
$manager->manager()->set(sprintf('files.%s.alt', $ref), [ $manager->manager()->set(sprintf('files.%s.alt', $ref), [
'text' => $text, 'text' => $newText,
'generator' => $result['handler'], 'generator' => $result['handler'],
'model' => $result['model'], 'model' => $result['model'],
'edited' => $newText !== $text,
]); ]);
$manager->manager()->save(); $manager->manager()->save();
@ -251,11 +253,14 @@ private function describeAttachment(Bundle $bundle, string $ref, array $data)
private function askAiToSummarizeBundle(Bundle $bundle) private function askAiToSummarizeBundle(Bundle $bundle)
{ {
$prompt = 'Summarize the following markdown in two sentences, using the first person: $prompt = 'Summarize the content of the following Markdown text:
```markdown ```markdown
# ' . $bundle->getArticleTitle() . ' # ' . $bundle->getArticleTitle() . '
' . $bundle->markdown()->get() . ' ' . $bundle->markdown()->get() . '
``` ```
The goal is to create a summary that captures the spirit and key points of the page. Use concise phrases, but ensure they reflect the tone and content of the Markdown text.
The summary should be written in English or French and not exceed 255 characters. It will be used in the `<meta description>` tag of the page to help search engines understand the content of the file.
Do not include any header to the answer.
'; ';
$results = AI::providers([ $results = AI::providers([
AI::make('open-webui')->forService(AIHandler::SERVICE_SUMMARIZE_CONTENT)->withPrompt($prompt), AI::make('open-webui')->forService(AIHandler::SERVICE_SUMMARIZE_CONTENT)->withPrompt($prompt),