Vearch
https://github.com/vearch/vearch
Maven依存関係
备注
1.0.0-alpha1
以降、langchain4j-vearch
はlangchain4j-community
に移行し、langchain4j-community-vearch
に名前が変更されました。
0.36.2
以前:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-vearch</artifactId>
<version>1.0.0-beta4</version>
</dependency>
1.0.0-alpha1
以降:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-vearch</artifactId>
<version>1.0.0-beta4</version>
</dependency>
または、BOMを使用して依存関係を一貫して管理することもできます:
<dependencyManagement>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-bom</artifactId>
<version>1.0.0-beta4</version>
<typ>pom</typ>
<scope>import</scope>
</dependency>
</dependencyManagement>
API
1.0.0-alpha1
以前
备注
VearchEmbeddingStore
を使用するには、VearchConfig
をインスタンス化する必要があります:
String embeddingFieldName = "text_embedding";
String textFieldName = "text";
Map<String, Object> metadata = createMetadata().toMap();
// プロパティの初期化
Map<String, SpacePropertyParam> properties = new HashMap<>(4);
properties.put(embeddingFieldName, SpacePropertyParam.VectorParam.builder()
.index(true)
.storeType(SpaceStoreType.MEMORY_ONLY)
.dimension(384)
.build());
properties.put(textFieldName, SpacePropertyParam.StringParam.builder().build());
// メタデータを追加... 例:properties.put("name", SpacePropertyParam.StringParam.builder().build());
VearchConfig vearchConfig = VearchConfig.builder()
.spaceEngine(SpaceEngine.builder()
.name("gamma")
.indexSize(1L)
.retrievalType(RetrievalType.FLAT)
.retrievalParam(RetrievalParam.FLAT.builder()
.build())
.build())
.properties(properties)
.embeddingFieldName(embeddingFieldName)
.textFieldName(textFieldName)
.databaseName(databaseName)
.spaceName(spaceName)
.modelParams(singletonList(ModelParam.builder()
.modelId("vgg16")
.fields(singletonList("string"))
.out("feature")
.build()))
.build();
次に、VearchEmbeddingStore
を作成できます:
VearchEmbeddingStore embeddingStore = VearchEmbeddingStore.builder()
.vearchConfig(vearchConfig)
.baseUrl(baseUrl)
.build();