Skip to content

Commit adaaea8

Browse files
authored
Merge pull request #1447 from quarkiverse/ollama-native
Register common Jackson case strategies for reflection
2 parents 77e992a + c219c42 commit adaaea8

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

core/deployment/src/main/java/io/quarkiverse/langchain4j/deployment/AiServicesProcessor.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
import org.objectweb.asm.tree.MethodNode;
6565
import org.objectweb.asm.tree.analysis.AnalyzerException;
6666

67+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
68+
6769
import dev.langchain4j.model.chat.request.json.JsonSchema;
6870
import dev.langchain4j.service.IllegalConfigurationException;
6971
import dev.langchain4j.service.Moderate;
@@ -213,6 +215,13 @@ public void nativeSupport(CombinedIndexBuildItem indexBuildItem,
213215

214216
serviceProviderProducer.produce(new ServiceProviderBuildItem(DefaultMemoryIdProvider.class.getName(),
215217
RequestScopeStateDefaultMemoryIdProvider.class.getName()));
218+
219+
// needed because various LLMs use these, so let's be proactive
220+
// there isn't one great place to put this, so this is probably as good as any
221+
reflectiveClassProducer.produce(
222+
ReflectiveClassBuildItem.builder(PropertyNamingStrategies.SnakeCaseStrategy.class).constructors().build());
223+
reflectiveClassProducer.produce(
224+
ReflectiveClassBuildItem.builder(PropertyNamingStrategies.LowerCamelCaseStrategy.class).constructors().build());
216225
}
217226

218227
@BuildStep

0 commit comments

Comments
 (0)