|
28 | 28 | Embedders,
|
29 | 29 | EmbedderType,
|
30 | 30 | HuggingFaceEmbedder,
|
| 31 | + OllamaEmbedder, |
| 32 | + OpenAiEmbedder, |
31 | 33 | RestEmbedder,
|
32 | 34 | UserProvidedEmbedder,
|
33 | 35 | )
|
34 | 36 | from meilisearch.models.index import (
|
35 | 37 | Faceting,
|
36 | 38 | IndexStats,
|
37 | 39 | LocalizedAttributes,
|
38 |
| - OllamaEmbedder, |
39 |
| - OpenAiEmbedder, |
40 | 40 | Pagination,
|
41 | 41 | ProximityPrecision,
|
42 |
| - RestEmbedder, |
43 | 42 | TypoTolerance,
|
44 | 43 | )
|
45 | 44 | from meilisearch.models.task import Task, TaskInfo, TaskResults
|
@@ -1924,7 +1923,6 @@ def get_embedders(self) -> Embedders | None:
|
1924 | 1923 | if not response:
|
1925 | 1924 | return None
|
1926 | 1925 |
|
1927 |
| - |
1928 | 1926 | embedders: dict[str, EmbedderType] = {}
|
1929 | 1927 | for k, v in response.items():
|
1930 | 1928 | source = v.get("source")
|
@@ -1968,9 +1966,24 @@ def update_embedders(self, body: Union[MutableMapping[str, Any], None]) -> TaskI
|
1968 | 1966 | Meilisearch error codes are described here: https://www.meilisearch.com/docs/reference/errors/error_codes#meilisearch-errors
|
1969 | 1967 | """
|
1970 | 1968 | if body is not None and body.get("embedders"):
|
1971 |
| - for _, v in body["embedders"].items(): |
1972 |
| - if "documentTemplateMaxBytes" in v and v["documentTemplateMaxBytes"] is None: |
1973 |
| - del v["documentTemplateMaxBytes"] |
| 1969 | + embedders: dict[str, EmbedderType] = {} |
| 1970 | + for k, v in body["embedders"].items(): |
| 1971 | + source = v.get("source") |
| 1972 | + if source == "openAi": |
| 1973 | + embedders[k] = OpenAiEmbedder(**v) |
| 1974 | + elif source == "huggingFace": |
| 1975 | + embedders[k] = HuggingFaceEmbedder(**v) |
| 1976 | + elif source == "ollama": |
| 1977 | + embedders[k] = OllamaEmbedder(**v) |
| 1978 | + elif source == "rest": |
| 1979 | + embedders[k] = RestEmbedder(**v) |
| 1980 | + elif source == "userProvided": |
| 1981 | + embedders[k] = UserProvidedEmbedder(**v) |
| 1982 | + else: |
| 1983 | + # Default to UserProvidedEmbedder for unknown sources |
| 1984 | + embedders[k] = UserProvidedEmbedder(**v) |
| 1985 | + |
| 1986 | + body = {"embedders": {k: v.model_dump(by_alias=True) for k, v in embedders.items()}} |
1974 | 1987 |
|
1975 | 1988 | task = self.http.patch(self.__settings_url_for(self.config.paths.embedders), body)
|
1976 | 1989 |
|
|
0 commit comments