ознакомьтесь с моим сообщением в блоге, в котором рассказывается об интерфейсе
В файл build.gradle.kts
вашего проекта добавьте следующее:
dependencies {
implementation( " io.github.mscheong01:interfAIce-core:1.0.0 " )
}
// This option is currently required for reflection to work
// Later releases will remove this requirement for Kotlin projects
tasks.withType< KotlinCompile > {
this .kotlinOptions {
freeCompilerArgs = listOf ( " -Xjsr305=strict " )
javaParameters = true
}
}
dependencies {
implementation( " io.github.mscheong01:interfAIce-core:1.0.0 " )
}
// This option is currently required for reflection to work
// If all your classes have a no-arg constructor, you can remove this option
tasks.withType< JavaCompile > {
options.compilerArgs.add( " -parameters " )
}
dependencies {
implementation( " io.github.mscheong01:interfAIce-spring-boot-starter:1.0.0 " )
}
@EnableInterfaiceProxies
в класс приложения весенней загрузки или в любой из его классов конфигурации. @EnableInterfaiceProxies(
basePackages = [ " io.github.mscheong01.interfaice.examples " ]
)
@SpringBootApplication
open class ExampleApplication
application.yml
spring :
interfaice :
openai :
api-key : ${OPENAI_API_KEY}
chat :
default-model : gpt-3.5-turbo # optional, defaults to gpt-3.5-turbo
@OpenAiInterface
в свой интерфейс @OpenAiInterface
interface ExampleInterface {
fun greet ( name : String ): String
}
@RestController
class ExampleController (
private val exampleInterface : ExampleInterface
) {
@GetMapping( " /greet " )
fun greet (@RequestParam name : String ): String {
return exampleInterface.greet(name)
}
}
interfAIce предоставляет версии моментальных снимков, которые автоматически выпускаются при передаче изменений в основную ветку. Текущая версия моментального снимка — это следующая дополнительная версия текущей версии выпуска с суффиксом -SNAPSHOT. Например, если текущая версия — 1.2.3, версия моментального снимка будет 1.3.0-SNAPSHOT.
Чтобы использовать версии моментальных снимков, добавьте репозиторий снимков maven в конфигурацию сборки.
repositories {
maven {
url = uri( " https://s01.oss.sonatype.org/content/repositories/snapshots/ " )
}
}
Вклады приветствуются! Пожалуйста, ознакомьтесь с нашими рекомендациями по участию для получения дополнительной информации.
Этот проект распространяется по лицензии Apache 2.0.