* feat: support aws bedrockruntime claude3 closes #622, closes #749, closes #1300 * fix: convert to aws claude model id * fix: Update AWS adapter to handle stream completions and calculate usage metrics Based on the file summaries provided, here are the important bullet points for the commit message: - Add functionality to handle stream completion events from AWS in the relay/adaptor/aws/main.go file - Marshall AWS response to OpenAI format and calculate usage metrics in the same file - Implement a custom render function for streaming events in the same file - Improve error handling for JSON unmarshalling and marshalling errors in the same file * fix: Implement AWS handler with usage tracking and error handling - Implemented streaming response handling for AWS handler - Set response content type to text/event-stream - Added error handling for failed marshaling/unmarshaling - Updated return values to include `relaymodel.ErrorWithStatusCode` and `relaymodel.Usage` - Improved error handling and response formatting for AWS adaptor * fix: Refactor AWS Adapter for Improved Model Mapping and Error Handling * Refactor AWS adapter to improve model management - Replace hardcoded model list in `adapter.go` with a function to get models from `awsModelIDMap` - Update `GetModelList` function to return model list directly - Add `GetChannelName` function to get channel name from `Adaptor` object * Improve error handling and code organization in main.go - Replace switch statement with a map to map AWS model IDs to OpenAI model IDs - Return an error if the model is not found in the map - Use a single return statement instead of wrapping multiple return statements in the `awsModelID` function - Add a new error message for when the model is not found in the map in the `Handler` function * fix: bug fix * chore: change variable name & package * chore: change variable name * perf: update config related code --------- Co-authored-by: JustSong <songquanpeng@foxmail.com>
34 lines
653 B
Go
34 lines
653 B
Go
package channeltype
|
|
|
|
import "github.com/songquanpeng/one-api/relay/apitype"
|
|
|
|
func ToAPIType(channelType int) int {
|
|
apiType := apitype.OpenAI
|
|
switch channelType {
|
|
case Anthropic:
|
|
apiType = apitype.Anthropic
|
|
case Baidu:
|
|
apiType = apitype.Baidu
|
|
case PaLM:
|
|
apiType = apitype.PaLM
|
|
case Zhipu:
|
|
apiType = apitype.Zhipu
|
|
case Ali:
|
|
apiType = apitype.Ali
|
|
case Xunfei:
|
|
apiType = apitype.Xunfei
|
|
case AIProxyLibrary:
|
|
apiType = apitype.AIProxyLibrary
|
|
case Tencent:
|
|
apiType = apitype.Tencent
|
|
case Gemini:
|
|
apiType = apitype.Gemini
|
|
case Ollama:
|
|
apiType = apitype.Ollama
|
|
case AwsClaude:
|
|
apiType = apitype.AwsClaude
|
|
}
|
|
|
|
return apiType
|
|
}
|