Documentation
¶
Index ¶
- Constants
- type AnthropicMessagesTranslator
- func NewAnthropicToAWSAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
- func NewAnthropicToAnthropicTranslator(version string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
- func NewAnthropicToGCPAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
- type CohereRerankTranslator
- type OpenAIChatCompletionTranslator
- func NewChatCompletionOpenAIToAWSBedrockTranslator(modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
- func NewChatCompletionOpenAIToAzureOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
- func NewChatCompletionOpenAIToGCPAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
- func NewChatCompletionOpenAIToGCPVertexAITranslator(modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
- func NewChatCompletionOpenAIToOpenAITranslator(prefix string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
- type OpenAICompletionTranslator
- type OpenAIEmbeddingTranslator
- type OpenAIImageGenerationTranslator
- type OpenAIResponsesTranslator
- type Translator
Constants ¶
const ( LineFeedSSEDelimiter = "\n\n" CarriageReturnSSEDelimiter = "\r\r" CarriageReturnLineFeedSSEDelimiter = "\r\n\r\n" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnthropicMessagesTranslator ¶
type AnthropicMessagesTranslator = Translator[anthropicschema.MessagesRequest, tracingapi.MessageSpan]
AnthropicMessagesTranslator translates the Anthropic's /messages endpoint.
func NewAnthropicToAWSAnthropicTranslator ¶
func NewAnthropicToAWSAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
NewAnthropicToAWSAnthropicTranslator creates a translator for Anthropic to AWS Bedrock Anthropic format. AWS Bedrock supports the native Anthropic Messages API, so this is essentially a passthrough translator with AWS-specific path modifications.
func NewAnthropicToAnthropicTranslator ¶
func NewAnthropicToAnthropicTranslator(version string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
NewAnthropicToAnthropicTranslator creates a passthrough translator for Anthropic.
func NewAnthropicToGCPAnthropicTranslator ¶
func NewAnthropicToGCPAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) AnthropicMessagesTranslator
NewAnthropicToGCPAnthropicTranslator creates a translator for Anthropic to GCP Anthropic format. This is essentially a passthrough translator with GCP-specific modifications.
type CohereRerankTranslator ¶
type CohereRerankTranslator = Translator[cohereschema.RerankV2Request, tracingapi.RerankSpan]
CohereRerankTranslator translates the Cohere's /v2/rerank endpoint.
func NewRerankCohereToCohereTranslator ¶
func NewRerankCohereToCohereTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) CohereRerankTranslator
NewRerankCohereToCohereTranslator implements [Factory] for Cohere Rerank v2 translation.
type OpenAIChatCompletionTranslator ¶
type OpenAIChatCompletionTranslator = Translator[openai.ChatCompletionRequest, tracingapi.ChatCompletionSpan]
OpenAIChatCompletionTranslator translates the OpenAI's /chat/completions endpoint.
func NewChatCompletionOpenAIToAWSBedrockTranslator ¶
func NewChatCompletionOpenAIToAWSBedrockTranslator(modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
NewChatCompletionOpenAIToAWSBedrockTranslator implements [Factory] for OpenAI to AWS Bedrock translation.
func NewChatCompletionOpenAIToAzureOpenAITranslator ¶
func NewChatCompletionOpenAIToAzureOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
NewChatCompletionOpenAIToAzureOpenAITranslator implements [Factory] for OpenAI to Azure OpenAI translations. Except RequestBody method requires modification to satisfy Microsoft Azure OpenAI spec https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions, other interface methods are identical to NewChatCompletionOpenAIToOpenAITranslator's interface implementations.
func NewChatCompletionOpenAIToGCPAnthropicTranslator ¶
func NewChatCompletionOpenAIToGCPAnthropicTranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
NewChatCompletionOpenAIToGCPAnthropicTranslator implements [Factory] for OpenAI to GCP Anthropic translation. This translator converts OpenAI ChatCompletion API requests to GCP Anthropic API format.
func NewChatCompletionOpenAIToGCPVertexAITranslator ¶
func NewChatCompletionOpenAIToGCPVertexAITranslator(modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
NewChatCompletionOpenAIToGCPVertexAITranslator implements [Factory] for OpenAI to GCP Gemini translation. This translator converts OpenAI ChatCompletion API requests to GCP Gemini API format.
func NewChatCompletionOpenAIToOpenAITranslator ¶
func NewChatCompletionOpenAIToOpenAITranslator(prefix string, modelNameOverride internalapi.ModelNameOverride) OpenAIChatCompletionTranslator
NewChatCompletionOpenAIToOpenAITranslator implements [Factory] for OpenAI to OpenAI translation.
type OpenAICompletionTranslator ¶
type OpenAICompletionTranslator = Translator[openai.CompletionRequest, tracingapi.CompletionSpan]
OpenAICompletionTranslator translates the OpenAI's /completions endpoint.
func NewCompletionOpenAIToOpenAITranslator ¶
func NewCompletionOpenAIToOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAICompletionTranslator
NewCompletionOpenAIToOpenAITranslator implements [Factory] for OpenAI to OpenAI translation for completions.
type OpenAIEmbeddingTranslator ¶
type OpenAIEmbeddingTranslator = Translator[openai.EmbeddingRequest, tracingapi.EmbeddingsSpan]
OpenAIEmbeddingTranslator translates the OpenAI's /embeddings endpoint.
func NewEmbeddingOpenAIToAzureOpenAITranslator ¶
func NewEmbeddingOpenAIToAzureOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIEmbeddingTranslator
NewEmbeddingOpenAIToAzureOpenAITranslator implements [Factory] for OpenAI to Azure OpenAI translation for embeddings.
func NewEmbeddingOpenAIToOpenAITranslator ¶
func NewEmbeddingOpenAIToOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIEmbeddingTranslator
NewEmbeddingOpenAIToOpenAITranslator implements [Factory] for OpenAI to OpenAI translation for embeddings.
type OpenAIImageGenerationTranslator ¶
type OpenAIImageGenerationTranslator = Translator[openai.ImageGenerationRequest, tracingapi.ImageGenerationSpan]
OpenAIImageGenerationTranslator translates the OpenAI's /images/generations endpoint.
func NewImageGenerationOpenAIToOpenAITranslator ¶
func NewImageGenerationOpenAIToOpenAITranslator(apiVersion string, modelNameOverride internalapi.ModelNameOverride) OpenAIImageGenerationTranslator
NewImageGenerationOpenAIToOpenAITranslator implements [Factory] for OpenAI to OpenAI image generation translation.
type OpenAIResponsesTranslator ¶
type OpenAIResponsesTranslator = Translator[openai.ResponseRequest, tracingapi.ResponsesSpan]
OpenAIResponsesTranslator translates the OpenAI's /responses endpoint.
func NewResponsesOpenAIToOpenAITranslator ¶
func NewResponsesOpenAIToOpenAITranslator(prefix string, modelNameOverride internalapi.ModelNameOverride) OpenAIResponsesTranslator
NewResponsesOpenAIToOpenAITranslator implements OpenAIResponsesTranslator for OpenAI to OpenAI translation for responses.
type Translator ¶
type Translator[ReqT any, SpanT any] interface { // RequestBody translates the request body. // - `raw` is the raw request body. // - `body` is the parsed request body of type *ReqT. // - `flag` is a boolean context flag. Depending on the specific implementation, // this represents either `forceBodyMutation` or `onRetry`. RequestBody(raw []byte, body *ReqT, flag bool) ( newHeaders []internalapi.Header, mutatedBody []byte, err error, ) // ResponseHeaders translates the response headers. ResponseHeaders(headers map[string]string) ( newHeaders []internalapi.Header, err error, ) // ResponseBody translates the response body. // - `span` is the tracing span of type SpanT. Implementations that do not // require tracing in this step can ignore this argument. ResponseBody(respHeaders map[string]string, body io.Reader, endOfStream bool, span SpanT) ( newHeaders []internalapi.Header, mutatedBody []byte, tokenUsage metrics.TokenUsage, responseModel internalapi.ResponseModel, err error, ) // ResponseError translates the response error (non-2xx status codes). ResponseError(respHeaders map[string]string, body io.Reader) ( newHeaders []internalapi.Header, mutatedBody []byte, err error, ) }
Translator translates the request and response messages between the client and the backend API schemas.
ReqT represents the structured request body type. SpanT represents the tracing span type passed to ResponseBody. Use any if the implementation does not have tracing span yet.
This is created per request and is not thread-safe.
Source Files
¶
- anthropic_anthropic.go
- anthropic_awsanthropic.go
- anthropic_gcpanthropic.go
- anthropic_usage.go
- cohere_rerank_v2.go
- gemini_helper.go
- imagegeneration_openai_openai.go
- jsonschema_helper.go
- openai_awsbedrock.go
- openai_azureopenai.go
- openai_azureopenai_embeddings.go
- openai_completions.go
- openai_embeddings.go
- openai_gcpanthropic.go
- openai_gcpanthropic_stream.go
- openai_gcpvertexai.go
- openai_openai.go
- openai_responses.go
- translator.go
- util.go