|
- import { Message, MessageRole } from './message';
-
- export enum FinishReason {
- STOP = 'stop',
- LENGTH = 'length',
- }
-
- export interface ChoiceBase {
- index: number;
- }
-
- export interface FinishableChoiceBase extends ChoiceBase {
- finish_reason: FinishReason | null;
- }
-
- export type DataEventId = string;
-
- export type Timestamp = number;
-
- export interface Usage {
- prompt_tokens: number;
- completion_tokens: number;
- total_tokens: number;
- }
-
- export interface UsageMetadata {
- usage: Usage;
- }
-
- export interface PlatformResponse {
- created: Timestamp;
- }
-
- export type DoFetch = (
- method: string,
- path: string,
- body: Record<string, unknown>
- ) => Promise<Response>;
-
- export type ConsumeStream = (
- response: Response,
- ) => Promise<void>;
-
- export class PlatformError extends Error {
- constructor(message: string, readonly response: Response) {
- super(message);
- this.name = 'OpenAi.PlatformError';
- }
- }
-
- export const normalizeChatMessage = (messageRaw: Message | Message[]) => {
- if (typeof messageRaw === 'string') {
- return [
- {
- role: MessageRole.USER,
- content: messageRaw,
- },
- ];
- }
-
- if (Array.isArray(messageRaw)) {
- return messageRaw.map((message) => {
- if (typeof message === 'string') {
- return {
- role: MessageRole.USER,
- content: message,
- };
- }
- return message;
- });
- }
-
- return messageRaw;
- };
|