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.1.0-rc.1 #280

Merged
merged 51 commits into from
Jun 24, 2024
Merged

📦 Release: v0.1.0-rc.1 #280

merged 51 commits into from
Jun 24, 2024

Commits on Mar 2, 2024

  1. #149: Streaming Chat Workflow (#150)

    - Initing a new type of workflow, a streaming (async) routing workflow using the Streaming Chat API as an example
    - Updated the Bruno collection
    - Updated the LanguageModel API to include `ChatStream()` and `SupportChatStream()` methods
    - Get the streaming router working
    - Implemented SSE event parsing to be able to work with OpenAI streaming chat API
    - Integrated OpenAI chat streaming into the Glide's streaming chat API
    - Covered the happy workflow by tests
    roma-glushko authored Mar 2, 2024
    Configuration menu
    Copy the full SHA
    4edb644 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Configuration menu
    Copy the full SHA
    ec690f4 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2024

  1. 🔓 #148 update crypto lib, golang, fiber (#168)

    * 🔒 Upgraded the crypto lib
    * ⬆️ Upgrade Go to 1.22.1
    * 🔒 Fiber to v2.52.2
    roma-glushko authored Mar 11, 2024
    Configuration menu
    Copy the full SHA
    c480cfe View commit details
    Browse the repository at this point in the history
  2. 🔧 updated .go-version

    roma-glushko committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    1add6e3 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2024

  1. #163: Evolving the resiliency & routing architecture to support cha…

    …tStream (#166)
    
    - Separated sync and streaming chat schemas
    - Extracted assumptions on where to find latency from routing strategies to a separate `LatencyGetters` that can be different for different models/workflows
    - Elaborated the client provider `chatStream()` interface. Clients now expose a response channel instead of being provided with by caller
    - Connected the stream chat workflow to latency & health tracking
    - Refined the `chatStream()` method of clients to return a stream struct
    - Separated latency tracking of the streaming workflow from the sync chat workflow
    - defined a new `HealthTracker` to incorporate all health tracking logic
    roma-glushko authored Mar 17, 2024
    Configuration menu
    Copy the full SHA
    a04eccf View commit details
    Browse the repository at this point in the history
  2. #146: Covered the telemetry by tests (#176)

    Improve general coverage of the codebase:
    - covered a few configs by tests
    - file content expansion in configurations
    roma-glushko authored Mar 17, 2024
    Configuration menu
    Copy the full SHA
    3742035 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. 🔧 #161: Refined the chat stream req/responses (#179)

    - Separated chat & chat stream request schemas 
    - introduced a new finish reason field 
    - added metadata to stream chat response
    - allow to attach some metadata to a chat stream request and then attach it to each chat stream chunk
    - adjusted error message schema to include request ID and metadata
    roma-glushko authored Mar 19, 2024
    Configuration menu
    Copy the full SHA
    dc7d42f View commit details
    Browse the repository at this point in the history
  2. #170 Handle unauthorized error in health tracker (#180)

    Handle a wrong API key case to make the model as unavailable permanently
    roma-glushko authored Mar 19, 2024
    Configuration menu
    Copy the full SHA
    369ddea View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2024

  1. ✨🐛 #183: Fix Anthropic API key header and start counting its token us…

    …age (#184)
    
    - Fixed the header where Anthropic API key is passed
    - Started propagating token usage of Anthropic requests
    - Corrected the TokenUsage interface by changing count field to integers from floats
    roma-glushko authored Mar 24, 2024
    Configuration menu
    Copy the full SHA
    e37b0f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bc1a665 View commit details
    Browse the repository at this point in the history
  3. #173: Add Streaming Support for Azure OpenAI (#188)

    * #173: add streaming
    
    * #173: update header and test data
    
    * #173: Update test and schema
    
    * #173: lint
    
    ---------
    
    Co-authored-by: Max <[email protected]>
    mkrueger12 and mkrueger12 authored Mar 24, 2024
    Configuration menu
    Copy the full SHA
    428c467 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. #171: Cohere Streaming Chat Support (#189)

    * #171: support streaming
    
    * #171: add tests & lint
    
    * #171: update chat.go
    
    * #171: lint
    
    * #171: update test
    
    ---------
    
    Co-authored-by: Max <[email protected]>
    mkrueger12 and mkrueger12 authored Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f76eb86 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2024

  1. Configuration menu
    Copy the full SHA
    f27e889 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    12df04f View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. 🐛🔧 #197: Handle max_tokens & content_filtered finish reasons across O…

    …penAI, Azure and Cohere (#194)
    
    - text length bound passed in request params
    - content moderation/toxicity
    - Cohere streaming workflow doesn't seem to be working as errMapper was not really initialized. I have fixed that in this PR
    - Cohere now ignores stream chunk types that Glide doesn't support like citation related stuff
    - Cohere stream chunks are not set with the correct model name (e.g. some placeholder was used before)
    roma-glushko authored Apr 11, 2024
    Configuration menu
    Copy the full SHA
    a3bcba0 View commit details
    Browse the repository at this point in the history
  2. 🔧 #186: Rendering Durations in a human-friendly way (#202)

    Rendering Durations as strings rather than nanosecond integers
    roma-glushko authored Apr 11, 2024
    Configuration menu
    Copy the full SHA
    45d9aa1 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. 🐛 #200: Implemented a custom json per line stream reader to read Cohe…

    …re chat streams correctly (#201)
    
    - implementing a custom stream reader to correctly handle Cohere streams
    - Start handling the stream-start event to propagate generationID to all following chunks
    roma-glushko authored Apr 15, 2024
    Configuration menu
    Copy the full SHA
    9a0ee6d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    de3677e View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. 🔧 #195 #196: Set router ctx in stream chunks & handle end of stream i…

    …n case of some errors (#203)
    
    - Passed RouterID and ModelID information in the chat stream messages
    - Introduced a new ChatStreamMessage type that joins both chunk and error messages. Removed unneeded context from provider chatStream structs
    - defined a set of possible error codes during chat streaming
    - started simplifying logging by using context-based loggers
    - Introduced finish_reason on the error schema
    roma-glushko authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    4a9735c View commit details
    Browse the repository at this point in the history
  2. 🔧 💥 #198: Expose more Cohere params (#199)

    - Fixed validation of nested arrays, so it can now reach all structures including provider params
    - Removed ChatHistory & ConversationID fields from the params
    - Added a bunch of other params like max_tokens, penalties, k, p, etc.
    - Added validations to some params
    roma-glushko authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    8e95a4f View commit details
    Browse the repository at this point in the history
  3. 🐛 #209: Embed Swagger specs into binary to fix panic caused by missin…

    …g swagger.yaml file (#211)
    
    This change fixes panics like "./docs/swagger.yaml is not found"
    roma-glushko authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    8e77c63 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'main' into develop

    # Conflicts:
    #	README.md
    #	docs/docs.go
    #	docs/swagger.json
    #	docs/swagger.yaml
    #	go.mod
    #	go.sum
    #	pkg/api/http/handlers.go
    #	pkg/api/http/server.go
    #	pkg/api/schemas/chat_stream.go
    #	pkg/gateway.go
    #	pkg/providers/azureopenai/chat_stream.go
    #	pkg/providers/azureopenai/client.go
    #	pkg/providers/cohere/chat.go
    #	pkg/providers/cohere/chat_stream.go
    #	pkg/providers/cohere/chat_stream_test.go
    #	pkg/providers/cohere/client.go
    #	pkg/providers/cohere/config.go
    #	pkg/providers/cohere/schemas.go
    #	pkg/providers/cohere/testdata/chat_stream.success.txt
    #	pkg/providers/lang.go
    #	pkg/providers/openai/chat.go
    #	pkg/providers/openai/chat_stream.go
    #	pkg/providers/openai/client.go
    #	pkg/providers/provider.go
    #	pkg/providers/testing/lang.go
    #	pkg/providers/testing/models.go
    #	pkg/routers/config.go
    #	pkg/routers/router.go
    #	pkg/routers/router_test.go
    roma-glushko committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    d923742 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    75c2df3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1b9e9f6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8f4a8be View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. 📝 Fixed typo

    roma-glushko authored Apr 23, 2024
    Configuration menu
    Copy the full SHA
    cad92f5 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2024

  1. Configuration menu
    Copy the full SHA
    bc5d95f View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Configuration menu
    Copy the full SHA
    cf137da View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Configuration menu
    Copy the full SHA
    2db285c View commit details
    Browse the repository at this point in the history

Commits on May 5, 2024

  1. Configuration menu
    Copy the full SHA
    66c5f5b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d453ca6 View commit details
    Browse the repository at this point in the history
  3. ✨🔧 Setup Open Telemetry Metrics and Traces (#237)

    We use go.opentelemetry.io/contrib/exporters/autoexport for standard loading exporter configurations via env variables.
    gernest authored May 5, 2024
    Configuration menu
    Copy the full SHA
    602f53e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8b420f7 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Configuration menu
    Copy the full SHA
    a54eb57 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab244b2 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2024

  1. Configuration menu
    Copy the full SHA
    bd03442 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2024

  1. Configuration menu
    Copy the full SHA
    321b002 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3b37d0b View commit details
    Browse the repository at this point in the history
  3. 🔧 💥 #235: Extended the non-streaming chat error schema with new field…

    …s to give clients more context around the error (#236)
    
    - Introduced a new error type to hold useful context like HTTP response status, error name, message
    - If all providers are unavailable, we are not throwing 500 error anymore but 503
    - Start throwing unknown_error with 500 status on unexpected exceptions
    - Predefined all static HTTP errors instead of creating them every time they occur
    - Introduced the name field on the error schema
    - Changed the req/response schema to snake_case (hopefully, to stick with it forever)
    - Removed Bruno collections (it doesn't cover all our needs like websocket or gRPC protocol)
    - Moved all schemas to `api/schema` package
    - Made router list API opaque
    - Changed the field name for overrides not to clash with defined statements in some languages
    roma-glushko authored May 12, 2024
    Configuration menu
    Copy the full SHA
    3fa5b45 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2024

  1. Configuration menu
    Copy the full SHA
    70f1207 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8986edb View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    03f1805 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. 🔧 #266: removing omitempty from response definition (#267)

    Removing omitempty fields from chat response per request
    tom-fitz authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    da72edb View commit details
    Browse the repository at this point in the history
  2. ✨💥 #153: Allow to pass multiple model-specific param overrides (#264)

    - Introduced a new concept/struct `ChatParams` that contains all param overrides for the specific modelName/modelID
    - Adjusted the LangModel interface to rely on `ChatParams` rather than the original request schema for both sync and stream chat API
    - Standardize on the chat message structure with two fields. Removed all duplicated structures
    - Fixed Ollama's broken/half-backed tests
    roma-glushko authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    b80a3f9 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. 🔧 #262: adding connection pool for chat request and response (#271)

    Basic implementation of connection pooling for chat functionality.
    tom-fitz authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    0bb4878 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Configuration menu
    Copy the full SHA
    27b98af View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. Configuration menu
    Copy the full SHA
    b7e7db4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08ee414 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    765f874 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Configuration menu
    Copy the full SHA
    7faf386 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    59aafab View commit details
    Browse the repository at this point in the history