├── .github └── workflows │ ├── ktlint-check.yml │ ├── publish-release.yml │ └── publish-snapshot.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── core ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ ├── AiProxyFactory.kt │ │ ├── MethodSpecification.kt │ │ ├── TextObjectTranscoder.kt │ │ ├── TranscodingRules.kt │ │ ├── openai │ │ ├── ChatChoice.kt │ │ ├── ChatMessage.kt │ │ ├── ChatMessageRole.kt │ │ ├── ChatRequest.kt │ │ ├── ChatResponse.kt │ │ ├── ChatUsage.kt │ │ ├── DefaultOkHttpOpenAiClient.kt │ │ ├── OpenAiApiAdapter.kt │ │ ├── OpenAiChat.kt │ │ ├── OpenAiInvocationHandler.kt │ │ ├── OpenAiProperties.kt │ │ └── OpenAiProxyFactory.kt │ │ └── util │ │ └── SuspendUtils.kt │ └── test │ ├── java │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ └── JavaPrimitiveTest.java │ └── kotlin │ └── io │ └── github │ └── mscheong01 │ └── interfaice │ ├── BuiltInTranscodingTest.kt │ ├── CustomTranscodingRuleTest.kt │ ├── EnumTest.kt │ ├── ObjectTest.kt │ ├── ProxyTest.kt │ └── openai │ ├── DefaultOkHttpOpenAiClientTest.kt │ └── MockOpenAiApiAdapter.kt ├── examples ├── build.gradle.kts ├── java-basic │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ └── examples │ │ └── Main.java ├── kotlin-basic │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ └── examples │ │ └── Main.kt └── kotlin-spring │ ├── build.gradle.kts │ └── src │ └── main │ ├── kotlin │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ └── examples │ │ ├── ExampleApplication.kt │ │ └── Test.kt │ └── resources │ └── application.yml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── interfAIce-spring-boot-starter ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── io │ │ │ └── github │ │ │ └── mscheong01 │ │ │ └── interfaice │ │ │ ├── EnableInterfaiceProxies.kt │ │ │ ├── InterfaiceAutoConfiguration.kt │ │ │ ├── InterfaiceConfigurationProperties.kt │ │ │ └── openai │ │ │ ├── OpenAiApiClient.kt │ │ │ ├── OpenAiBeanFactoryPostProcessor.kt │ │ │ └── OpenAiInterface.kt │ └── resources │ │ └── META-INF │ │ └── spring │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── test │ ├── kotlin │ └── io │ │ └── github │ │ └── mscheong01 │ │ └── interfaice │ │ ├── SpringIntegrationTest.kt │ │ └── TestApplication.kt │ └── resources │ └── application.yml ├── interfAIce_brain_meme.png ├── interfaice_demo.gif └── settings.gradle.kts /.github/workflows/ktlint-check.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/.github/workflows/ktlint-check.yml -------------------------------------------------------------------------------- /.github/workflows/publish-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/.github/workflows/publish-release.yml -------------------------------------------------------------------------------- /.github/workflows/publish-snapshot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/.github/workflows/publish-snapshot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/README.md -------------------------------------------------------------------------------- /core/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/build.gradle.kts -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/AiProxyFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/AiProxyFactory.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/MethodSpecification.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/MethodSpecification.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/TextObjectTranscoder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/TextObjectTranscoder.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/TranscodingRules.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/TranscodingRules.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatChoice.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatChoice.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatMessage.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatMessage.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatMessageRole.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatMessageRole.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatRequest.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatResponse.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatUsage.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/ChatUsage.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/DefaultOkHttpOpenAiClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/DefaultOkHttpOpenAiClient.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiApiAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiApiAdapter.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiChat.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiChat.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiInvocationHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiInvocationHandler.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiProperties.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiProperties.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiProxyFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiProxyFactory.kt -------------------------------------------------------------------------------- /core/src/main/kotlin/io/github/mscheong01/interfaice/util/SuspendUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/main/kotlin/io/github/mscheong01/interfaice/util/SuspendUtils.kt -------------------------------------------------------------------------------- /core/src/test/java/io/github/mscheong01/interfaice/JavaPrimitiveTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/java/io/github/mscheong01/interfaice/JavaPrimitiveTest.java -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/BuiltInTranscodingTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/BuiltInTranscodingTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/CustomTranscodingRuleTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/CustomTranscodingRuleTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/EnumTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/EnumTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/ObjectTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/ObjectTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/ProxyTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/ProxyTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/openai/DefaultOkHttpOpenAiClientTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/openai/DefaultOkHttpOpenAiClientTest.kt -------------------------------------------------------------------------------- /core/src/test/kotlin/io/github/mscheong01/interfaice/openai/MockOpenAiApiAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/core/src/test/kotlin/io/github/mscheong01/interfaice/openai/MockOpenAiApiAdapter.kt -------------------------------------------------------------------------------- /examples/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/build.gradle.kts -------------------------------------------------------------------------------- /examples/java-basic/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/java-basic/build.gradle.kts -------------------------------------------------------------------------------- /examples/java-basic/src/main/java/io/github/mscheong01/interfaice/examples/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/java-basic/src/main/java/io/github/mscheong01/interfaice/examples/Main.java -------------------------------------------------------------------------------- /examples/kotlin-basic/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-basic/build.gradle.kts -------------------------------------------------------------------------------- /examples/kotlin-basic/src/main/kotlin/io/github/mscheong01/interfaice/examples/Main.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-basic/src/main/kotlin/io/github/mscheong01/interfaice/examples/Main.kt -------------------------------------------------------------------------------- /examples/kotlin-spring/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-spring/build.gradle.kts -------------------------------------------------------------------------------- /examples/kotlin-spring/src/main/kotlin/io/github/mscheong01/interfaice/examples/ExampleApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-spring/src/main/kotlin/io/github/mscheong01/interfaice/examples/ExampleApplication.kt -------------------------------------------------------------------------------- /examples/kotlin-spring/src/main/kotlin/io/github/mscheong01/interfaice/examples/Test.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-spring/src/main/kotlin/io/github/mscheong01/interfaice/examples/Test.kt -------------------------------------------------------------------------------- /examples/kotlin-spring/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/examples/kotlin-spring/src/main/resources/application.yml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | #Sun Jun 11 16:21:48 UTC 2023 2 | kotlin.code.style=official 3 | version=1.1.0-SNAPSHOT 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/gradlew.bat -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/build.gradle.kts -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/EnableInterfaiceProxies.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/EnableInterfaiceProxies.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/InterfaiceAutoConfiguration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/InterfaiceAutoConfiguration.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/InterfaiceConfigurationProperties.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/InterfaiceConfigurationProperties.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiApiClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiApiClient.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiBeanFactoryPostProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiBeanFactoryPostProcessor.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiInterface.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/kotlin/io/github/mscheong01/interfaice/openai/OpenAiInterface.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/test/kotlin/io/github/mscheong01/interfaice/SpringIntegrationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/test/kotlin/io/github/mscheong01/interfaice/SpringIntegrationTest.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/test/kotlin/io/github/mscheong01/interfaice/TestApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/test/kotlin/io/github/mscheong01/interfaice/TestApplication.kt -------------------------------------------------------------------------------- /interfAIce-spring-boot-starter/src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce-spring-boot-starter/src/test/resources/application.yml -------------------------------------------------------------------------------- /interfAIce_brain_meme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfAIce_brain_meme.png -------------------------------------------------------------------------------- /interfaice_demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/interfaice_demo.gif -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscheong01/interfAIce/HEAD/settings.gradle.kts --------------------------------------------------------------------------------