ai-gateway/controller
Laisky.Cai fc9a784950
feat: support aws bedrockruntime claude3 (#1328)
* 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>
2024-04-20 00:40:47 +08:00
..
auth chore: reorganize common package 2024-04-06 02:03:59 +08:00
billing.go fix: make quota int64 2024-03-13 20:00:51 +08:00
channel-billing.go chore: reorganize common package 2024-04-06 02:03:59 +08:00
channel-test.go feat: support aws bedrockruntime claude3 (#1328) 2024-04-20 00:40:47 +08:00
channel.go feat: able to only test disabled channels (#1090) 2024-03-10 18:34:57 +08:00
group.go chore: reorganize billing related package 2024-04-06 01:26:48 +08:00
log.go chore: update module name 2024-01-28 19:38:58 +08:00
misc.go feat: support feishu login now 2024-04-05 12:10:43 +08:00
model.go chore: remove helper & util subpackage for relay 2024-04-06 01:50:12 +08:00
option.go chore: update module name 2024-01-28 19:38:58 +08:00
redemption.go chore: reorganize helper related package 2024-04-06 01:02:35 +08:00
relay.go feat: support aws bedrockruntime claude3 (#1328) 2024-04-20 00:40:47 +08:00
token.go chore: reorganize common package 2024-04-06 02:03:59 +08:00
user.go chore: reorganize common package 2024-04-06 02:03:59 +08:00