Skip to content

Commit

Permalink
fix: modify api usage
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Apr 19, 2023
1 parent 7196042 commit 74fb4de
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 24 deletions.
4 changes: 1 addition & 3 deletions build.gradle.kts
Expand Up @@ -50,9 +50,7 @@ repositories {
dependencies {
// implementation(libs.annotations)
implementation("org.kohsuke:github-api:1.314")
implementation("com.aallam.openai:openai-client:3.2.1")
implementation("io.ktor:ktor-client-cio:2.2.4")
implementation("io.ktor:ktor-client-okhttp:2.2.4")
implementation("com.theokanning.openai-gpt3-java:service:0.12.0")

implementation("org.commonmark:commonmark:0.21.0")
implementation("io.github.cdimascio:dotenv-kotlin:6.4.1")
Expand Down
40 changes: 19 additions & 21 deletions src/main/kotlin/cc/unitmesh/devti/prompt/openai/OpenAIExecutor.kt
Expand Up @@ -5,37 +5,35 @@ import cc.unitmesh.devti.kanban.SimpleProjectInfo
import cc.unitmesh.devti.prompt.AiExecutor
import cc.unitmesh.devti.prompt.DevtiFlowAction
import cc.unitmesh.devti.prompt.parseCodeFromString
import com.aallam.openai.api.BetaOpenAI
import com.aallam.openai.api.chat.ChatCompletion
import com.aallam.openai.api.chat.ChatCompletionRequest
import com.aallam.openai.api.chat.ChatMessage
import com.aallam.openai.api.chat.ChatRole
import com.aallam.openai.api.model.ModelId
import com.aallam.openai.client.OpenAI
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.util.NlsSafe
import com.theokanning.openai.completion.chat.ChatCompletionRequest
import com.theokanning.openai.completion.chat.ChatMessage
import com.theokanning.openai.completion.chat.ChatMessageRole
import com.theokanning.openai.service.OpenAiService
import kotlinx.coroutines.runBlocking


class OpenAIExecutor(val openAIKey: String, val version: String) : AiExecutor, DevtiFlowAction {
private val openAI: OpenAI = OpenAI(openAIKey)
private val promptGenerator = PromptGenerator()
var service: OpenAiService = OpenAiService(openAIKey)

@OptIn(BetaOpenAI::class)
override suspend fun prompt(prompt: String): String {
val chatCompletionRequest = ChatCompletionRequest(
model = ModelId(version),
temperature = 0.0,
messages = listOf(
ChatMessage(
role = ChatRole.User,
content = prompt
)
)
)
val messages: MutableList<ChatMessage> = ArrayList()
val systemMessage = ChatMessage(ChatMessageRole.USER.value(), prompt)
messages.add(systemMessage)

val completionRequest = ChatCompletionRequest.builder()
.model(version)
.temperature(0.0)
.messages(messages)
.build()


val completion: ChatCompletion = openAI.chatCompletion(chatCompletionRequest)
return completion.choices.first().message?.content ?: ""
val completion = service.createChatCompletion(completionRequest)
return completion
.choices[0].message.content
}

override fun fillStoryDetail(project: SimpleProjectInfo, story: String): String {
Expand Down

0 comments on commit 74fb4de

Please sign in to comment.