Remove filter on external knowledge.

* Update question so that evaulator passes

fix formatting
This commit is contained in:
Mark Pollack
2024-05-15 09:55:39 +02:00
parent a7eb28ac17
commit 368f7bdfba
3 changed files with 5 additions and 7 deletions

View File

@@ -26,6 +26,7 @@ import org.springframework.ai.chat.chatbot.ChatBot;
import org.springframework.ai.chat.prompt.transformer.TransformerContentType;
import org.springframework.ai.document.Document;
import org.springframework.ai.openai.OpenAiChatOptions;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.qdrant.QdrantContainer;
@@ -91,7 +92,7 @@ public class OpenAiDefaultChatBotIT {
void simpleChat() {
loadData();
var prompt = new Prompt(new UserMessage("What bike is good for city commuting?"));
var prompt = new Prompt(new UserMessage("What reliable road bike?"));
var chatBotResponse = this.chatBot.call(new PromptContext(prompt));
String answer = chatBotResponse.getChatResponse().getResult().getOutput().getContent();
assertTrue(answer.contains("Celerity"), "Response does not include 'Celerity'");

View File

@@ -61,10 +61,7 @@ public class QuestionContextAugmentor implements PromptTransformer {
}
protected String doCreateContext(List<Content> data) {
return data.stream()
.filter(content -> content.getMetadata().containsKey(TransformerContentType.EXTERNAL_KNOWLEDGE))
.map(Content::getContent)
.collect(Collectors.joining(System.lineSeparator()));
return data.stream().map(Content::getContent).collect(Collectors.joining(System.lineSeparator()));
}
private Map<String, Object> doCreateContextMap(Prompt prompt, String context) {

View File

@@ -23,6 +23,7 @@ import org.springframework.ai.chat.messages.MessageType;
import org.springframework.ai.document.Document;
import org.springframework.ai.vectorstore.SearchRequest;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.ai.vectorstore.filter.Filter;
import java.util.List;
import java.util.Objects;
@@ -60,8 +61,7 @@ public class VectorStoreRetriever implements PromptTransformer {
.map(m -> m.getContent())
.collect(Collectors.joining(System.lineSeparator()));
List<Document> documents = vectorStore.similaritySearch(searchRequest.withQuery(userMessage)
.withFilterExpression(TransformerContentType.EXTERNAL_KNOWLEDGE + "=='true'"));
List<Document> documents = vectorStore.similaritySearch(searchRequest.withQuery(userMessage));
logger.info("Retrieved {} documents for user message {}", documents.size(), userMessage);
for (Document document : documents) {