Update
This commit is contained in:
@@ -27,7 +27,6 @@ public static function getSuitableMemeMedia(Meme $meme, $tolerance = 5)
|
||||
{
|
||||
$meme_media = null;
|
||||
|
||||
|
||||
$primary_keyword_type = $meme->primary_keyword_type;
|
||||
|
||||
if ($primary_keyword_type == 'action') {
|
||||
@@ -40,7 +39,7 @@ public static function getSuitableMemeMedia(Meme $meme, $tolerance = 5)
|
||||
|
||||
$meme_media = self::getMemeMediaByKeywords($keywords, $tolerance);
|
||||
}
|
||||
} else if ($primary_keyword_type == 'emotion') {
|
||||
} elseif ($primary_keyword_type == 'emotion') {
|
||||
$meme_media = self::getMemeMediaByKeywords($meme->emotion_keywords, $tolerance, 'emotion_keywords');
|
||||
|
||||
if (is_null($meme_media)) {
|
||||
@@ -48,8 +47,8 @@ public static function getSuitableMemeMedia(Meme $meme, $tolerance = 5)
|
||||
|
||||
$meme_media = self::getMemeMediaByKeywords($keywords, $tolerance);
|
||||
}
|
||||
} else if ($primary_keyword_type == 'misc') {
|
||||
$meme_media = self::getMemeMediaByKeywords($meme->misc_keywords, $tolerance, 'misc_keywords');
|
||||
} elseif ($primary_keyword_type == 'misc') {
|
||||
$meme_media = self::getMemeMediaByKeywords($meme->misc_keywords, $tolerance, 'misc_keywords');
|
||||
|
||||
if (is_null($meme_media)) {
|
||||
$keywords = array_merge($meme->action_keywords, $meme->emotion_keywords, $meme->keywords);
|
||||
@@ -97,7 +96,7 @@ public static function generateMemeByCategory(Category $category)
|
||||
$meme->background_media_id = self::generateBackgroundMediaWithRunware($meme_output->background)->id;
|
||||
|
||||
if (
|
||||
//!is_null($meme->meme_media_id) &&
|
||||
// !is_null($meme->meme_media_id) &&
|
||||
! is_null($meme->background_media_id)
|
||||
) {
|
||||
$meme->status = self::STATUS_COMPLETED;
|
||||
@@ -117,13 +116,13 @@ public static function generateMemeOutputByCategory(Category $category)
|
||||
$random_keyword = Str::lower($category->name);
|
||||
|
||||
if (! is_null($category->parent_id)) {
|
||||
$random_keyword = $category->parent->name . ' - ' . $random_keyword;
|
||||
$random_keyword = $category->parent->name.' - '.$random_keyword;
|
||||
}
|
||||
|
||||
if (! is_null($category->meme_angles)) {
|
||||
$random_keyword .= ' - ' . collect($category->meme_angles)->random();
|
||||
$random_keyword .= ' - '.collect($category->meme_angles)->random();
|
||||
} elseif (! is_null($category->keywords)) {
|
||||
$random_keyword .= ' - ' . collect($category->keywords)->random();
|
||||
$random_keyword .= ' - '.collect($category->keywords)->random();
|
||||
}
|
||||
|
||||
$prompt = "Write me 1 meme about {$random_keyword}";
|
||||
@@ -170,7 +169,7 @@ public static function generateMemeOutputByCategory(Category $category)
|
||||
$meme_output = (object) [
|
||||
'success' => false,
|
||||
'attempts' => $attempt, // Optional: track how many attempts were made
|
||||
'error' => 'Failed to generate valid meme after ' . $retries . ' attempts',
|
||||
'error' => 'Failed to generate valid meme after '.$retries.' attempts',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -214,16 +213,14 @@ public static function getMemeMediaByKeywords(array $keywords, int $tolerance =
|
||||
|
||||
$meme_embedding = CloudflareAI::getVectorEmbeddingBgeSmall(implode(' ', $keywords));
|
||||
|
||||
|
||||
$meme_medias = MemeMediaEmbedding::query()
|
||||
->when(!is_empty($tag), function ($query) use ($tag) {
|
||||
->when(! is_empty($tag), function ($query) use ($tag) {
|
||||
return $query->where('tag', $tag);
|
||||
})
|
||||
->nearestNeighbors('embedding', $meme_embedding, Distance::L2)
|
||||
->take($tolerance)
|
||||
->get();
|
||||
|
||||
|
||||
if ($meme_medias->count() > 0) {
|
||||
$meme_media = $meme_medias->random()->meme_media;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user