mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-23 17:06:42 +08:00
### Summary Refactor dataset.go document.do file.go file2document.go in internal/service.
82 lines
2.3 KiB
Go
82 lines
2.3 KiB
Go
package service
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"ragflow/internal/entity"
|
|
)
|
|
|
|
func TestValidateDatasetEmbeddingModels_AllHaveEmbeddingModel(t *testing.T) {
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: "BAAI/bge-large-zh-v1.5@Builtin"},
|
|
{EmbdID: "BAAI/bge-large-zh-v1.5@Builtin"},
|
|
}
|
|
if err := ValidateDatasetEmbeddingModels(kbs); err != nil {
|
|
t.Fatalf("expected nil, got %v", err)
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_NoneHasEmbeddingModel(t *testing.T) {
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: ""},
|
|
{EmbdID: ""},
|
|
}
|
|
if err := ValidateDatasetEmbeddingModels(kbs); err != nil {
|
|
t.Fatalf("expected nil, got %v", err)
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_MixedErrors(t *testing.T) {
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: "BAAI/bge-large-zh-v1.5@Builtin"},
|
|
{EmbdID: ""},
|
|
}
|
|
err := ValidateDatasetEmbeddingModels(kbs)
|
|
if err == nil {
|
|
t.Fatal("expected error for mixed embedding")
|
|
}
|
|
if err.Error() != "Cannot search across datasets where some have embedding models and others do not." {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_DifferentEmbeddingsErrors(t *testing.T) {
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: "model-a@provider-1"},
|
|
{EmbdID: "model-b@provider-2"},
|
|
}
|
|
err := ValidateDatasetEmbeddingModels(kbs)
|
|
if err == nil {
|
|
t.Fatal("expected error for different embeddings")
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_SameBaseDifferentInstanceOK(t *testing.T) {
|
|
// Two KBs using the same base model through different provider instances
|
|
// (the rsplit("@", 2) logic should treat them as the same base).
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: "BAAI/bge-large-zh-v1.5@instance1@provider1"},
|
|
{EmbdID: "BAAI/bge-large-zh-v1.5@instance2@provider2"},
|
|
}
|
|
if err := ValidateDatasetEmbeddingModels(kbs); err != nil {
|
|
t.Fatalf("expected nil, got %v", err)
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_DifferentBasesErrors(t *testing.T) {
|
|
kbs := []*entity.Knowledgebase{
|
|
{EmbdID: "model-a@instance1@provider1"},
|
|
{EmbdID: "model-b@instance2@provider2"},
|
|
}
|
|
err := ValidateDatasetEmbeddingModels(kbs)
|
|
if err == nil {
|
|
t.Fatal("expected error for different base models")
|
|
}
|
|
}
|
|
|
|
func TestValidateDatasetEmbeddingModels_EmptyList(t *testing.T) {
|
|
if err := ValidateDatasetEmbeddingModels(nil); err != nil {
|
|
t.Fatalf("expected nil for empty list, got %v", err)
|
|
}
|
|
}
|