Update
This commit is contained in:
@ -51,7 +51,9 @@ export async function openAI_ClassifyFeed(title: string): Promise<string> {
|
|||||||
return category;
|
return category;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error classifying feed:", error);
|
console.error("Error classifying feed:", error);
|
||||||
throw new Error(`Failed to classify feed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
throw new Error(
|
||||||
|
`Failed to classify feed: ${error instanceof Error ? error.message : "Unknown error"}`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,11 +66,13 @@ export async function openAI_GeneratePodcastContent(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!items || items.length === 0) {
|
if (!items || items.length === 0) {
|
||||||
throw new Error("At least one news item is required for podcast content generation");
|
throw new Error(
|
||||||
|
"At least one news item is required for podcast content generation",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate items
|
// Validate items
|
||||||
const validItems = items.filter(item => item.title && item.link);
|
const validItems = items.filter((item) => item.title && item.link);
|
||||||
if (validItems.length === 0) {
|
if (validItems.length === 0) {
|
||||||
throw new Error("No valid news items found (title and link required)");
|
throw new Error("No valid news items found (title and link required)");
|
||||||
}
|
}
|
||||||
@ -82,11 +86,12 @@ export async function openAI_GeneratePodcastContent(
|
|||||||
${validItems.map((item, i) => `${i + 1}. ${item.title} - ${item.link}`).join("\n")}
|
${validItems.map((item, i) => `${i + 1}. ${item.title} - ${item.link}`).join("\n")}
|
||||||
|
|
||||||
以下の要件を満たしてください:
|
以下の要件を満たしてください:
|
||||||
1. 各ニュース記事の内容を要約し、関連性を説明してください
|
1. もし英単語が含まれている場合は、すべてカタカナに変換してください (例: "Google" → "グーグル")
|
||||||
2. 視聴者にとっての価値や興味ポイントを解説してください
|
2. 各ニュース記事の内容を要約し、関連性を説明してください
|
||||||
3. 約1000文字〜1500文字程度の長さにしてください
|
3. 視聴者にとっての価値や興味ポイントを解説してください
|
||||||
4. 自然な日本語の口語表現を使ってください
|
4. 約1000文字〜1500文字程度の長さにしてください
|
||||||
5. トピック全体のまとめで締めくくってください
|
5. 自然な日本語の口語表現を使ってください
|
||||||
|
6. トピック全体のまとめで締めくくってください
|
||||||
|
|
||||||
この構成でポッドキャスト原稿を書いてください。
|
この構成でポッドキャスト原稿を書いてください。
|
||||||
`;
|
`;
|
||||||
@ -106,6 +111,8 @@ ${validItems.map((item, i) => `${i + 1}. ${item.title} - ${item.link}`).join("\n
|
|||||||
return scriptText;
|
return scriptText;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error generating podcast content:", error);
|
console.error("Error generating podcast content:", error);
|
||||||
throw new Error(`Failed to generate podcast content: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
throw new Error(
|
||||||
|
`Failed to generate podcast content: ${error instanceof Error ? error.message : "Unknown error"}`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user