You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Key design choices/workflow -
a) To render a widget or issue a client side tool call, the server side tool should add it to the response (dictionary) using an api provided in the library
b) Library exposes a function stream_agent_response to convert ADK events to chatkit-js required events.
c) Implemented Store (the abstraction required by chatkit-python) that wraps BaseSessionService.
The main challenge in implementing (rather fighting the abstraction) was that ADK Session service manages the addition of thread items therefore quite many methods in Store are simply empty and in stream_agent_response, I issue some events assuming that session service had added the items to the backend (InMemory, DataBase etc)
Would appreciate if ADK team could review and provide feedback on some of the design & implementations choices I made and suggest if there are other ways to achieve the integration.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I created a library (https://github.com/ksachdeva/adk-chatkit) that extends chatkit-python (https://github.com/openai/chatkit-python).
Key design choices/workflow -
a) To render a widget or issue a client side tool call, the server side tool should add it to the response (dictionary) using an api provided in the library
b) Library exposes a function
stream_agent_responseto convert ADK events to chatkit-js required events.c) Implemented Store (the abstraction required by chatkit-python) that wraps BaseSessionService.
The main challenge in implementing (rather fighting the abstraction) was that ADK Session service manages the addition of thread items therefore quite many methods in Store are simply empty and in stream_agent_response, I issue some events assuming that session service had added the items to the backend (InMemory, DataBase etc)
I have ported 3 example applications from (https://github.com/openai/openai-chatkit-advanced-samples) to show case the support.
Would appreciate if ADK team could review and provide feedback on some of the design & implementations choices I made and suggest if there are other ways to achieve the integration.
Regards & thanks
Kapil
Beta Was this translation helpful? Give feedback.
All reactions