(env: Record<string, string | undefined>)
| 94 | * @returns An instance of `TypeChatLanguageModel`. |
| 95 | */ |
| 96 | export function createLanguageModel(env: Record<string, string | undefined>): TypeChatLanguageModel { |
| 97 | if (env.OPENAI_API_KEY) { |
| 98 | const apiKey = env.OPENAI_API_KEY ?? missingEnvironmentVariable("OPENAI_API_KEY"); |
| 99 | const model = env.OPENAI_MODEL ?? missingEnvironmentVariable("OPENAI_MODEL"); |
| 100 | const org = env.OPENAI_ORGANIZATION ?? ""; |
| 101 | const endPoint = env.OPENAI_ENDPOINT ?? "https://api.openai.com/v1/chat/completions"; |
| 102 | return createOpenAILanguageModel(apiKey, model, endPoint, org); |
| 103 | } |
| 104 | if (env.AZURE_OPENAI_API_KEY) { |
| 105 | const apiKey = env.AZURE_OPENAI_API_KEY ?? missingEnvironmentVariable("AZURE_OPENAI_API_KEY"); |
| 106 | const endPoint = env.AZURE_OPENAI_ENDPOINT ?? missingEnvironmentVariable("AZURE_OPENAI_ENDPOINT"); |
| 107 | return createAzureOpenAILanguageModel(apiKey, endPoint); |
| 108 | } |
| 109 | missingEnvironmentVariable("OPENAI_API_KEY or AZURE_OPENAI_API_KEY"); |
| 110 | } |
| 111 | |
| 112 | /** |
| 113 | * Creates a language model encapsulation of an OpenAI REST API endpoint. |
no test coverage detected