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

📦 v0.0.2-rc.2 #155

Merged
merged 125 commits into from
Feb 22, 2024
Merged

📦 v0.0.2-rc.2 #155

merged 125 commits into from
Feb 22, 2024

Conversation

roma-glushko
Copy link
Member

@roma-glushko roma-glushko commented Feb 22, 2024

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 <[email protected]>
* #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 <[email protected]>
* #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 <[email protected]>
* #24: Refactor OpenAI provider config struct

* #24: Update OpenAiProviderConfig Messages field validation

---------

Co-authored-by: Max <[email protected]>
* #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 <[email protected]>
* #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 <[email protected]>
* #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 <[email protected]>
* #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 <[email protected]>
* #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 <[email protected]>
roma-glushko and others added 21 commits February 4, 2024 17:19
Build binaries for windows by replacing the hertz transport
* 🔧 Changed the default HTTP server configs
* 🧹 Made codebase compatible with GoLangCI 1.56
* 🔧 #136 Migrated all API to Fiber

* #136 Configured swagger for Fiber

* #136: Integrated Fiber with zap logger

* #136: Disabled stacktrace for the init time warning

* #136: linting

* #136 Handle the context deadline error
…138)

👷 Build Glide for OpenBSD and ppc65le, s390x, riscv64 architectures
* #131: init bedrock provider

* #131: request and response working

* #131: lint

* #131: fix context

* #131: clean code

* #131: Update test files

* #131: remove unneeded test

* #131: fix tests

* #131: lint

* #131: Moved auth to client

* #131: run test

* #131: lint

* #131: update readme

---------

Co-authored-by: Max <[email protected]>
* #142: Add OllamaChatCompletion configs

* #142: update tests and docs

* #142: update readme

* #142: update tests

* #142: update tests

* #142: update tests

* #142: update tests

* #142: update tests

---------

Co-authored-by: Max <[email protected]>
#152)

- Moved specific provider schemas closer to provider's packages
- simplified naming for Glide schema (removed the unified prefix)
# Conflicts:
#	.github/workflows/release.yaml
#	go.mod
#	go.sum
#	images/Makefile
Copy link

codecov bot commented Feb 22, 2024

Codecov Report

Attention: Patch coverage is 69.68839% with 107 lines in your changes are missing coverage. Please review.

Project coverage is 70.63%. Comparing base (62a0c59) to head (db59e38).

Files Patch % Lines
pkg/providers/bedrock/chat.go 50.64% 37 Missing and 1 partial ⚠️
pkg/providers/ollama/chat.go 74.24% 27 Missing and 7 partials ⚠️
pkg/providers/bedrock/config.go 57.14% 12 Missing ⚠️
pkg/providers/ollama/config.go 58.62% 12 Missing ⚠️
pkg/providers/bedrock/client.go 84.37% 4 Missing and 1 partial ⚠️
pkg/providers/ollama/client.go 79.16% 4 Missing and 1 partial ⚠️
pkg/providers/cohere/chat.go 83.33% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #155      +/-   ##
==========================================
- Coverage   71.43%   70.63%   -0.80%     
==========================================
  Files          34       40       +6     
  Lines        1684     2006     +322     
==========================================
+ Hits         1203     1417     +214     
- Misses        416      514      +98     
- Partials       65       75      +10     

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

@roma-glushko roma-glushko merged commit ec5600c into main Feb 22, 2024
14 checks passed
@roma-glushko roma-glushko mentioned this pull request Feb 22, 2024
roma-glushko added a commit that referenced this pull request Feb 22, 2024
## Features

- ✨#117 Allow to load dotenv files (@roma-glushko)
- ✨ #142: [Lang Chat Router] Ollama Support (@mkrueger12)
- ✨ #131: [Lang Chat Router] AWS Bedrock Support (@mkrueger12)

## Improvements

- ✨👷#91 Support for Windows (@roma-glushko)
- 👷 #139 Build Glide for OpenBSD and ppc65le, s390x, riscv64 architectures (@roma-glushko)

## Miscellaneous 

- 👷 #92 Release binaries to Snapcraft (@roma-glushko)
- 👷 #123 publish images to DockerHub (@roma-glushko)
- 🔧 #136 Migrated all API to Fiber (@roma-glushko)
- 👷 #139 Create a image tag with pure version (without distro suffix) (@roma-glushko)
- 👷 #155 Fixing the dockerhub authorization step in the release workflow (@roma-glushko)
- ♻️  #151: Moved specific provider schemas closer to provider's packages (@roma-glushko)
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.

3 participants