Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📦 Release: v0.0.1-rc.1 #93

Merged
merged 74 commits into from
Jan 21, 2024
Merged

📦 Release: v0.0.1-rc.1 #93

merged 74 commits into from
Jan 21, 2024

Conversation

roma-glushko
Copy link
Member

@roma-glushko roma-glushko commented Jan 21, 2024

The first ever release candidate of Glide 🚀🚀🚀

Changelog

Features

Miscellaneous

roma-glushko and others added 30 commits December 9, 2023 13:50
* init

* fix: remove package

* #3: project organization

* #3-feat: build chat api

* #3 rename func

* Remove unused dependencies from go.sum

* #3: Add .env to .gitignore

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #12 Inited the Gateway, ServerManager components + CLI

* #12 Inited ServerManager

* #12 Used hertz as a HTTP server

* #12 Added todo

* #13 Added the health endpoint
* #3: Update dependencies, fix package names, add validators

* #3: Remove unused fields in ProviderConfig struct

* #3: Update OpenAI provider configuration validation

* #3: Refactor OpenAI provider config structure

* #3: Update go.mod and go.sum files

* #3: add comments

* #3: Refactor package name in OpenAI API and chat files

* #3: build OpenAI config

* #3: Build API Request

* #3: Refactor param checking in BuildAPIRequest function

* #3: build request based on client parameters

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #15: Update dependencies in go.mod and add input validation using validator package

* #15: Fix validation error in BuildAPIRequest function

* #15: Refactor OpenAI provider configuration structure

* #15: TODO: Import provider configs to the config list

* #15: Import OpenAI provider configuration and update BuildAPIRequest function

* #15: comments

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #24: Refactor OpenAI provider config struct

* #24: Update OpenAiProviderConfig Messages field validation

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #8 Setting up CI checks via GH Actions

* #8 Fixing lint errors in the existing codebase

* #8 Fixed remaining lint errors

* #8 Installed tools via makefile, merged tests with the lint yaml

* #8 Disabled troublesome checks

* #8 fixing the minor version for gosec

* #8 Run gosec directly in the job
* #14 Inited Glide logging based on Zap

* #14 introducing a new telemetry struct

* #14: Introduced a new telemetry struct to hold all observability components

* #14: Added the router struct

* #14: Configured hertz logger to obey the general logging config

* #14 Added more static checks
* #35: Updated readme

* #35: Added more sections

* #35: minor adjustments

* #35 Optimized the logo

* #35: Added more useful info
Centered the logo
made badge color more readable
* #11: Added a new config struct

* #11: Added API config and connected it to the general config

* #11 Added config provider & loading a config file

* #11 Added directive expander

* #11 Added a secret field

* #11 Linting

* #11 Added default configs & replaced mapstruct back to YAML & simplified expander setup

* #11 finished directive expander

* #11 linting

* #11 Added a test for a single $ char

* #11 linting

* #11 fixed typo
* #29: openai client

* #29: add sample

* #29: Refactor OpenAI provider configuration

* #29: Refactor OpenAiClient struct and methods

* #29: Refactor OpenAiClient struct and methods

* #29: refactor

* 29: chat converted to Hertz

* #29: Update OpenAI provider configuration and chat request validation

* #29: clean up

* #29: Remove unused code and refactor parseStreamingChatResponse function

* #29: Update dependencies in go.mod and go.sum files

* #29: build client init

* #29: CreatChatRequest

* #29: Fix import and log package names

* #29: add run method

* #29: tests passing

* #29: tests passing

* #29: add todo

* #29: go mod tody

* #29: gofmt

* #29: gofumpt

* #29: lint

* #29: lint

* #29: lint

* #29: fix Implicit memory aliasing

* #29: lint

* #29: update request from defaultParams

* #29: lint

* #29: lint

* #29: emove unused variable in OpenAiClient constructor

* #29: Update client

* #29: Refactor OpenAI chat functionality

* #29: Fix OpenAI client error handling and validation

* #29: Fix OpenAI client error handling and validation

* #29: Set the appropriate base URL in OpenAiClient constructor

* #29: Refactor OpenAI provider configuration

* #29: comments

* #29: Refactor OpenAI client and related functions

* #29: chores

* #29: chores

* #29: comment

* #29: create a yaml for provider global configs

* #29: comments

* #29: comments

* #29: update http client

* #29: Add file path validation and error handling in openaiclient.go

* #29: move common helpers to types.go

* #29: chores

* #29: Refactor OpenAI client and chat request creation

* #29: Remove unused dependencies and update dependencies

* #29: Update Unified Data structure

* #29: remove provider

* #29: clean up

* #29: clean up

* #29: lint

* #29: remove hertz comment

* #29: pass unified data to chat method

* #29: init logging

* #29: init logging

* #29: init logging

* #29: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #39: Report test coverage to CodeCov

* #39: Fixing linting

* #39: linting

* #39 Adding the coverage badge to the readme
* Fail on no config file

* Use the dev config in the make run command

* Covered a few exceptional cases

* Linting

