interfAIce
1.0.1
confira minha postagem no blog que apresenta a interface
No arquivo build.gradle.kts
do seu projeto, adicione o seguinte:
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
à sua classe de aplicativo Spring Boot ou a qualquer uma de suas classes de configuração @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
à sua interface @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 fornece versões de snapshot que são liberadas automaticamente quando as alterações são enviadas para a ramificação principal. A versão atual do snapshot é a próxima versão secundária da versão atual com um sufixo -SNAPSHOT. Por exemplo, se a versão atual for 1.2.3, a versão do snapshot será 1.3.0-SNAPSHOT.
Para usar versões de snapshot, adicione o repositório de snapshot maven à sua configuração de build
repositories {
maven {
url = uri( " https://s01.oss.sonatype.org/content/repositories/snapshots/ " )
}
}
Contribuições são bem-vindas! Consulte nossas diretrizes de contribuição para obter mais informações.
Este projeto está licenciado sob a licença Apache 2.0.