Spring-ai-Einbettung kann nicht mit der Methode "Ähnlichkeitsuche" suchenJava

Java-Forum
Anonymous
 Spring-ai-Einbettung kann nicht mit der Methode "Ähnlichkeitsuche" suchen

Post by Anonymous »

Ich verwende Spring AI, um eine App zu erstellen. Der Stapel, den ich ausgewählt habe, ist JDK 21, Spring-Boot 3.3.11, Spring-AI 1.0,0m6. Und für ein Einbettung und Chat-Modelle habe ich mich für Ollama entschieden, daher rufe der Spring-Ai-Olama-Spring-Boot-Starter an, und zum Sparen von Vektoren verwende ich Neo4j. Rahmen.

Code: Select all

#  Neo4j

spring.ai.vectorstore.neo4j.initialize-schema=true
spring.ai.vectorstore.neo4j.database-name=neo4j
spring.ai.vectorstore.neo4j.index-name=vec_index
spring.ai.vectorstore.neo4j.distance-type=cosine
spring.ai.vectorstore.neo4j.dimensions=768
spring.ai.vectorstore.neo4j.embedding-property=embedding
spring.ai.vectorstore.neo4j.label=default_doc_label
Und das Ergebnis in Neo4j zeigt die Indexlänge:

Aber ich verwenden die Methode. />

Code: Select all

"Failed to invoke procedure `db.index.vector.queryNodes`: Caused by: java.lang.IllegalArgumentException: Index query vector has 768 dimensions, but indexed vectors have 1536"
< /code>
Ich frage mich, wie ich das lösen kann, vielen Dank !! Schätzen Sie es wirklich, wenn Sie Meister mir helfen könnten. Hier ist mein Code: < /p>
import java.util.List;

import org.springframework.ai.document.Document;
import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.embedding.EmbeddingResponse;
import org.springframework.ai.vectorstore.SearchRequest;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmbeddingApi {
@Autowired
private EmbeddingModel embeddingModel;
@Autowired
private VectorStore vectorStore;

@GetMapping("/doc/embedding")
public EmbeddingResponse getEmbedding(@RequestParam("text") String text) {
EmbeddingResponse embeddingResponse = this.embeddingModel.embedForResponse(List.of(text));
System.out.println("demension" + embeddingResponse.getResults().get(0).getOutput().length);
return embeddingResponse;
}

@PostMapping("/doc/store")
public String storeEmbedding(@RequestParam("text") String text) {
Document doc = new Document(text);
vectorStore.add(List.of(doc));
return "Stored successfully!";
}

@PostMapping("/doc/search")
public List searchDocument(@RequestParam("input")String input){
EmbeddingResponse embeddingResponse = this.embeddingModel.embedForResponse(List.of(input));
System.out.println("demension: " + embeddingResponse.getResults().get(0).getOutput().length);
System.out.println("====================================================================");
// float[] embedding = embeddingResponse.getResults().get(0).getOutput();

List results = vectorStore.similaritySearch(SearchRequest.builder()
.query(input)
.topK(1)
.build());
return results;

}

}
und die GitHub -Adresse des Projekts lautet: https://github.com/xiongdwm/ai_demo

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post