* Linting
- Cleaned up and restructured provider/openai codebase. Separated unified schemas to the api package.
- Added and exposed the language chat API with the unified request/response schemas. Updated the bruno collection with this request
- Added an example of client tests
- Connected Glide API with the underlying model provider (OpenAI client is hardcoded for now)
- Implemented default value setting for nested nillable config items
- Implemented provider setting validation on the model item level
* 22: Installed & exposed API documentation

* #22 Left a note about API docs in the readme.md

* #22 Check if API docs were updated in CI

* #22: linting

* #22: install swag CLI
* #51: Build routers & models based on provided config

* #51 Fixed circular import issue

* #51: Checked model config before ending initialization

* #51: updated the dev config to setup the openAI model

* 51: Fixing vuln issues

* #51 logged more context

* #51: Collected routers as slice

* #51: Added the new lang routers API

* #51: Hide api key filed completely
Updated some of the description and spelling
* #54: Refactor UnifiedChatResponse struct and add ProviderResponse and TokenCount structs

* #54: Unified response created and tested - passing

* #54: lint

* #54: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #54: Refactor UnifiedChatResponse struct and add ProviderResponse and TokenCount structs

* #54: Unified response created and tested - passing

* #54: lint

* #5: init

* #5: build cohere chat client

* #5: lint

* #5: Cohere provider working

* #5: lint

* #5: remove api key lol

* #5: Update OpenAI references to Cohere

* #5: Refactor cohere client test and update response ID

* #5: lint

* #5: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #61: Create OpenAI Chat Response Schema

* #61: Test unmarshling

* #61: unmarshal openai response

* #61: Update CohereChatCompletion struct and related types

* #61: Update Cohere chat response mapping

* #61: lint

* #61: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #4: add azure openai client

* #4: update testdata

* #4: lint

* #4: add tests

* #4: fix var name

* #4: add tests

* #4: tests

* #4: fix model response

---------

Co-authored-by: Max <mkrueger190@gmail.com>
mkrueger12 and others added 23 commits January 14, 2024 10:21
* #72: Update AzureOAI client

* #72: run make checks

* #72: Add cooldown delay handling for rate limit errors in AzureOpenAI and OpenAI chat clients

* #72: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
- Adding a new routing strategy to pick the least latency model
- Adding simple coverage for some config building logic.
* #45: Added weight field and WRR routing strategy

* #45: Covered the distribution by tests

* #45 Updated the openAPI specs

* #45 linting
* #77: Update cohere and octoml providers

* #77: update docs

* #77: fix config

* #77: remove openai

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* fix req unmarshling

* Updated config

* Update apiKey yaml field

* test config setup

* remove camelCase for yaml

* Update docs

---------

Co-authored-by: Max <mkrueger190@gmail.com>
change const to weighed_round_robin from weighed-round-robin to conform with other router names
* #60: Add Anthropic provider

* Update chat provider response schema, replace responseID

* #60: Fix field naming conventions in language.go and chat.go

* #60: reduce complexity of toModel func and lint

* #60: add test

* #60: lint

---------

Co-authored-by: Max <mkrueger190@gmail.com>
* #9 Inited goreleaser

* #9: Inited the goreleaser

* #9 Added a GH Action to release binaries on tags

* #9: Setup release of binaries & announcement

* #9: fixed syntax errors

* #9 Commented out some lines that could cause noise & made the release workflow be dependant on the lint & vuln workflows

* #9: allow to run linting & vuln checks on tags

* #9 fixing dependencies between workflows

* #9 Tried to check the workflow name

* #9 Trying a different approach to reuse the other workflows in the release workflow

* #9 Disabled linux arm builds

* #9 disabled build for linux 386

* #9 removed s390x arch as it fails

* #9 removed the ppc64le arch because of failures

* #9: Removed riscv64 arch

* #9: Tried to fit a big number into uint32 on 32bit systems

* #9: fixed the cmd

* #9: fixed linting

* #9: Removed 386 as a arch target

* #9: ignored win arm64 pair

* #9: removed openbsd because of netpoll issues

* #9 Removed win from the OS target

* #9: try to force it release things

* #9: Fixed the token assignment

* #9: Added images and make commands to build them

* #9: Specified the linux as the target OS to fix issues with binary

* #9: Publishing the latest tags

* #9: completed the release workflows for images

* #9: disabled login into ghcr temporarily

* #9 commented more steps to speed up testing

* #9 exposing more info & change the working dir

* #9 using working directory to check out the right path

* #9: trying to fix the build time to keep the same in bins and images

* #9: Fixing the empty date

* #9 trying to fix the build time

* #9 fixing the ref

* #9 Trying to push images to GHCR

* #9 removed unneeded deps

* #9 Uncommented announcements on new releases

* #9: Passing Discord secrets to goreleaser

* #9: Added the basic homebrew tap setup

* #9 Made sure releases happen on the main branch only

* #9: Trying to use the deployment key to update the brew tap
Copy link

codecov bot commented Jan 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (main@ad53fbe). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #93   +/-   ##
=======================================
  Coverage        ?   70.49%           
=======================================
  Files           ?       34           
  Lines           ?     1583           
  Branches        ?        0           
=======================================
  Hits            ?     1116           
  Misses          ?      402           
  Partials        ?       65           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@roma-glushko roma-glushko merged commit 1c3e68a into main Jan 21, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants