refactor: move 'SearchType' to 'store.models.chunk'

This commit is contained in:
Tres Seaver 2026-05-18 09:27:34 -04:00
parent d7e96f2658
commit f9ce3bc401
No known key found for this signature in database
GPG key ID: F2A968348913D1D8
7 changed files with 9 additions and 12 deletions

View file

@ -19,11 +19,11 @@ from rich.progress import (
from rich.syntax import Syntax from rich.syntax import Syntax
from haiku.rag.client import HaikuRAG, RebuildMode from haiku.rag.client import HaikuRAG, RebuildMode
from haiku.rag.client.models import SearchType
from haiku.rag.config import AppConfig, Config from haiku.rag.config import AppConfig, Config
from haiku.rag.mcp import create_mcp_server from haiku.rag.mcp import create_mcp_server
from haiku.rag.monitor import FileWatcher, S3Watcher from haiku.rag.monitor import FileWatcher, S3Watcher
from haiku.rag.store.models.document import Document from haiku.rag.store.models.document import Document
from haiku.rag.store.models.chunk import SearchType
if TYPE_CHECKING: if TYPE_CHECKING:
from haiku.rag.store.models import SearchResult from haiku.rag.store.models import SearchResult

View file

@ -15,7 +15,6 @@ from dotenv import find_dotenv, load_dotenv
load_dotenv(find_dotenv(usecwd=True)) load_dotenv(find_dotenv(usecwd=True))
from haiku.rag.app import HaikuRAGApp # noqa: E402 from haiku.rag.app import HaikuRAGApp # noqa: E402
from haiku.rag.client.models import SearchType # noqa: E402
from haiku.rag.config import ( # noqa: E402 from haiku.rag.config import ( # noqa: E402
AppConfig, AppConfig,
find_config_file, find_config_file,
@ -28,6 +27,7 @@ from haiku.rag.store.exceptions import ( # noqa: E402
MigrationRequiredError, MigrationRequiredError,
ReadOnlyError, ReadOnlyError,
) )
from haiku.rag.store.models.chunk import SearchType # noqa: E402
from haiku.rag.utils import is_up_to_date # noqa: E402 from haiku.rag.utils import is_up_to_date # noqa: E402
_cli = typer.Typer( _cli = typer.Typer(

View file

@ -13,12 +13,11 @@ from urllib.parse import urlparse
import httpx import httpx
from haiku.rag.client.models import SearchType
from haiku.rag.config import AppConfig, Config from haiku.rag.config import AppConfig, Config
from haiku.rag.converters import get_converter from haiku.rag.converters import get_converter
from haiku.rag.reranking import get_reranker from haiku.rag.reranking import get_reranker
from haiku.rag.store.engine import Store from haiku.rag.store.engine import Store
from haiku.rag.store.models.chunk import Chunk, SearchResult from haiku.rag.store.models.chunk import Chunk, SearchResult, SearchType
from haiku.rag.store.models.document import Document from haiku.rag.store.models.document import Document
from haiku.rag.store.models.document_item import extract_items from haiku.rag.store.models.document_item import extract_items
from haiku.rag.store.repositories.chunk import ChunkRepository from haiku.rag.store.repositories.chunk import ChunkRepository

View file

@ -1,3 +0,0 @@
from typing import Literal
SearchType = Literal["vector", "fts", "hybrid"]

View file

@ -1,9 +1,8 @@
import base64 import base64
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from haiku.rag.client.models import SearchType
from haiku.rag.reranking import get_reranker from haiku.rag.reranking import get_reranker
from haiku.rag.store.models.chunk import Chunk, SearchResult from haiku.rag.store.models.chunk import Chunk, SearchResult, SearchType
if TYPE_CHECKING: if TYPE_CHECKING:
from PIL import Image as PILImage from PIL import Image as PILImage

View file

@ -1,4 +1,4 @@
from typing import TYPE_CHECKING from typing import Literal, TYPE_CHECKING
from pydantic import BaseModel, PrivateAttr from pydantic import BaseModel, PrivateAttr
@ -113,6 +113,9 @@ class Chunk(BaseModel):
return ChunkMetadata.model_validate(self.metadata) return ChunkMetadata.model_validate(self.metadata)
SearchType = Literal["vector", "fts", "hybrid"]
class SearchResult(BaseModel): class SearchResult(BaseModel):
"""Search result with optional provenance information for citations. """Search result with optional provenance information for citations.

View file

@ -10,9 +10,8 @@ if TYPE_CHECKING:
from lancedb.index import FTS from lancedb.index import FTS
from lancedb.rerankers import RRFReranker from lancedb.rerankers import RRFReranker
from haiku.rag.client.models import SearchType
from haiku.rag.store.engine import Store, query_to_pydantic from haiku.rag.store.engine import Store, query_to_pydantic
from haiku.rag.store.models.chunk import Chunk from haiku.rag.store.models.chunk import Chunk, SearchType
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)