Refactor API

This commit is contained in:
Saoud Rizwan
2024-09-24 10:43:31 -04:00
parent f774e62c13
commit a009c84597
12 changed files with 25 additions and 19 deletions

View File

@@ -1,13 +1,13 @@
import { Anthropic } from "@anthropic-ai/sdk" import { Anthropic } from "@anthropic-ai/sdk"
import { ApiConfiguration, ModelInfo } from "../shared/api" import { ApiConfiguration, ModelInfo } from "../shared/api"
import { AnthropicHandler } from "./anthropic" import { AnthropicHandler } from "./providers/anthropic"
import { AwsBedrockHandler } from "./bedrock" import { AwsBedrockHandler } from "./providers/bedrock"
import { OpenRouterHandler } from "./openrouter" import { OpenRouterHandler } from "./providers/openrouter"
import { VertexHandler } from "./vertex" import { VertexHandler } from "./providers/vertex"
import { OpenAiHandler } from "./openai" import { OpenAiHandler } from "./providers/openai"
import { OllamaHandler } from "./ollama" import { OllamaHandler } from "./providers/ollama"
import { GeminiHandler } from "./gemini" import { GeminiHandler } from "./providers/gemini"
import { OpenAiNativeHandler } from "./openai-native" import { OpenAiNativeHandler } from "./providers/openai-native"
export interface ApiHandlerMessageResponse { export interface ApiHandlerMessageResponse {
message: Anthropic.Messages.Message message: Anthropic.Messages.Message

View File

@@ -1,6 +1,12 @@
import { Anthropic } from "@anthropic-ai/sdk" import { Anthropic } from "@anthropic-ai/sdk"
import { ApiHandler, ApiHandlerMessageResponse } from "." import { ApiHandler, ApiHandlerMessageResponse } from "../index"
import { anthropicDefaultModelId, AnthropicModelId, anthropicModels, ApiHandlerOptions, ModelInfo } from "../shared/api" import {
anthropicDefaultModelId,
AnthropicModelId,
anthropicModels,
ApiHandlerOptions,
ModelInfo,
} from "../../shared/api"
export class AnthropicHandler implements ApiHandler { export class AnthropicHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions

View File

@@ -6,7 +6,7 @@ import {
convertAnthropicMessageToGemini, convertAnthropicMessageToGemini,
convertAnthropicToolToGemini, convertAnthropicToolToGemini,
convertGeminiResponseToAnthropic, convertGeminiResponseToAnthropic,
} from "../utils/gemini-format" } from "./transform/gemini-format"
export class GeminiHandler implements ApiHandler { export class GeminiHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions

View File

@@ -2,7 +2,7 @@ import { Anthropic } from "@anthropic-ai/sdk"
import OpenAI from "openai" import OpenAI from "openai"
import { ApiHandler, ApiHandlerMessageResponse } from "." import { ApiHandler, ApiHandlerMessageResponse } from "."
import { ApiHandlerOptions, ModelInfo, openAiModelInfoSaneDefaults } from "../shared/api" import { ApiHandlerOptions, ModelInfo, openAiModelInfoSaneDefaults } from "../shared/api"
import { convertToAnthropicMessage, convertToOpenAiMessages } from "../utils/openai-format" import { convertToAnthropicMessage, convertToOpenAiMessages } from "./transform/openai-format"
export class OllamaHandler implements ApiHandler { export class OllamaHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions

View File

@@ -8,8 +8,8 @@ import {
OpenAiNativeModelId, OpenAiNativeModelId,
openAiNativeModels, openAiNativeModels,
} from "../shared/api" } from "../shared/api"
import { convertToAnthropicMessage, convertToOpenAiMessages } from "../utils/openai-format" import { convertToAnthropicMessage, convertToOpenAiMessages } from "./transform/openai-format"
import { convertO1ResponseToAnthropicMessage, convertToO1Messages } from "../utils/o1-format" import { convertO1ResponseToAnthropicMessage, convertToO1Messages } from "./transform/o1-format"
export class OpenAiNativeHandler implements ApiHandler { export class OpenAiNativeHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions

View File

@@ -1,8 +1,8 @@
import { Anthropic } from "@anthropic-ai/sdk" import { Anthropic } from "@anthropic-ai/sdk"
import OpenAI, { AzureOpenAI } from "openai" import OpenAI, { AzureOpenAI } from "openai"
import { ApiHandler, ApiHandlerMessageResponse } from "." import { ApiHandler, ApiHandlerMessageResponse } from "../index"
import { ApiHandlerOptions, ModelInfo, openAiModelInfoSaneDefaults } from "../shared/api" import { ApiHandlerOptions, ModelInfo, openAiModelInfoSaneDefaults } from "../../shared/api"
import { convertToAnthropicMessage, convertToOpenAiMessages } from "../utils/openai-format" import { convertToAnthropicMessage, convertToOpenAiMessages } from "../transform/openai-format"
export class OpenAiHandler implements ApiHandler { export class OpenAiHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions

View File

@@ -8,9 +8,9 @@ import {
OpenRouterModelId, OpenRouterModelId,
openRouterModels, openRouterModels,
} from "../shared/api" } from "../shared/api"
import { convertToAnthropicMessage, convertToOpenAiMessages } from "../utils/openai-format" import { convertToAnthropicMessage, convertToOpenAiMessages } from "./transform/openai-format"
import axios from "axios" import axios from "axios"
import { convertO1ResponseToAnthropicMessage, convertToO1Messages } from "../utils/o1-format" import { convertO1ResponseToAnthropicMessage, convertToO1Messages } from "./transform/o1-format"
export class OpenRouterHandler implements ApiHandler { export class OpenRouterHandler implements ApiHandler {
private options: ApiHandlerOptions private options: ApiHandlerOptions