Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/collections/config/types/generative.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,17 @@ export type GenerativeDatabricksConfig = {
topP?: number;
};

export type GenerativeDigitalOceanConfig = {
baseURL?: string;
frequencyPenalty?: number;
maxTokens?: number;
model?: string;
presencePenalty?: number;
stop?: string[];
temperature?: number;
topP?: number;
};

export type GenerativeFriendliAIConfig = {
baseURL?: string;
maxTokens?: number;
Expand Down Expand Up @@ -123,6 +134,7 @@ export type GenerativeConfig =
| GenerativeCohereConfig
| GenerativeContextualAIConfig
| GenerativeDatabricksConfig
| GenerativeDigitalOceanConfig
| GenerativeGoogleConfig
| GenerativeFriendliAIConfig
| GenerativeMistralConfig
Expand All @@ -147,6 +159,8 @@ export type GenerativeConfigType<G> = G extends 'generative-anthropic'
? GenerativeContextualAIConfig
: G extends 'generative-databricks'
? GenerativeDatabricksConfig
: G extends 'generative-digitalocean'
? GenerativeDigitalOceanConfig
: G extends 'generative-google'
? GenerativeGoogleConfig
: G extends 'generative-friendliai'
Expand Down Expand Up @@ -176,6 +190,7 @@ export type GenerativeSearch =
| 'generative-cohere'
| 'generative-contextualai'
| 'generative-databricks'
| 'generative-digitalocean'
| 'generative-google'
| 'generative-friendliai'
| 'generative-mistral'
Expand Down
18 changes: 18 additions & 0 deletions src/collections/configure/generative.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
GenerativeCohereConfig,
GenerativeContextualAIConfig,
GenerativeDatabricksConfig,
GenerativeDigitalOceanConfig,
GenerativeFriendliAIConfig,
GenerativeGoogleConfig,
GenerativeMistralConfig,
Expand All @@ -24,6 +25,7 @@ import {
GenerativeCohereConfigCreate,
GenerativeContextualAIConfigCreate,
GenerativeDatabricksConfigCreate,
GenerativeDigitalOceanConfigCreate,
GenerativeFriendliAIConfigCreate,
GenerativeMistralConfigCreate,
GenerativeNvidiaConfigCreate,
Expand Down Expand Up @@ -171,6 +173,22 @@ export default {
config,
};
},
/**
* Create a `ModuleConfig<'generative-digitalocean', GenerativeDigitalOceanConfig | undefined>` object for use when performing AI generation using the `generative-digitalocean` module.
*
* See the [documentation](https://weaviate.io/developers/weaviate/model-providers/digitalocean/generative) for detailed usage.
*
* @param {GenerativeDigitalOceanConfigCreate} [config] The configuration for the `generative-digitalocean` module.
* @returns {ModuleConfig<'generative-digitalocean', GenerativeDigitalOceanConfig | undefined>} The configuration object.
*/
digitalOcean(
config?: GenerativeDigitalOceanConfigCreate
): ModuleConfig<'generative-digitalocean', GenerativeDigitalOceanConfig | undefined> {
return {
name: 'generative-digitalocean',
config,
};
},
/**
* Create a `ModuleConfig<'generative-friendliai', GenerativeFriendliAIConfig | undefined>` object for use when performing AI generation using the `generative-friendliai` module.
*
Expand Down
6 changes: 6 additions & 0 deletions src/collections/configure/types/generative.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {
GenerativeAnthropicConfig,
GenerativeAnyscaleConfig,
GenerativeDatabricksConfig,
GenerativeDigitalOceanConfig,
GenerativeFriendliAIConfig,
GenerativeMistralConfig,
GenerativeNvidiaConfig,
Expand Down Expand Up @@ -42,6 +43,8 @@ export type GenerativeCohereConfigCreate = {

export type GenerativeDatabricksConfigCreate = GenerativeDatabricksConfig;

export type GenerativeDigitalOceanConfigCreate = GenerativeDigitalOceanConfig;

export type GenerativeFriendliAIConfigCreate = GenerativeFriendliAIConfig;

export type GenerativeMistralConfigCreate = GenerativeMistralConfig;
Expand Down Expand Up @@ -75,6 +78,7 @@ export type GenerativeConfigCreate =
| GenerativeCohereConfigCreate
| GenerativeContextualAIConfigCreate
| GenerativeDatabricksConfigCreate
| GenerativeDigitalOceanConfigCreate
| GenerativeFriendliAIConfigCreate
| GenerativeMistralConfigCreate
| GenerativeNvidiaConfigCreate
Expand All @@ -97,6 +101,8 @@ export type GenerativeConfigCreateType<G> = G extends 'generative-anthropic'
? GenerativeContextualAIConfigCreate
: G extends 'generative-databricks'
? GenerativeDatabricksConfigCreate
: G extends 'generative-digitalocean'
? GenerativeDigitalOceanConfigCreate
: G extends 'generative-friendliai'
? GenerativeFriendliAIConfigCreate
: G extends 'generative-mistral'
Expand Down
39 changes: 39 additions & 0 deletions src/collections/configure/unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
GenerativeCohereConfig,
GenerativeContextualAIConfig,
GenerativeDatabricksConfig,
GenerativeDigitalOceanConfig,
GenerativeFriendliAIConfig,
GenerativeGoogleConfig,
GenerativeMistralConfig,
Expand Down Expand Up @@ -2048,6 +2049,44 @@ describe('Unit testing of the generative factory class', () => {
});
});

it('should create the correct GenerativeDigitalOceanConfig type with required & default values', () => {
const config = configure.generative.digitalOcean();
expect(config).toEqual<ModuleConfig<'generative-digitalocean', GenerativeDigitalOceanConfig | undefined>>(
{
name: 'generative-digitalocean',
config: undefined,
}
);
});

it('should create the correct GenerativeDigitalOceanConfig type with all values', () => {
const config = configure.generative.digitalOcean({
baseURL: 'base-url',
frequencyPenalty: 0.2,
maxTokens: 100,
model: 'model',
presencePenalty: 0.3,
stop: ['stop'],
temperature: 0.5,
topP: 0.8,
});
expect(config).toEqual<ModuleConfig<'generative-digitalocean', GenerativeDigitalOceanConfig | undefined>>(
{
name: 'generative-digitalocean',
config: {
baseURL: 'base-url',
frequencyPenalty: 0.2,
maxTokens: 100,
model: 'model',
presencePenalty: 0.3,
stop: ['stop'],
temperature: 0.5,
topP: 0.8,
},
}
);
});

it('should create the correct GenerativeFriendliAIConfig type with required & default values', () => {
const config = configure.generative.friendliai();
expect(config).toEqual<ModuleConfig<'generative-friendliai', GenerativeFriendliAIConfig | undefined>>({
Expand Down
Loading