Add rag module: Spring AI 2.0 RAG with pgvector, chunking, reranking and a faithfulness check
Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01B38FGKKam5SCGgwgduVAh3
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# Spring AI API facts, read with javap from the jars this build resolves
|
||||
|
||||
spring-ai.version: 2.0.1
|
||||
|
||||
## classes in org/springframework/ai/rag (top level, from spring-ai-rag)
|
||||
Query
|
||||
advisor/RetrievalAugmentationAdvisor
|
||||
advisor/package-info
|
||||
generation/augmentation/ContextualQueryAugmenter
|
||||
generation/augmentation/QueryAugmenter
|
||||
generation/augmentation/package-info
|
||||
generation/package-info
|
||||
package-info
|
||||
postretrieval/document/DocumentPostProcessor
|
||||
postretrieval/document/package-info
|
||||
postretrieval/package-info
|
||||
preretrieval/package-info
|
||||
preretrieval/query/expansion/MultiQueryExpander
|
||||
preretrieval/query/expansion/QueryExpander
|
||||
preretrieval/query/expansion/package-info
|
||||
preretrieval/query/transformation/CompressionQueryTransformer
|
||||
preretrieval/query/transformation/QueryTransformer
|
||||
preretrieval/query/transformation/RewriteQueryTransformer
|
||||
preretrieval/query/transformation/TranslationQueryTransformer
|
||||
preretrieval/query/transformation/package-info
|
||||
retrieval/join/ConcatenationDocumentJoiner
|
||||
retrieval/join/DocumentJoiner
|
||||
retrieval/join/package-info
|
||||
retrieval/search/DocumentRetriever
|
||||
retrieval/search/VectorStoreDocumentRetriever
|
||||
retrieval/search/package-info
|
||||
util/PromptAssert
|
||||
util/package-info
|
||||
|
||||
## classes anywhere in spring-ai-rag whose name contains "rerank": 0
|
||||
|
||||
## classes in any jar on this project's classpath whose name contains "SemanticSearchCache" or "SemanticCache": 0
|
||||
|
||||
## org.springframework.ai.transformer.splitter.TokenTextSplitter
|
||||
public class org.springframework.ai.transformer.splitter.TokenTextSplitter extends org.springframework.ai.transformer.splitter.TextSplitter {
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter();
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter(boolean);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter(com.knuddels.jtokkit.api.EncodingType);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter(com.knuddels.jtokkit.api.EncodingType, boolean);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter(int, int, int, int, boolean, List<Character>);
|
||||
public static org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder builder();
|
||||
}
|
||||
|
||||
## org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder
|
||||
public final class org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder {
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withEncodingType(com.knuddels.jtokkit.api.EncodingType);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withChunkSize(int);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withMinChunkSizeChars(int);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withMinChunkLengthToEmbed(int);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withMaxNumChunks(int);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withKeepSeparator(boolean);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter$Builder withPunctuationMarks(List<Character>);
|
||||
public org.springframework.ai.transformer.splitter.TokenTextSplitter build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.reader.pdf.PagePdfDocumentReader
|
||||
public class org.springframework.ai.reader.pdf.PagePdfDocumentReader implements org.springframework.ai.document.DocumentReader {
|
||||
public static final String METADATA_START_PAGE_NUMBER;
|
||||
public static final String METADATA_END_PAGE_NUMBER;
|
||||
public static final String METADATA_FILE_NAME;
|
||||
public org.springframework.ai.reader.pdf.PagePdfDocumentReader(String);
|
||||
public org.springframework.ai.reader.pdf.PagePdfDocumentReader(org.springframework.core.io.Resource);
|
||||
public org.springframework.ai.reader.pdf.PagePdfDocumentReader(String, org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig);
|
||||
public org.springframework.ai.reader.pdf.PagePdfDocumentReader(org.springframework.core.io.Resource, org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig);
|
||||
public List<org.springframework.ai.document.Document> get();
|
||||
public Object get();
|
||||
}
|
||||
|
||||
## org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder
|
||||
public final class org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder {
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder withPageExtractedTextFormatter(org.springframework.ai.reader.ExtractedTextFormatter);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder withPagesPerDocument(int);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder withPageTopMargin(int);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder withPageBottomMargin(int);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder withReversedParagraphPosition(boolean);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig$Builder addPageRange(int, int);
|
||||
public org.springframework.ai.reader.pdf.config.PdfDocumentReaderConfig build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.rag.postretrieval.document.DocumentPostProcessor
|
||||
public interface org.springframework.ai.rag.postretrieval.document.DocumentPostProcessor extends function.BiFunction<org.springframework.ai.rag.Query, List<org.springframework.ai.document.Document>, List<org.springframework.ai.document.Document>> {
|
||||
public abstract List<org.springframework.ai.document.Document> process(org.springframework.ai.rag.Query, List<org.springframework.ai.document.Document>);
|
||||
public default List<org.springframework.ai.document.Document> apply(org.springframework.ai.rag.Query, List<org.springframework.ai.document.Document>);
|
||||
public default Object apply(Object, Object);
|
||||
}
|
||||
|
||||
## org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever
|
||||
public final class org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever implements org.springframework.ai.rag.retrieval.search.DocumentRetriever {
|
||||
public static final String FILTER_EXPRESSION;
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever(org.springframework.ai.vectorstore.VectorStore, Double, Integer, function.Supplier<org.springframework.ai.vectorstore.filter.Filter$Expression>);
|
||||
public List<org.springframework.ai.document.Document> retrieve(org.springframework.ai.rag.Query);
|
||||
public static org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder builder();
|
||||
}
|
||||
|
||||
## org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder
|
||||
public final class org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder {
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder vectorStore(org.springframework.ai.vectorstore.VectorStore);
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder similarityThreshold(Double);
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder topK(Integer);
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder filterExpression(org.springframework.ai.vectorstore.filter.Filter$Expression);
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever$Builder filterExpression(function.Supplier<org.springframework.ai.vectorstore.filter.Filter$Expression>);
|
||||
public org.springframework.ai.rag.retrieval.search.VectorStoreDocumentRetriever build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder
|
||||
public final class org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder {
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder();
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder promptTemplate(org.springframework.ai.chat.prompt.PromptTemplate);
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder emptyContextPromptTemplate(org.springframework.ai.chat.prompt.PromptTemplate);
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder allowEmptyContext(Boolean);
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter$Builder documentFormatter(function.Function<List<org.springframework.ai.document.Document>, String>);
|
||||
public org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder
|
||||
public final class org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder {
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder queryTransformers(List<org.springframework.ai.rag.preretrieval.query.transformation.QueryTransformer>);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder queryTransformers(org.springframework.ai.rag.preretrieval.query.transformation.QueryTransformer...);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder queryExpander(org.springframework.ai.rag.preretrieval.query.expansion.QueryExpander);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder documentRetriever(org.springframework.ai.rag.retrieval.search.DocumentRetriever);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder documentJoiner(org.springframework.ai.rag.retrieval.join.DocumentJoiner);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder documentPostProcessors(List<org.springframework.ai.rag.postretrieval.document.DocumentPostProcessor>);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder documentPostProcessors(org.springframework.ai.rag.postretrieval.document.DocumentPostProcessor...);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder queryAugmenter(org.springframework.ai.rag.generation.augmentation.QueryAugmenter);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder taskExecutor(org.springframework.core.task.TaskExecutor);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder scheduler(reactor.core.scheduler.Scheduler);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor$Builder order(Integer);
|
||||
public org.springframework.ai.rag.advisor.RetrievalAugmentationAdvisor build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder
|
||||
public final class org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder {
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder promptTemplate(org.springframework.ai.chat.prompt.PromptTemplate);
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder searchRequest(org.springframework.ai.vectorstore.SearchRequest);
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder protectFromBlocking(boolean);
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder scheduler(reactor.core.scheduler.Scheduler);
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor$Builder order(int);
|
||||
public org.springframework.ai.chat.client.advisor.vectorstore.QuestionAnswerAdvisor build();
|
||||
}
|
||||
|
||||
## org.springframework.ai.chat.evaluation.FactCheckingEvaluator
|
||||
public class org.springframework.ai.chat.evaluation.FactCheckingEvaluator implements org.springframework.ai.evaluation.Evaluator {
|
||||
public static org.springframework.ai.chat.evaluation.FactCheckingEvaluator forBespokeMinicheck(org.springframework.ai.chat.client.ChatClient$Builder);
|
||||
public org.springframework.ai.evaluation.EvaluationResponse evaluate(org.springframework.ai.evaluation.EvaluationRequest);
|
||||
public static org.springframework.ai.chat.evaluation.FactCheckingEvaluator$Builder builder(org.springframework.ai.chat.client.ChatClient$Builder);
|
||||
}
|
||||
|
||||
## org.springframework.ai.vectorstore.VectorStore
|
||||
public interface org.springframework.ai.vectorstore.VectorStore extends org.springframework.ai.document.DocumentWriter,org.springframework.ai.vectorstore.VectorStoreRetriever {
|
||||
public default String getName();
|
||||
public abstract void add(List<org.springframework.ai.document.Document>);
|
||||
public default void accept(List<org.springframework.ai.document.Document>);
|
||||
public abstract void delete(List<String>);
|
||||
public abstract void delete(org.springframework.ai.vectorstore.filter.Filter$Expression);
|
||||
public default void delete(String);
|
||||
public default <T> Optional<T> getNativeClient();
|
||||
public default void accept(Object);
|
||||
}
|
||||
|
||||
## org.springframework.ai.vectorstore.SearchRequest$Builder
|
||||
public final class org.springframework.ai.vectorstore.SearchRequest$Builder {
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder();
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder query(String);
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder topK(int);
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder similarityThreshold(double);
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder similarityThresholdAll();
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder filterExpression(org.springframework.ai.vectorstore.filter.Filter$Expression);
|
||||
public org.springframework.ai.vectorstore.SearchRequest$Builder filterExpression(String);
|
||||
public org.springframework.ai.vectorstore.SearchRequest build();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user