diff --git a/pom.xml b/pom.xml index 6424e00..5a5c31f 100644 --- a/pom.xml +++ b/pom.xml @@ -52,7 +52,6 @@ hutool-all 5.8.24 - dev.langchain4j langchain4j-core @@ -65,24 +64,25 @@ dev.langchain4j - langchain4j + langchain4j-ollama ${langchain4j.version} dev.langchain4j - langchain4j-ollama + langchain4j-easy-rag ${langchain4j.version} dev.langchain4j - langchain4j-easy-rag + langchain4j-embeddings ${langchain4j.version} dev.langchain4j - langchain4j-embeddings + langchain4j-embeddings-all-minilm-l6-v2 ${langchain4j.version} + dev.langchain4j langchain4j-chroma @@ -94,5 +94,21 @@ langchain4j-milvus ${langchain4j.version} + + + + dev.langchain4j + langchain4j-qdrant + 1.0.0-beta2 + + + + + dev.langchain4j + langchain4j + ${langchain4j.version} + + + \ No newline at end of file diff --git a/src/main/java/xyz/wbsite/ai/Naive_RAG_Example.java b/src/main/java/xyz/wbsite/ai/Naive_RAG_Example.java index 8e5fe3f..ea09b84 100644 --- a/src/main/java/xyz/wbsite/ai/Naive_RAG_Example.java +++ b/src/main/java/xyz/wbsite/ai/Naive_RAG_Example.java @@ -48,7 +48,7 @@ public class Naive_RAG_Example { //此存储将用于在每次与LLM交互时搜索相关细分市场。 //为简单起见,此示例使用内存中的嵌入存储,但您可以从任何支持的存储中进行选择。 //Langchain4j目前支持超过15个流行的嵌入商店。 - EmbeddingStore embeddingStore = new InMemoryEmbeddingStore<>(); + InMemoryEmbeddingStore embeddingStore = new InMemoryEmbeddingStore<>(); embeddingStore.addAll(embeddings, segments); // 我们还可以使用EmbeddingStoreIngestor将上面的手动步骤隐藏在更简单的API后面。 diff --git a/src/main/java/xyz/wbsite/ai/Qdrant_Embedding_Example.java b/src/main/java/xyz/wbsite/ai/Qdrant_Embedding_Example.java new file mode 100644 index 0000000..21a3383 --- /dev/null +++ b/src/main/java/xyz/wbsite/ai/Qdrant_Embedding_Example.java @@ -0,0 +1,30 @@ +package xyz.wbsite.ai; + +import dev.langchain4j.data.embedding.Embedding; +import dev.langchain4j.data.segment.TextSegment; +import dev.langchain4j.model.embedding.EmbeddingModel; +import dev.langchain4j.model.embedding.onnx.allminilml6v2.AllMiniLmL6V2EmbeddingModel; +import dev.langchain4j.store.embedding.EmbeddingStore; +import dev.langchain4j.store.embedding.qdrant.QdrantEmbeddingStore; + +import static dev.langchain4j.internal.Utils.randomUUID; + +/** + * 语义相似度比较 + */ +public class Qdrant_Embedding_Example { + + public static void main(String[] args) { + EmbeddingStore embeddingStore = + QdrantEmbeddingStore.builder() + .host("127.0.0.1") + .port(6334) + .collectionName("langchain4j-" + randomUUID()) + .build(); + + EmbeddingModel embeddingModel = new AllMiniLmL6V2EmbeddingModel(); + TextSegment segment1 = TextSegment.from("I've been to France twice."); + Embedding embedding1 = embeddingModel.embed(segment1).content(); + embeddingStore.add(embedding1, segment1); + } +}