in integrations/ai/src/main/kotlin/io/klibs/integration/ai/ProjectDescriptionGenerator.kt [19:42]
fun generateProjectDescription(
projectName: String,
readmeMdContent: String,
minDescriptionWordCount: Int = 20,
maxDescriptionWordCount: Int = 30
): String {
val systemMessage = SystemPromptTemplate(projectDescriptionPrompt)
.createMessage(
mapOf(
"projectName" to projectName,
"minWords" to minDescriptionWordCount,
"maxWords" to maxDescriptionWordCount
)
)
val options = OpenAiChatOptions.builder()
.model(AiService.DEFAULT_GPT)
.build()
val userMessage = UserMessage(readmeMdContent)
val prompt = Prompt(listOf(systemMessage, userMessage), options)
return aiService.executeOpenAiRequest(prompt, "generateProjectDescription", AiService.DEFAULT_GPT)
}