fix?
This commit is contained in:
@@ -34,4 +34,4 @@ export const applyQuotaLimits: RequestPreprocessor = (req) => {
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -22,6 +22,12 @@ export const countPromptTokens: RequestPreprocessor = async (req) => {
|
||||
result = await countTokens({ req, prompt, service });
|
||||
break;
|
||||
}
|
||||
case "openai-responses": {
|
||||
req.outputTokens = req.body.max_completion_tokens || req.body.max_tokens;
|
||||
const prompt: OpenAIChatMessage[] = req.body.messages;
|
||||
result = await countTokens({ req, prompt, service });
|
||||
break;
|
||||
}
|
||||
case "openai-text": {
|
||||
req.outputTokens = req.body.max_tokens;
|
||||
const prompt: string = req.body.prompt;
|
||||
|
||||
@@ -78,6 +78,7 @@ function getPromptFromRequest(req: Request) {
|
||||
.join("\n\n");
|
||||
case "anthropic-text":
|
||||
case "openai-text":
|
||||
case "openai-responses":
|
||||
case "openai-image":
|
||||
case "mistral-text":
|
||||
return body.prompt;
|
||||
|
||||
@@ -23,6 +23,9 @@ export const validateVision: RequestPreprocessor = async (req) => {
|
||||
case "openai":
|
||||
hasImage = containsImageContentOpenAI(req.body.messages);
|
||||
break;
|
||||
case "openai-responses":
|
||||
hasImage = containsImageContentOpenAI(req.body.messages);
|
||||
break;
|
||||
case "anthropic-chat":
|
||||
hasImage = containsImageContentAnthropic(req.body.messages);
|
||||
break;
|
||||
|
||||
@@ -194,6 +194,21 @@ export function buildSpoofedCompletion({
|
||||
|
||||
switch (format) {
|
||||
case "openai":
|
||||
case "openai-responses":
|
||||
return {
|
||||
id: "error-" + id,
|
||||
object: "chat.completion",
|
||||
created: Date.now(),
|
||||
model,
|
||||
usage: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 },
|
||||
choices: [
|
||||
{
|
||||
message: { role: "assistant", content },
|
||||
finish_reason: title,
|
||||
index: 0,
|
||||
},
|
||||
],
|
||||
};
|
||||
case "mistral-ai":
|
||||
return {
|
||||
id: "error-" + id,
|
||||
@@ -283,6 +298,15 @@ export function buildSpoofedSSE({
|
||||
|
||||
switch (format) {
|
||||
case "openai":
|
||||
case "openai-responses":
|
||||
event = {
|
||||
id: "chatcmpl-" + id,
|
||||
object: "chat.completion.chunk",
|
||||
created: Date.now(),
|
||||
model,
|
||||
choices: [{ delta: { content }, index: 0, finish_reason: title }],
|
||||
};
|
||||
break;
|
||||
case "mistral-ai":
|
||||
event = {
|
||||
id: "chatcmpl-" + id,
|
||||
|
||||
@@ -72,6 +72,8 @@ const getPromptForRequest = (
|
||||
// format.
|
||||
switch (req.outboundApi) {
|
||||
case "openai":
|
||||
case "openai-responses":
|
||||
return req.body.messages;
|
||||
case "mistral-ai":
|
||||
return req.body.messages;
|
||||
case "anthropic-chat":
|
||||
|
||||
@@ -84,7 +84,8 @@ export class EventAggregator {
|
||||
getFinalResponse() {
|
||||
switch (this.responseFormat) {
|
||||
case "openai":
|
||||
case "google-ai": // TODO: this is probably wrong now that we support native Google Makersuite prompts
|
||||
case "openai-responses":
|
||||
case "google-ai":
|
||||
return mergeEventsForOpenAIChat(this.events);
|
||||
case "openai-text":
|
||||
return mergeEventsForOpenAIText(this.events);
|
||||
|
||||
Reference in New Issue
Block a user