108 We’ll collect a tibble with: meme_id, format, description, design, caption

captions <- prompt_designs %>% left_join(meme_bank, by = c(“meme_id” = “meme_id”)) %>% mutate( res = pmap(list(description, design), function(desc, des) { msgs <- build_messages(desc, des) # Use a conservative max_tokens for captions r <- call_openai_chat(msgs, model = “gpt-3.5-turbo”, temperature = ifelse(des == “A”, 0.7, 0.9), max_tokens = 60) extract_caption(r) }), caption = map_chr(res, ~ ifelse(is.null(.), NA_character_, .)) ) %>% select(meme_id, format, description, design, caption)