1 Commits

Author SHA1 Message Date
penurin 14d11d4368 o1 200k context 2024-12-27 17:21:05 +00:00
3 changed files with 8 additions and 7 deletions
@@ -68,9 +68,11 @@ export const validateContextSize: RequestPreprocessor = async (req) => {
modelMax = 131072;
} else if (model.match(/^gpt-4(-\d{4})?-vision(-preview)?$/)) {
modelMax = 131072;
} else if (model.match(/^o1(-\d{4}-\d{2}-\d{2})?$/)) {
modelMax = 200000;
} else if (model.match(/^o1-mini(-\d{4}-\d{2}-\d{2})?$/)) {
modelMax = 128000;
} else if (model.match(/^o1(-preview)?(-\d{4}-\d{2}-\d{2})?$/)) {
} else if (model.match(/^o1-preview(-\d{4}-\d{2}-\d{2})?$/)) {
modelMax = 128000;
} else if (model.match(/gpt-3.5-turbo/)) {
modelMax = 16384;
+4 -4
View File
@@ -82,7 +82,7 @@ function openAIMessagesToClaudeTextPrompt(messages: OpenAIChatMessage[]) {
let role: string = m.role;
if (role === "assistant") {
role = "Assistant";
} else if (["system", "developer"].includes(role)) {
} else if (role === "system") {
role = "System";
} else if (role === "user") {
role = "Human";
@@ -365,7 +365,7 @@ function openAIMessagesToClaudeChatPrompt(messages: OpenAIChatMessage[]): {
// Here we will lose the original name if it was a system message, but that
// is generally okay because the system message is usually a prompt and not
// a character in the chat.
const name = ["system", "developer"].includes(msg.role) ? "System" : msg.name?.trim();
const name = msg.role === "system" ? "System" : msg.name?.trim();
const content = convertOpenAIContent(msg.content);
// Prepend the display name to the first text content in the current message
@@ -395,8 +395,8 @@ function openAIMessagesToClaudeChatPrompt(messages: OpenAIChatMessage[]): {
function isSystemOpenAIRole(
role: OpenAIChatMessage["role"]
): role is "developer" | "system" | "function" | "tool" {
return ["developer","system", "function", "tool"].includes(role);
): role is "system" | "function" | "tool" {
return ["system", "function", "tool"].includes(role);
}
function getFirstTextContent(content: OpenAIChatMessage["content"]) {
+1 -2
View File
@@ -21,7 +21,7 @@ export const OpenAIV1ChatCompletionSchema = z
model: z.string().max(100),
messages: z.array(
z.object({
role: z.enum(["developer", "system", "user", "assistant", "tool", "function"]),
role: z.enum(["system", "user", "assistant", "tool", "function"]),
content: z.union([z.string(), OpenAIV1ChatContentArraySchema]),
name: z.string().optional(),
tool_calls: z.array(z.any()).optional(),
@@ -78,7 +78,6 @@ export const OpenAIV1ChatCompletionSchema = z
tool_choice: z.any().optional(),
function_choice: z.any().optional(),
response_format: z.any(),
reasoning_effort: z.enum(["low", "medium", "high"]).optional(),
})
// Tool usage must be enabled via config because we currently have no way to
// track quota usage for them or enforce limits.