|
1 | | -"""IBM Watson embeddings provider.""" |
| 1 | +"""IBM WatsonX embeddings provider.""" |
2 | 2 |
|
3 | 3 | from typing import Any |
4 | 4 |
|
|
7 | 7 |
|
8 | 8 | from crewai.rag.core.base_embeddings_provider import BaseEmbeddingsProvider |
9 | 9 | from crewai.rag.embeddings.providers.ibm.embedding_callable import ( |
10 | | - WatsonEmbeddingFunction, |
| 10 | + WatsonXEmbeddingFunction, |
11 | 11 | ) |
12 | 12 |
|
13 | 13 |
|
14 | | -class WatsonProvider(BaseEmbeddingsProvider[WatsonEmbeddingFunction]): |
15 | | - """IBM Watson embeddings provider. |
| 14 | +class WatsonXProvider(BaseEmbeddingsProvider[WatsonXEmbeddingFunction]): |
| 15 | + """IBM WatsonX embeddings provider. |
16 | 16 |
|
17 | | - Note: Requires custom implementation as Watson uses a different interface. |
| 17 | + Note: Requires custom implementation as WatsonX uses a different interface. |
18 | 18 | """ |
19 | 19 |
|
20 | | - embedding_callable: type[WatsonEmbeddingFunction] = Field( |
21 | | - default=WatsonEmbeddingFunction, description="Watson embedding function class" |
| 20 | + embedding_callable: type[WatsonXEmbeddingFunction] = Field( |
| 21 | + default=WatsonXEmbeddingFunction, description="WatsonX embedding function class" |
22 | 22 | ) |
23 | 23 | model_id: str = Field( |
24 | | - description="Watson model ID", validation_alias="EMBEDDINGS_WATSON_MODEL_ID" |
| 24 | + description="WatsonX model ID", validation_alias="EMBEDDINGS_WATSONX_MODEL_ID" |
25 | 25 | ) |
26 | 26 | params: dict[str, str | dict[str, str]] | None = Field( |
27 | 27 | default=None, description="Additional parameters" |
28 | 28 | ) |
29 | | - credentials: Any | None = Field(default=None, description="Watson credentials") |
| 29 | + credentials: Any | None = Field(default=None, description="WatsonX credentials") |
30 | 30 | project_id: str | None = Field( |
31 | 31 | default=None, |
32 | | - description="Watson project ID", |
33 | | - validation_alias="EMBEDDINGS_WATSON_PROJECT_ID", |
| 32 | + description="WatsonX project ID", |
| 33 | + validation_alias="EMBEDDINGS_WATSONX_PROJECT_ID", |
34 | 34 | ) |
35 | 35 | space_id: str | None = Field( |
36 | 36 | default=None, |
37 | | - description="Watson space ID", |
38 | | - validation_alias="EMBEDDINGS_WATSON_SPACE_ID", |
| 37 | + description="WatsonX space ID", |
| 38 | + validation_alias="EMBEDDINGS_WATSONX_SPACE_ID", |
39 | 39 | ) |
40 | | - api_client: Any | None = Field(default=None, description="Watson API client") |
| 40 | + api_client: Any | None = Field(default=None, description="WatsonX API client") |
41 | 41 | verify: bool | str | None = Field( |
42 | 42 | default=None, |
43 | 43 | description="SSL verification", |
44 | | - validation_alias="EMBEDDINGS_WATSON_VERIFY", |
| 44 | + validation_alias="EMBEDDINGS_WATSONX_VERIFY", |
45 | 45 | ) |
46 | 46 | persistent_connection: bool = Field( |
47 | 47 | default=True, |
48 | 48 | description="Use persistent connection", |
49 | | - validation_alias="EMBEDDINGS_WATSON_PERSISTENT_CONNECTION", |
| 49 | + validation_alias="EMBEDDINGS_WATSONX_PERSISTENT_CONNECTION", |
50 | 50 | ) |
51 | 51 | batch_size: int = Field( |
52 | 52 | default=100, |
53 | 53 | description="Batch size for processing", |
54 | | - validation_alias="EMBEDDINGS_WATSON_BATCH_SIZE", |
| 54 | + validation_alias="EMBEDDINGS_WATSONX_BATCH_SIZE", |
55 | 55 | ) |
56 | 56 | concurrency_limit: int = Field( |
57 | 57 | default=10, |
58 | 58 | description="Concurrency limit", |
59 | | - validation_alias="EMBEDDINGS_WATSON_CONCURRENCY_LIMIT", |
| 59 | + validation_alias="EMBEDDINGS_WATSONX_CONCURRENCY_LIMIT", |
60 | 60 | ) |
61 | 61 | max_retries: int | None = Field( |
62 | 62 | default=None, |
63 | 63 | description="Maximum retries", |
64 | | - validation_alias="EMBEDDINGS_WATSON_MAX_RETRIES", |
| 64 | + validation_alias="EMBEDDINGS_WATSONX_MAX_RETRIES", |
65 | 65 | ) |
66 | 66 | delay_time: float | None = Field( |
67 | 67 | default=None, |
68 | 68 | description="Delay time between retries", |
69 | | - validation_alias="EMBEDDINGS_WATSON_DELAY_TIME", |
| 69 | + validation_alias="EMBEDDINGS_WATSONX_DELAY_TIME", |
70 | 70 | ) |
71 | 71 | retry_status_codes: list[int] | None = Field( |
72 | 72 | default=None, description="HTTP status codes to retry on" |
73 | 73 | ) |
74 | 74 | url: str = Field( |
75 | | - description="Watson API URL", validation_alias="EMBEDDINGS_WATSON_URL" |
| 75 | + description="WatsonX API URL", validation_alias="EMBEDDINGS_WATSONX_URL" |
76 | 76 | ) |
77 | 77 | api_key: str = Field( |
78 | | - description="Watson API key", validation_alias="EMBEDDINGS_WATSON_API_KEY" |
| 78 | + description="WatsonX API key", validation_alias="EMBEDDINGS_WATSONX_API_KEY" |
79 | 79 | ) |
80 | 80 | name: str | None = Field( |
81 | 81 | default=None, |
82 | 82 | description="Service name", |
83 | | - validation_alias="EMBEDDINGS_WATSON_NAME", |
| 83 | + validation_alias="EMBEDDINGS_WATSONX_NAME", |
84 | 84 | ) |
85 | 85 | iam_serviceid_crn: str | None = Field( |
86 | 86 | default=None, |
87 | 87 | description="IAM service ID CRN", |
88 | | - validation_alias="EMBEDDINGS_WATSON_IAM_SERVICEID_CRN", |
| 88 | + validation_alias="EMBEDDINGS_WATSONX_IAM_SERVICEID_CRN", |
89 | 89 | ) |
90 | 90 | trusted_profile_id: str | None = Field( |
91 | 91 | default=None, |
92 | 92 | description="Trusted profile ID", |
93 | | - validation_alias="EMBEDDINGS_WATSON_TRUSTED_PROFILE_ID", |
| 93 | + validation_alias="EMBEDDINGS_WATSONX_TRUSTED_PROFILE_ID", |
94 | 94 | ) |
95 | 95 | token: str | None = Field( |
96 | 96 | default=None, |
97 | 97 | description="Bearer token", |
98 | | - validation_alias="EMBEDDINGS_WATSON_TOKEN", |
| 98 | + validation_alias="EMBEDDINGS_WATSONX_TOKEN", |
99 | 99 | ) |
100 | 100 | projects_token: str | None = Field( |
101 | 101 | default=None, |
102 | 102 | description="Projects token", |
103 | | - validation_alias="EMBEDDINGS_WATSON_PROJECTS_TOKEN", |
| 103 | + validation_alias="EMBEDDINGS_WATSONX_PROJECTS_TOKEN", |
104 | 104 | ) |
105 | 105 | username: str | None = Field( |
106 | 106 | default=None, |
107 | 107 | description="Username", |
108 | | - validation_alias="EMBEDDINGS_WATSON_USERNAME", |
| 108 | + validation_alias="EMBEDDINGS_WATSONX_USERNAME", |
109 | 109 | ) |
110 | 110 | password: str | None = Field( |
111 | 111 | default=None, |
112 | 112 | description="Password", |
113 | | - validation_alias="EMBEDDINGS_WATSON_PASSWORD", |
| 113 | + validation_alias="EMBEDDINGS_WATSONX_PASSWORD", |
114 | 114 | ) |
115 | 115 | instance_id: str | None = Field( |
116 | 116 | default=None, |
117 | 117 | description="Service instance ID", |
118 | | - validation_alias="EMBEDDINGS_WATSON_INSTANCE_ID", |
| 118 | + validation_alias="EMBEDDINGS_WATSONX_INSTANCE_ID", |
119 | 119 | ) |
120 | 120 | version: str | None = Field( |
121 | 121 | default=None, |
122 | 122 | description="API version", |
123 | | - validation_alias="EMBEDDINGS_WATSON_VERSION", |
| 123 | + validation_alias="EMBEDDINGS_WATSONX_VERSION", |
124 | 124 | ) |
125 | 125 | bedrock_url: str | None = Field( |
126 | 126 | default=None, |
127 | 127 | description="Bedrock URL", |
128 | | - validation_alias="EMBEDDINGS_WATSON_BEDROCK_URL", |
| 128 | + validation_alias="EMBEDDINGS_WATSONX_BEDROCK_URL", |
129 | 129 | ) |
130 | 130 | platform_url: str | None = Field( |
131 | 131 | default=None, |
132 | 132 | description="Platform URL", |
133 | | - validation_alias="EMBEDDINGS_WATSON_PLATFORM_URL", |
| 133 | + validation_alias="EMBEDDINGS_WATSONX_PLATFORM_URL", |
134 | 134 | ) |
135 | 135 | proxies: dict | None = Field(default=None, description="Proxy configuration") |
136 | 136 |
|
|
0 commit comments