This repository was archived by the owner on Jun 5, 2025. It is now read-only.
Implement provider interface and OpenAI and Anthropic providers#66
Merged
jhrozek merged 1 commit intostacklok:mainfrom Nov 22, 2024
Merged
Implement provider interface and OpenAI and Anthropic providers#66jhrozek merged 1 commit intostacklok:mainfrom
jhrozek merged 1 commit intostacklok:mainfrom
Conversation
Implements an interface for building CodeGate providers. For now we use LiteLLM, but we might switch in the future, so the LiteLLM calls are abstracted away in the `litellmshim` module in two classes: - `BaseAdapter` which provides means for reusing LiteLLM adapters with the same interface. - `LiteLLmShim` that actually calls into liteLLM's completion and calls the adapter before completion to convert into liteLLM's format and then back after completion Using those interfaces, implements an OpenAI and an Anthropic provider. With this patch, codegate allows to pass through requests towards OpenAI and Anthropic. Next, we'll build a pipeline interface to modify the inputs and outputs.
lukehinds
approved these changes
Nov 22, 2024
lukehinds
left a comment
There was a problem hiding this comment.
this looks good to me, pepper in some tests and we can ship.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements an interface for building CodeGate providers. For now we use
LiteLLM, but we might switch in the future, so the LiteLLM calls are
abstracted away in the
litellmshimmodule in two classes:BaseAdapterwhich provides means for reusing LiteLLM adapters withthe same interface.
LiteLLmShimthat actually calls into liteLLM's completion andcalls the adapter before completion to convert into liteLLM's format
and then back after completion
Using those interfaces, implements an OpenAI and an Anthropic provider.
With this patch, codegate allows to pass through requests towards OpenAI
and Anthropic. Next, we'll build a pipeline interface to modify the
inputs and outputs.