Skip to content

0.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 18 Dec 17:55
· 0 commits to development since this release

Breaking changes

  • DialException is materialized instead of being treated as a normal chat completion chunk (this is motivated by DIAL SDK not being able to handle error chunks properly). This led to ChatCompletionInterceptor.call_upstreams changing type signature to accommodate the new kind of stream that includes DialException values (#13):

    Before:

    class ChatCompletionInterceptor(RequestHandler, ResponseHandler):
        async def call_upstreams(
            self,
            request: dict,
            call_upstream: Callable[
                [dict, Any | None], Coroutine[Any, Any, AsyncIterator[dict]]
            ],
        ) -> AsyncIterator[AnnotatedChunk]:
        ...

    After:

    class ChatCompletionInterceptor(RequestHandler, ResponseHandler):
        async def call_upstreams(
            self,
            request: dict,
            call_upstream: Callable[
                [Any | None, dict], Awaitable[AsyncIterator[dict | DialException]],
            ],
        ) -> AsyncIterator[AnnotatedChunk | AnnotatedException]:
        ...

Fixes

  • fixed propagation of exceptions from upstream endpoints (#13)
  • fixed printing of debug logs (#13)
  • fixed bug in algorithm that merges chat completion chunks in a non-streaming mode (#13)
  • introduced X-UPSTREAMS header and refactored DIAL Client to ease interceptor testing (#13)
  • examples[pii]: en_core_web_sm model is (a) downloaded as part of the package build and (b) pre-loaded on the server start-up instead of spending time of the first request into PII interceptor (#13)
  • examples[pii]: pinned versions of en_core_web_sm model (3.7.1) and spacy (3.7.5) to avoid model downloading issue on the server start up (#13)
  • examples[pii]: removed en_core_web_sm as a package dependency since PyPi doesn't support direct dependencies (#16)

Other

  • add reference to PyPI (#14)
  • bump aiohttp from 3.10.2 to 3.10.11 (#12)
  • bump epam/ai-dial-ci from 1.9.1 to 1.10.0 (#7, #10, #11)
  • bump protobuf from 5.29.0 to 5.29.1 (#17)
  • bump starlette from 0.36.3 to 0.40.0; fastapi from 0.109.2 to 0.115.2 (#8)
  • bumped github workflow versions (#6)
  • optimize trivy (#15)
  • built infrastructure for testing chains of interceptors (#13)
  • added tests that validate response headers propagation from the upstream in streaming and non-streaming scenarios (#13)
  • remove aiohttp from the package dependencies (#13)
  • aiostream package dependency moved to the examples extras (#13)
  • bump aidial-sdk from 0.13.0 to 0.16.0 (#13)