Skip to content

Releases: epam/ai-dial-interceptors-sdk

0.3.0

18 Dec 17:55
Compare
Choose a tag to compare

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)

0.2.0

08 Oct 14:15
Compare
Choose a tag to compare

Breaking changes

  • Deprecated interceptor_to_embeddings_handler in favour of interceptor_to_embeddings (#5)

Fixes

  • support chat completion and embedding requests without model field (#4)
  • enable automatic propagation of Api-Key header via DIAL SDK

0.1.2

11 Dec 15:11
Compare
Choose a tag to compare

Fixes

  • propagate Authorization header to the upstream (#3)

0.1.1

09 Sep 09:42
Compare
Choose a tag to compare

Fixes

  • added propagation of Autorization header from client to upstream

Other

  • updated README

0.1.0

06 Sep 11:19
Compare
Choose a tag to compare

Features

  • initial commit