Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Supported model names #133

Merged
merged 9 commits into from
Sep 17, 2024
Merged
4 changes: 2 additions & 2 deletions packages/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ export type {
export { executeRequest } from './http-client.js';
export { getAiCoreDestination } from './context.js';
export { OpenApiRequestBuilder } from './openapi-request-builder.js';
export type {
export {
AzureOpenAiChatModel,
AzureOpenAiEmbeddingModel,
GcpVertexAiChatModel,
AwsBedrockChatModel,
ChatModel
AiCoreOpenSourceChatModel
} from './model-types.js';
11 changes: 4 additions & 7 deletions packages/core/src/model-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export type AzureOpenAiChatModel = LiteralUnion<
| 'gpt-4'
| 'gpt-4-32k'
| 'gpt-35-turbo'
| 'gpt-35-turbo-0125'
| 'gpt-35-turbo-16k'
>;

Expand All @@ -24,24 +23,22 @@ export type AzureOpenAiEmbeddingModel = LiteralUnion<
* GCP Vertex AI models for chat completion.
*/
export type GcpVertexAiChatModel = LiteralUnion<
'gemini-1.0-pro' | 'gemini-1.5-pro' | 'gemini-1.5-flash' | 'chat-bison'
'gemini-1.0-pro' | 'gemini-1.5-pro' | 'gemini-1.5-flash'
>;

/**
* AWS Bedrock models for chat completion.
*/
export type AwsBedrockChatModel = LiteralUnion<
| 'amazon--titan-text-express'
| 'amazon--titan-text-lite'
| 'anthropic--claude-3-haiku'
| 'anthropic--claude-3-opus'
| 'anthropic--claude-3-sonnet'
| 'anthropic--claude-3.5-sonnet'
>;

/**
* All available models for chat completion.
* AI Core open source models for chat completion.
*/
export type ChatModel = LiteralUnion<
ZhongpinWang marked this conversation as resolved.
Show resolved Hide resolved
AzureOpenAiChatModel | GcpVertexAiChatModel | AwsBedrockChatModel
export type AiCoreOpenSourceChatModel = LiteralUnion<
'mistralai--mixtral-8x7b-instruct-v01' | 'meta--llama3-70b-instruct'
>;
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
import {
type CustomRequestConfig,
type AzureOpenAiChatModel,
executeRequest
} from '@sap-ai-sdk/core';
import { type CustomRequestConfig, executeRequest } from '@sap-ai-sdk/core';
import {
getDeploymentId,
type ModelDeployment
} from '@sap-ai-sdk/ai-api/internal.js';
import type { AzureOpenAiChatModel } from './model-types.js';
import type { AzureOpenAiChatCompletionParameters } from './azure-openai-types.js';
import { AzureOpenAiChatCompletionResponse } from './azure-openai-response.js';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
import {
type CustomRequestConfig,
type AzureOpenAiEmbeddingModel,
executeRequest
} from '@sap-ai-sdk/core';
import { type CustomRequestConfig, executeRequest } from '@sap-ai-sdk/core';
import {
getDeploymentId,
type ModelDeployment
} from '@sap-ai-sdk/ai-api/internal.js';
import type { AzureOpenAiEmbeddingModel } from './model-types.js';
import type {
AzureOpenAiEmbeddingParameters,
AzureOpenAiEmbeddingOutput
Expand Down
1 change: 1 addition & 0 deletions packages/foundation-models/src/azure-openai/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ export * from './azure-openai-types.js';
export * from './azure-openai-chat-client.js';
export * from './azure-openai-embedding-client.js';
export * from './azure-openai-response.js';
export * from './model-types.js';
14 changes: 14 additions & 0 deletions packages/foundation-models/src/azure-openai/model-types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import type {
AzureOpenAiChatModel as CoreAzureOpenAiChatModel,
AzureOpenAiEmbeddingModel as CoreAzureOpenAiEmbeddingModel
} from '@sap-ai-sdk/core';

/**
* Azure OpenAI models for chat completion.
*/
export type AzureOpenAiChatModel = CoreAzureOpenAiChatModel;

/**
* Azure OpenAI models for embedding.
*/
export type AzureOpenAiEmbeddingModel = CoreAzureOpenAiEmbeddingModel;
5 changes: 4 additions & 1 deletion packages/foundation-models/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,11 @@ export type {
AzureOpenAiContentFilterResultBase,
AzureOpenAiContentFilterDetectedResult,
AzureOpenAiContentFilterSeverityResult,
AzureOpenAiEmbeddingOutput
AzureOpenAiEmbeddingOutput,
AzureOpenAiChatModel,
AzureOpenAiEmbeddingModel
} from './azure-openai/index.js';

export {
AzureOpenAiChatClient,
AzureOpenAiEmbeddingClient,
Expand Down
2 changes: 2 additions & 0 deletions packages/orchestration/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ export { OrchestrationClient } from './orchestration-client.js';
export { azureContentFilter } from './orchestration-filter-utility.js';

export { OrchestrationResponse } from './orchestration-response.js';

export type { ChatModel } from './model-types.js';
15 changes: 15 additions & 0 deletions packages/orchestration/src/model-types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import {
AiCoreOpenSourceChatModel,
AwsBedrockChatModel,
AzureOpenAiChatModel,
GcpVertexAiChatModel
} from '@sap-ai-sdk/core';

/**
* Supported chat models for orchestration.
*/
export type ChatModel =
| Exclude<AzureOpenAiChatModel, 'gpt-4o-mini'>
| GcpVertexAiChatModel
| AwsBedrockChatModel
| AiCoreOpenSourceChatModel;
2 changes: 1 addition & 1 deletion packages/orchestration/src/orchestration-types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ChatModel } from '@sap-ai-sdk/core';
import { ChatModel } from './model-types.js';
import {
ChatMessages,
FilteringModuleConfig,
Expand Down
6 changes: 5 additions & 1 deletion tests/type-tests/test/azure-openai.test-d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { expectError, expectType } from 'tsd';
import { expectType } from 'tsd';
import {
type AzureOpenAiChatModel,
AzureOpenAiChatCompletionOutput,
AzureOpenAiEmbeddingOutput,
AzureOpenAiChatClient,
Expand Down Expand Up @@ -128,3 +129,6 @@ expectType<Promise<AzureOpenAiEmbeddingOutput>>(
}
)
);

expect<AzureOpenAiChatModel>('custom-model');
expect<AzureOpenAiChatModel>('gpt-4-32k');
5 changes: 0 additions & 5 deletions tests/type-tests/test/model.test-d.ts

This file was deleted.

6 changes: 5 additions & 1 deletion tests/type-tests/test/orchestration.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import {
OrchestrationClient,
CompletionPostResponse,
OrchestrationResponse,
TokenUsage
TokenUsage,
ChatModel
} from '@sap-ai-sdk/orchestration';

/**
Expand Down Expand Up @@ -191,3 +192,6 @@ expectType<Promise<OrchestrationResponse>>(
}
}).chatCompletion()
);

expect<ChatModel>('custom-model');
expect<ChatModel>('gemini-1.0-pro');