This commit is contained in:
ct
2025-06-21 09:13:23 +08:00
parent db10fc3f1c
commit 8e58f85860
39 changed files with 684 additions and 181 deletions

View File

@@ -8,8 +8,6 @@
use App\Models\MemeMedia;
use App\Models\MemeMediaEmbedding;
use Exception;
use Illuminate\Contracts\Filesystem\Cloud;
use PhpParser\Lexer\TokenEmulator\KeywordEmulator;
class KeywordEmbeddingMaintenance
{
@@ -24,7 +22,7 @@ public static function populateCategoryEmbeddings()
foreach ($categories as $category) {
$embedding_query = $category->name . " " . $category->description;
$embedding_query = $category->name.' '.$category->description;
$keyword_embedding = KeywordEmbedding::where('keyword', $embedding_query)->first();
@@ -75,7 +73,6 @@ public static function populateMemeMediasKeywordsEmbeddings()
dump("{Processing: {$count}/{$max}: {$meme_media->name}");
// keywords:
foreach ($meme_media->keywords as $keyword) {
@@ -113,7 +110,6 @@ public static function populateMemeMediasKeywordsEmbeddings()
dump("Populating emotion keyword embedding for {$keyword}");
$embedding = self::fetchAndCacheEmbedding($keyword);
if ($embedding) {
MemeMediaEmbedding::create([
'meme_media_id' => $meme_media->id,
@@ -140,8 +136,8 @@ public static function populateMemeMediasKeywordsEmbeddings()
}
dump("✓ Successfully processed meme media {$meme_media->id}");
dump("");
dump("");
dump('');
dump('');
}
}
@@ -150,7 +146,7 @@ public static function populateMemeMediaEmbeddings()
$meme_medias = MemeMedia::whereNotNull('embedding')->get();
foreach ($meme_medias as $meme_media) {
$embedding_query = $meme_media->name . " " . $meme_media->description;
$embedding_query = $meme_media->name.' '.$meme_media->description;
$keyword_embedding = KeywordEmbedding::where('keyword', $embedding_query)->first();
@@ -170,7 +166,6 @@ private static function fetchAndCacheEmbedding($keyword)
$max_retries = 3;
$current_attempt = 0;
while ($embedding === null && $current_attempt < $max_retries) {
$current_attempt++;
try {

View File

@@ -15,11 +15,11 @@ public static function generateMemesByCategories()
Category::where('system_memes_generated_count', '<', 1)
->chunk(10, function ($categories) {
foreach ($categories as $category) {
dump('Processing ' . $category->name);
dump('Processing '.$category->name);
$meme = MemeGenerator::generateMemeByCategory($category);
if (!is_null($meme)) {
if (! is_null($meme)) {
$category->system_memes_generated_count++;
$category->save();
}
@@ -27,15 +27,13 @@ public static function generateMemesByCategories()
});
}
public static function patchMemeKeywords()
{
$meme_medias = MemeMedia::whereNull('action_keywords')->get();
foreach ($meme_medias as $key => $meme_media) {
dump('Processing ' . $key + 1 . '/' . $meme_medias->count() . ': ' . $meme_media->name);
dump('Processing '.$key + 1 .'/'.$meme_medias->count().': '.$meme_media->name);
$meme_keywords_response = OpenAI::getMemeKeywords($meme_media->name, $meme_media->description);