From 9dbb39ac4af876fc75b0be6bccff70fdca2d682a Mon Sep 17 00:00:00 2001 From: Josh Long Date: Fri, 23 Aug 2024 00:26:50 -0700 Subject: [PATCH] pincecone vector aot hints --- .../vectorstore/PineconeVectorStoreHints.java | 26 +++++++++++++++++++ .../resources/META-INF/spring/aot.factories | 1 + 2 files changed, 27 insertions(+) create mode 100644 vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java create mode 100644 vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories diff --git a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java new file mode 100644 index 00000000000..c9b63fbb471 --- /dev/null +++ b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java @@ -0,0 +1,26 @@ +package org.springframework.ai.vectorstore; + +import org.springframework.aot.hint.MemberCategory; +import org.springframework.aot.hint.RuntimeHints; +import org.springframework.aot.hint.RuntimeHintsRegistrar; + +import java.util.Set; + +/** + * Registration of AOT hints for Pinecone's vector store. + * + * @author Josh Long + * + */ +class PineconeVectorStoreHints implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + for (var t : Set.of(com.google.protobuf.Value.class, com.google.protobuf.Value.Builder.class, + com.google.protobuf.Struct.class)) { + hints.reflection().registerType(t, MemberCategory.values()); + } + + } + +} diff --git a/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories b/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 00000000000..0127c04f003 --- /dev/null +++ b/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=org.springframework.ai.vectorstore.PineconeVectorStoreHints \ No newline at end of file