Skip to content

Commit 8f35761

Browse files
committed
Add support for generative-databricks
1 parent b450b77 commit 8f35761

File tree

4 files changed

+82
-13
lines changed

4 files changed

+82
-13
lines changed

src/collections/config/types/generative.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,23 @@ export type GenerativeAnyscaleConfig = {
2828
temperature?: number;
2929
};
3030

31+
export type GenerativeCohereConfig = {
32+
kProperty?: number;
33+
model?: string;
34+
maxTokensProperty?: number;
35+
returnLikelihoodsProperty?: string;
36+
stopSequencesProperty?: string[];
37+
temperatureProperty?: number;
38+
};
39+
40+
export type GenerativeDatabricksConfig = {
41+
endpoint: string;
42+
maxTokens?: number;
43+
temperature?: number;
44+
topK?: number;
45+
topP?: number;
46+
};
47+
3148
export type GenerativeFriendliAIConfig = {
3249
baseURL?: string;
3350
maxTokens?: number;
@@ -62,15 +79,6 @@ export type GenerativeAzureOpenAIConfig = GenerativeOpenAIConfigBase & {
6279
deploymentId: string;
6380
};
6481

65-
export type GenerativeCohereConfig = {
66-
kProperty?: number;
67-
model?: string;
68-
maxTokensProperty?: number;
69-
returnLikelihoodsProperty?: string;
70-
stopSequencesProperty?: string[];
71-
temperatureProperty?: number;
72-
};
73-
7482
export type GenerativePaLMConfig = {
7583
apiEndpoint?: string;
7684
maxOutputTokens?: number;
@@ -105,15 +113,17 @@ export type GenerativeConfigType<G> = G extends 'generative-anthropic'
105113
? GenerativeOpenAIConfig
106114
: G extends 'generative-cohere'
107115
? GenerativeAzureOpenAIConfig
116+
: G extends 'generative-databricks'
117+
? GenerativeDatabricksConfig
118+
: G extends 'generative-friendliai'
119+
? GenerativeFriendliAIConfig
108120
: G extends 'generative-mistral'
109121
? GenerativeMistralConfig
110122
: G extends 'generative-octoai'
111123
? GenerativeOctoAIConfig
112124
: G extends 'generative-ollama'
113125
? GenerativeOllamaConfig
114126
: G extends 'generative-openai'
115-
? GenerativeCohereConfig
116-
: G extends 'generative-palm'
117127
? GenerativePaLMConfig
118128
: G extends 'none'
119129
? undefined
@@ -124,11 +134,13 @@ export type GenerativeSearch =
124134
| 'generative-anyscale'
125135
| 'generative-aws'
126136
| 'generative-azure-openai'
137+
| 'generative-cohere'
138+
| 'generative-databricks'
139+
| 'generative-friendliai'
127140
| 'generative-mistral'
128141
| 'generative-octoai'
129142
| 'generative-ollama'
130143
| 'generative-openai'
131-
| 'generative-cohere'
132144
| 'generative-palm'
133145
| 'none'
134146
| string;

src/collections/configure/generative.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
GenerativeAnyscaleConfig,
55
GenerativeAzureOpenAIConfig,
66
GenerativeCohereConfig,
7+
GenerativeDatabricksConfig,
78
GenerativeFriendliAIConfig,
89
GenerativeMistralConfig,
910
GenerativeOctoAIConfig,
@@ -18,6 +19,7 @@ import {
1819
GenerativeAnyscaleConfigCreate,
1920
GenerativeAzureOpenAIConfigCreate,
2021
GenerativeCohereConfigCreate,
22+
GenerativeDatabricksConfigCreate,
2123
GenerativeFriendliAIConfigCreate,
2224
GenerativeMistralConfigCreate,
2325
GenerativeOctoAIConfigCreate,
@@ -104,7 +106,7 @@ export default {
104106
* See the [documentation](https://weaviate.io/developers/weaviate/model-providers/cohere/generative) for detailed usage.
105107
*
106108
* @param {GenerativeCohereConfigCreate} [config] The configuration for the `generative-cohere` module.
107-
* @returns {ModuleConfig<'generative-cohere', GenerativeCohereConfig>} The configuration object.
109+
* @returns {ModuleConfig<'generative-cohere', GenerativeCohereConfig | undefined>} The configuration object.
108110
*/
109111
cohere: (
110112
config?: GenerativeCohereConfigCreate
@@ -123,6 +125,22 @@ export default {
123125
: undefined,
124126
};
125127
},
128+
/**
129+
* Create a `ModuleConfig<'generative-databricks', GenerativeDatabricksConfig>` object for use when performing AI generation using the `generative-databricks` module.
130+
*
131+
* See the [documentation](https://weaviate.io/developers/weaviate/model-providers/databricks/generative) for detailed usage.
132+
*
133+
* @param {GenerativeDatabricksConfigCreate} config The configuration for the `generative-databricks` module.
134+
* @returns {ModuleConfig<'generative-databricks', GenerativeDatabricksConfig>} The configuration object.
135+
*/
136+
databricks: (
137+
config: GenerativeDatabricksConfigCreate
138+
): ModuleConfig<'generative-databricks', GenerativeDatabricksConfig> => {
139+
return {
140+
name: 'generative-databricks',
141+
config,
142+
};
143+
},
126144
/**
127145
* Create a `ModuleConfig<'generative-friendliai', GenerativeFriendliAIConfig | undefined>` object for use when performing AI generation using the `generative-friendliai` module.
128146
*

src/collections/configure/types/generative.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
GenerativeAWSConfig,
33
GenerativeAnthropicConfig,
44
GenerativeAnyscaleConfig,
5+
GenerativeDatabricksConfig,
56
GenerativeFriendliAIConfig,
67
GenerativeMistralConfig,
78
GenerativeOctoAIConfig,
@@ -38,6 +39,8 @@ export type GenerativeCohereConfigCreate = {
3839
temperature?: number;
3940
};
4041

42+
export type GenerativeDatabricksConfigCreate = GenerativeDatabricksConfig;
43+
4144
export type GenerativeFriendliAIConfigCreate = GenerativeFriendliAIConfig;
4245

4346
export type GenerativeMistralConfigCreate = GenerativeMistralConfig;
@@ -58,6 +61,7 @@ export type GenerativeConfigCreate =
5861
| GenerativeAWSConfigCreate
5962
| GenerativeAzureOpenAIConfigCreate
6063
| GenerativeCohereConfigCreate
64+
| GenerativeDatabricksConfigCreate
6165
| GenerativeFriendliAIConfigCreate
6266
| GenerativeMistralConfigCreate
6367
| GenerativeOctoAIConfigCreate
@@ -75,6 +79,8 @@ export type GenerativeConfigCreateType<G> = G extends 'generative-anthropic'
7579
? GenerativeAzureOpenAIConfigCreate
7680
: G extends 'generative-cohere'
7781
? GenerativeCohereConfigCreate
82+
: G extends 'generative-databricks'
83+
? GenerativeDatabricksConfigCreate
7884
: G extends 'generative-friendliai'
7985
? GenerativeFriendliAIConfigCreate
8086
: G extends 'generative-mistral'

src/collections/configure/unit.test.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
GenerativeAnyscaleConfig,
55
GenerativeAzureOpenAIConfig,
66
GenerativeCohereConfig,
7+
GenerativeDatabricksConfig,
78
GenerativeFriendliAIConfig,
89
GenerativeMistralConfig,
910
GenerativeOctoAIConfig,
@@ -1259,6 +1260,38 @@ describe('Unit testing of the generative factory class', () => {
12591260
});
12601261
});
12611262

1263+
it('should create the correct GenerativeDatabricksConfig type with required & default values', () => {
1264+
const config = configure.generative.databricks({
1265+
endpoint: 'endpoint',
1266+
});
1267+
expect(config).toEqual<ModuleConfig<'generative-databricks', GenerativeDatabricksConfig>>({
1268+
name: 'generative-databricks',
1269+
config: {
1270+
endpoint: 'endpoint',
1271+
},
1272+
});
1273+
});
1274+
1275+
it('should create the correct GenerativeDatabricksConfig type with all values', () => {
1276+
const config = configure.generative.databricks({
1277+
endpoint: 'endpoint',
1278+
maxTokens: 100,
1279+
temperature: 0.5,
1280+
topK: 10,
1281+
topP: 0.8,
1282+
});
1283+
expect(config).toEqual<ModuleConfig<'generative-databricks', GenerativeDatabricksConfig>>({
1284+
name: 'generative-databricks',
1285+
config: {
1286+
endpoint: 'endpoint',
1287+
maxTokens: 100,
1288+
temperature: 0.5,
1289+
topK: 10,
1290+
topP: 0.8,
1291+
},
1292+
});
1293+
});
1294+
12621295
it('should create the correct GenerativeFriendliAIConfig type with required & default values', () => {
12631296
const config = configure.generative.friendliai();
12641297
expect(config).toEqual<ModuleConfig<'generative-friendliai', GenerativeFriendliAIConfig | undefined>>({

0 commit comments

Comments
 (0)