Skip to content

Commit 74fb4de

Browse files
committed
fix: modify api usage
1 parent 7196042 commit 74fb4de

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

build.gradle.kts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,7 @@ repositories {
5050
dependencies {
5151
// implementation(libs.annotations)
5252
implementation("org.kohsuke:github-api:1.314")
53-
implementation("com.aallam.openai:openai-client:3.2.1")
54-
implementation("io.ktor:ktor-client-cio:2.2.4")
55-
implementation("io.ktor:ktor-client-okhttp:2.2.4")
53+
implementation("com.theokanning.openai-gpt3-java:service:0.12.0")
5654

5755
implementation("org.commonmark:commonmark:0.21.0")
5856
implementation("io.github.cdimascio:dotenv-kotlin:6.4.1")

src/main/kotlin/cc/unitmesh/devti/prompt/openai/OpenAIExecutor.kt

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,35 @@ import cc.unitmesh.devti.kanban.SimpleProjectInfo
55
import cc.unitmesh.devti.prompt.AiExecutor
66
import cc.unitmesh.devti.prompt.DevtiFlowAction
77
import cc.unitmesh.devti.prompt.parseCodeFromString
8-
import com.aallam.openai.api.BetaOpenAI
9-
import com.aallam.openai.api.chat.ChatCompletion
10-
import com.aallam.openai.api.chat.ChatCompletionRequest
11-
import com.aallam.openai.api.chat.ChatMessage
12-
import com.aallam.openai.api.chat.ChatRole
13-
import com.aallam.openai.api.model.ModelId
14-
import com.aallam.openai.client.OpenAI
158
import com.intellij.openapi.diagnostic.Logger
169
import com.intellij.openapi.diagnostic.logger
1710
import com.intellij.openapi.util.NlsSafe
11+
import com.theokanning.openai.completion.chat.ChatCompletionRequest
12+
import com.theokanning.openai.completion.chat.ChatMessage
13+
import com.theokanning.openai.completion.chat.ChatMessageRole
14+
import com.theokanning.openai.service.OpenAiService
1815
import kotlinx.coroutines.runBlocking
1916

17+
2018
class OpenAIExecutor(val openAIKey: String, val version: String) : AiExecutor, DevtiFlowAction {
21-
private val openAI: OpenAI = OpenAI(openAIKey)
2219
private val promptGenerator = PromptGenerator()
20+
var service: OpenAiService = OpenAiService(openAIKey)
2321

24-
@OptIn(BetaOpenAI::class)
2522
override suspend fun prompt(prompt: String): String {
26-
val chatCompletionRequest = ChatCompletionRequest(
27-
model = ModelId(version),
28-
temperature = 0.0,
29-
messages = listOf(
30-
ChatMessage(
31-
role = ChatRole.User,
32-
content = prompt
33-
)
34-
)
35-
)
23+
val messages: MutableList<ChatMessage> = ArrayList()
24+
val systemMessage = ChatMessage(ChatMessageRole.USER.value(), prompt)
25+
messages.add(systemMessage)
26+
27+
val completionRequest = ChatCompletionRequest.builder()
28+
.model(version)
29+
.temperature(0.0)
30+
.messages(messages)
31+
.build()
32+
3633

37-
val completion: ChatCompletion = openAI.chatCompletion(chatCompletionRequest)
38-
return completion.choices.first().message?.content ?: ""
34+
val completion = service.createChatCompletion(completionRequest)
35+
return completion
36+
.choices[0].message.content
3937
}
4038

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

0 commit comments

Comments
 (0)