openlit
Version:
OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications, facilitating the integration of observability into your GenAI-driven projects
48 lines • 2.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.llmResponseOpenAI = llmResponseOpenAI;
const openai_1 = __importDefault(require("openai"));
async function llmResponseOpenAI({ prompt, model, apiKey, baseUrl }) {
const client = new openai_1.default({
apiKey,
baseURL: baseUrl || 'https://api.openai.com/v1',
});
const usedModel = model || 'gpt-4o';
const response = await client.chat.completions.create({
model: usedModel,
messages: [
{ role: 'user', content: prompt }
],
temperature: 0.0,
response_format: { type: 'json_object' }
});
if (!response) {
console.error('OpenAI API did not return a response object:', response);
throw new Error('OpenAI API did not return a response object.');
}
if (!response.choices) {
console.error('OpenAI API response missing "choices":', response);
throw new Error('OpenAI API response missing "choices".');
}
if (!Array.isArray(response.choices) || response.choices.length === 0) {
console.error('OpenAI API response "choices" is empty or not an array:', response.choices);
throw new Error('OpenAI API response "choices" is empty or not an array.');
}
if (!response.choices[0]) {
console.error('OpenAI API response "choices[0]" is missing:', response.choices);
throw new Error('OpenAI API response "choices[0]" is missing.');
}
if (!response.choices[0].message) {
console.error('OpenAI API response "choices[0].message" is missing:', response.choices[0]);
throw new Error('OpenAI API response "choices[0].message" is missing.');
}
if (typeof response.choices[0].message.content !== 'string') {
console.error('OpenAI API response "choices[0].message.content" is missing or not a string:', response.choices[0].message);
throw new Error('OpenAI API response "choices[0].message.content" is missing or not a string.');
}
return response.choices[0].message.content || '';
}
//# sourceMappingURL=openai.js.map