-
Notifications
You must be signed in to change notification settings - Fork 265
SSE implementation #767
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
SSE implementation #767
Changes from all commits
3b19510
00d0aff
e2fed4e
e1bc622
5e4e772
3025285
274b18a
0320203
4c4135b
e99bc83
203f565
6e9c55a
696822f
29101ca
bd9903c
5d3946b
55a46b4
44541fb
d0a955b
8cd29ae
0e351f0
135cc97
de9494e
eb8cb58
ebf7689
eb9a8d0
ec0c2fd
e3c438a
f4df9fc
8effc9f
d31a89c
51115e6
9473daa
475e159
0a0d124
886a9c8
621578f
f59f725
f834675
50407c7
2d28cec
3daed07
ec958d9
a356cdf
2b42178
7895716
1a9aa6b
b9fd211
e033995
9733016
c71c41c
0669598
9fab944
09c34a0
de7bc7a
90573ed
8cf5729
10e58f3
af86bb4
f8bf51c
47aa2c1
c832c7e
043c113
aeb1600
26283d3
e65070a
e542336
8dcc968
03f76de
b9a1316
dec1816
7354e2f
ee0274f
4b4a6a8
a63ba1f
5488110
5b13df1
71cf147
c71aaa8
28b51a8
fe60eff
7cc25be
9626b71
75e25d2
0fb972b
d394e38
4b56c8f
544800f
5111a2e
6bdec8a
f7fb277
1385be9
7b9dd7d
095b9bd
f103804
67cc312
7f4a42e
b4488d2
fc50ee8
7405929
567c146
7e273e7
a3942e6
01f2b68
01a6600
4c0ba5d
b995148
0aeac2d
7ab3601
9fcbddc
12e2194
2d22d72
833f8f9
aefec57
0386e42
7cbf03a
8f20c0e
cc007b9
c0e1c0d
f91314a
5b343f2
3246ecb
a78d502
5287ebd
e130f0c
308b01a
09e9f3d
ee5d6d5
bce9f19
8968c5a
a289c0a
3c39da0
bd26259
3a57aab
fb9f011
d797928
9632d9b
823c5a1
5c2c86f
2b3ff4b
62eea95
2bffef6
6f82916
1134fcc
4ffe962
e8f53b9
4c853cc
c1aba5d
17772b2
18d64fa
f293084
e676731
2b62065
4e682bd
ce002af
7e27979
a5f2a1c
bebb0b6
586ed0a
081a3dd
48bb7fc
a40e3cb
fc25d4c
d38fcbc
7bf5aa7
1dc069f
b62b722
805d303
35ea256
161d11d
fa0d600
429de4b
5b19ec8
e51e26f
8ae8ea4
72175fa
43e3091
0b20e9f
9e56b55
5f0299a
1a0df1a
54b57a5
f8a2108
881d07c
069b0ac
05278e6
cdd85de
0fe942e
adc716e
a440454
b293128
6d32e5d
76d30ef
9636622
7456f94
41f0cd4
9dfb000
272817e
6240c5e
324438b
48d4cf5
d5ea53b
4179253
9a9ada6
13fb248
5e4f5f9
255f211
6abc128
76c8ff7
69c2c41
80c5ef6
26e2d60
d04c072
34df2bd
bcf7e04
a2826f5
3642506
3cef2e7
442fd4a
2133040
21d16a7
76c2e75
a2d341c
3f22424
2210518
95357c3
e52471b
928f04d
4c3d763
4a42554
6aebd67
d3378e5
8b1ce1c
c03542e
92fb917
9937ad7
b29cb3d
9e3fbf1
e7a9d85
95e1ce3
c22dd66
a7786c6
206ace7
b7e805e
af8ccc6
7c9e833
0bf5eec
3d1a2ce
91d5937
c0c41a9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,97 @@ | ||
|
|
||
| # Capability Supported | ||
|
|
||
| Of course. Here is the table with the 4th column for "Bedrock API" added. | ||
|
|
||
| | Feature | Gemini | Anthropic | AWS Bedrock API | Ollama | Azure OAI (redBus) | Bedrock+Anthropic | | ||
| | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | ||
| | **Chat** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Tools/Function** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Chat Stream** | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | | ||
| | **Image (Input)** | ✅ (Multimodal models) | ❌ | ✅ (Via models like Claude 3) | ✅ | ❓ | ❌ (Claude 3 models) | | ||
| | **Image Gen (Output)** | ✅ | ❌ | ✅ (Via Titan, Stable Diffusion) | ❌ | ❓ | ❌ (Via other models like Titan Image Generator) | | ||
| | **Audio Streaming (Input)** | ✅ (Some APIs/integrations) | ❌ | ❌ (Via Amazon Transcribe) | ❌ | ❓ |❌ (Via services like Amazon Transcribe) | | ||
| | **Transcription** | ✅ (Some APIs/integrations) | ❌ | ❌ (Via Amazon Transcribe) | ❌ | ❓ | ❌ (Via Amazon Transcribe) | | ||
| | **Persistent session (MapDB)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Agents as Tool/Function** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Interoperability (A2A)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Interoperability (Tools/Functions)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Interoperability (Agents as Tool/Function)** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Agent Workflow** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Parallel Agents** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Sequential Agents** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Agent Orchestration** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | **Hierarchical Task Decomposition** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
|
|
||
|
|
||
| # Core Differences | ||
|
|
||
| ## Persistent session storage added, | ||
|
|
||
| | Store | Chat | Stream | Artifact | | ||
| | :--- | :--- | :--- | :--- | | ||
| | **MapDB** | ✅ | ✅ | ✅ | | ||
| | **MongoDB** | ✅ | ✅ | ❌ | | ||
| | **Postgres** | ✅ | ✅ | ❌ | | ||
|
|
||
| ### MapDbSessionService("map.db") | ||
|
|
||
| ``` | ||
| public BaseSessionService sessionService() { | ||
| try { | ||
| // TODO: Add logic to select service based on config (e.g., DB URL) | ||
| log.info("Using MapDbSessionService"); | ||
| return new MapDbSessionService("map.db"); | ||
| } catch (Exception ex) { | ||
| java.util.logging.Logger.getLogger(AdkWebServer.class.getName()).log(Level.SEVERE, null, ex); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The default value for |
||
| } | ||
| // TODO: Add logic to select service based on config (e.g., DB URL) | ||
| log.info("Using InMemorySessionService"); | ||
| return new InMemorySessionService(); | ||
| } | ||
| ``` | ||
|
|
||
| ## Ollama API Supported, | ||
|
|
||
| ### OllamaBaseLM("qwen3:0.6b") | ||
| ``` | ||
| LlmAgent coordinator = LlmAgent.builder() | ||
| .name("Coordinator") | ||
| . model(new com.google.adk.models.OllamaBaseLM("qwen3:0.6b"))// | ||
| .instruction("You are an assistant. Delegate requests to appropriate agent") | ||
| .description("Main coordinator.") | ||
| .build(); | ||
| ``` | ||
|
|
||
| ## Secondary Auth Over Azure API | ||
|
|
||
| ### RedbusADG("40") | ||
|
|
||
| ``` | ||
| LlmAgent.builder() | ||
| .name(NAME) | ||
| .model(new com.google.adk.models.OllamaBaseLM("qwen3:0.6b"))//.model(new RedbusADG("40")) | ||
| .description("Agent to calculate trigonometric functions (sine, cosine, tangent) for given angles.") // Updated description | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Using |
||
| .instruction( | ||
| "You are a helpful agent who can calculate trigonometric functions (sine, cosine, and" | ||
| + " tangent). Use the provided tools to perform these calculations." | ||
| + " When the user provides an angle, identify the value and the unit (degrees or radians)." | ||
| + " Call the appropriate tool based on the requested function (sin, cos, tan) and provide the angle value and unit." | ||
| + " Ensure the angle unit is explicitly passed to the tool as 'degrees' or 'radians'.") // Updated instruction | ||
| .tools( | ||
| // Register the new trigonometry tools | ||
| FunctionTool.create(TrigonometryAgent.class, "calculateSine"), | ||
| FunctionTool.create(TrigonometryAgent.class, "calculateCosine"), | ||
| FunctionTool.create(TrigonometryAgent.class, "calculateTangent") | ||
| // Removed FunctionTool.create for getCurrentTime and getWeather | ||
| ) | ||
| .build(); | ||
| ``` | ||
|
|
||
|
|
||
|
|
||
| # Agent Development Kit (ADK) for Java | ||
|
|
||
| [](LICENSE) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a typo here: "Seesion" should be "Session".