Commit Graph

74 Commits

Author SHA1 Message Date
Bilgin Ibryam fe523a99fa
Added roadmap details
Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
2025-04-14 13:14:48 +01:00
Casper Nielsen 62d4cdbe02
Fix: Return the content if hasattr(result, 'content') && hasattr(content, 'text') to reiterate from the model (#84)
* Fix: Return the content if hasattr(result, 'content') && hasattr(content, 'text') to reiterate from the model

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Remove the set on error_message as it is not returned

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Fix: Change the order of the if statements to ensure the return of the content text before raising error

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Simplify the if conditions and remove unnecessary code

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Add mcp==1.6.0 to requirements as the mcp client needs it

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

---------

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-04-13 14:25:24 -07:00
Roberto Rodriguez c872c5a8bd
Integrate MCP Client + Enable Async Tool Execution for Agent Framework (#72)
* Enable async-first execution for AgentTool and ToolExecutor

* Update basic agent patterns to support async tool execution

* Updated assistant agentic workflow base to support async tool execution

* fix #70. Updated input for workflow task agent execution

* Update agent actor base to support async tool execution

* Updated logging on workflow message decorator

* Enable lazy initialization of schemas for Orchestrator agentic workflows

* minor update on quickstart 05 apps to follow the right structure

* added basic single-agent example of a dapr workflow agent

* Integrate MCP client with full tool and prompt support

* Created MCP examples in cookbook
2025-04-10 14:31:03 -07:00
Casper Nielsen d6fc2c89f0
Fix: The Azure OpenAI docs needs update #66 (#73)
* Fix: Fix: The Azure OpenAI docs needs update #66

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Ensure the addition of AZURE_OPENAI_API_VERSION env var as this is needed to run succesfully

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

---------

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-04-08 18:54:24 -06:00
Roberto Rodriguez cb75e76ba1
Fix structured response validation and guard issubclass() for Python 3.10 compatibility (#67) 2025-03-29 02:17:54 +03:00
Roberto Rodriguez cf400f189c
Improve Structured Output Handling, Iterable Model Support, and Validation in LLM Tasks (#64)
* unify iterable model wrapping and response model resolution

* added support for kwargs in decorator in WorkflowTask initialization

* feat: support arbitrary task config via decorator kwargs

* refactor: unify LLM task validation and structured output handling
2025-03-29 00:59:07 +03:00
Fabian Martinez e14228142a
Agents registry transactional (#61)
* agents registry transactional

Signed-off-by: Fabian Martinez <46371672+famarting@users.noreply.github.com>

* fix typo

Signed-off-by: Fabian Martinez <46371672+famarting@users.noreply.github.com>

* change to debug log

Signed-off-by: Fabian Martinez <46371672+famarting@users.noreply.github.com>

---------

Signed-off-by: Fabian Martinez <46371672+famarting@users.noreply.github.com>
2025-03-26 14:53:04 +02:00
Juan González bf126aabaa
fix typo on job name (#60)
Signed-off-by: Juan Gonzalez <jgfm@novonordisk.com>
2025-03-25 21:15:34 +02:00
Roberto Rodriguez 13c6b65af7
Refactor AgenticWorkflow to Support Pub/Sub Streaming and Flexible Execution Modes (#59)
* Moved Messaging under Workflow and modularized main components.

* Removed WorkflowService and added as_service() to AgenticWorkflow for pub/sub support in headless and service modes.

* Added utility to safely retrieve instance methods decorated with a specific attribute

* Updated Agent and Orchestrator workflows to support the latest messaging system changes.

* Updated AgentActors to integrate with latest messaging system under workflows.

* Made service_port optional to allow random port assignment.

* dapr agents imports and logging

* Updated Multi-agent workflows, deleted JSON logs and tested NVIDIA LLM client notebook

* Integrated new messaging system into multi-agent quickstarts

* Updated agentic workflows docs to reflect changes

* Updated quickstart multi-agent workflows app to run in headless mode

* Fixed Orchestrator as a service and exposed built-in route to start workflow over HTTP

* Updated INFO logging to DEBUG

* updated cookbook with latest changes

* updated quickstart mukti-agent workflows to integrate orchestrator as service change

* Updated docs to trigger agentic workflow over HTTP by default.

* Upgrade Jinja2 to address sandbox breakout vulnerability
2025-03-25 21:13:57 +02:00
Casper Nielsen 5d1e33ed30
Document how to add custom endpoint for Azure OpenAI (#56)
Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-03-25 15:13:23 +02:00
Casper Nielsen 0fa2314251
Feat/mkdocs validator (#57)
* check for files changed in docs/** & mkdocs.yaml and if run mkdocs validator

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

* Only deploy if documentation validation passed

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>

---------

Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-03-25 15:12:32 +02:00
Elena Kolevska c6c29faae6
Removes additional address arguments for Dapr client init (#54)
* Removes additional address arguments for Dapr client init

Relies on env variables instead

Signed-off-by: Elena Kolevska <elena@kolevska.com>

correct casing in dapr multi app run files

Signed-off-by: Elena Kolevska <elena@kolevska.com>

removes dummy file

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Updates readmes

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-21 16:25:26 +02:00
Bilgin Ibryam 490e2241e7
Fixed a few minor typos (#52)
Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
2025-03-14 15:44:47 -07:00
Bilgin Ibryam 97cc59e74a
Minor doc cleanups (#49)
* Polish docs and quickstarts

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>

* Fixed twitter link

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>

---------

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
2025-03-12 07:20:16 -07:00
Yaron Schneider 0b87853251
quickstarts improvements (#48)
Signed-off-by: yaron2 <schneider.yaron@live.com>
2025-03-11 21:06:02 -07:00
Yaron Schneider 9c094a4c24
fix links (#47)
Signed-off-by: yaron2 <schneider.yaron@live.com>
2025-03-11 19:03:36 -07:00
Yaron Schneider cfe0af2ec5
Readme changes, docs index changes, removed images (#46)
* readme changes, docs index changes, removed images

Signed-off-by: yaron2 <schneider.yaron@live.com>

* fix links

Signed-off-by: yaron2 <schneider.yaron@live.com>

---------

Signed-off-by: yaron2 <schneider.yaron@live.com>
2025-03-11 15:53:22 -07:00
Elena Kolevska fa09b0a618
increases timeout (#45)
Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-11 15:17:04 -07:00
Bilgin Ibryam 2307007cac
Replaced pure Dapr workflow example with parallel workflow example (#41)
* Replaced pure Dapr workflow example with parallel workflow example

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>

* Fixes parallel workflows

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
Signed-off-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: Elena Kolevska <elena@kolevska.com>
2025-03-11 14:55:32 -07:00
Yaron Schneider 9e54b91c61
Update README.md (#44)
Signed-off-by: Yaron Schneider <schneider.yaron@live.com>
2025-03-11 14:54:47 -07:00
Yaron Schneider f3d06e3476
update README (#43)
Signed-off-by: yaron2 <schneider.yaron@live.com>
2025-03-11 14:50:32 -07:00
Elena Kolevska 7da4921bbe
Update e2e-tests.yaml
Signed-off-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
2025-03-11 19:28:36 +00:00
Elena Kolevska 058b7b88c6
Tests CI (#42)
Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-11 11:47:15 -07:00
Bilgin Ibryam e14c57eded
Updated dapr chat quickstart with component swapping and resiliency (#37)
Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
2025-03-11 10:45:28 -07:00
Elena Kolevska 2642be3a01
Fixes (#40)
* Small fixes for llm calls with HF and Elevenlabs

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Increase timeout for tests

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-11 10:39:23 -07:00
Marc Duiker e78ca2a1c0
Merge pull request #39 from dapr/marcduiker-patch-3
Remove old quickstart links
2025-03-11 18:30:51 +01:00
Marc Duiker 5b54ad615e
Remove old quickstart links
Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
2025-03-11 18:30:28 +01:00
Marc Duiker 8981a249ac
Merge pull request #38 from dapr/marcduiker-patch-2
Update docs.yml to run on PR
2025-03-11 18:27:35 +01:00
Marc Duiker 67580cd660
Update docs.yml to run on PR
Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
2025-03-11 18:27:00 +01:00
Marc Duiker 4e5f30c999
Remove sandbox refs (#33)
* Remove sandbox refs

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

* Remove install from source

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

---------

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
2025-03-11 08:57:24 -07:00
Roberto Rodriguez 7bf8699dff
Add Orchestrator Exclusion Logic to Agent Metadata and Messaging (#34)
* Added the concept of excluding orchestrator when retrieving agents metadata.

* moved tool arguments in logging to DEBUG.

* Added try except to method to get data from state store

* Removed imports not used and adjusted code indentation
2025-03-11 08:57:01 -07:00
Bilgin Ibryam bd5e173ecf
Updated and aligned with the new quickstarts (#35)
Signed-off-by: Bilgin Ibryam <bibryam@gmail.com>
2025-03-11 08:06:06 -07:00
Elena Kolevska 2fa1738456
More quickstarts work (#32)
* Bringing in Bilgin’s changes

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds hugging face quickstart

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-11 06:08:29 -07:00
Elena Kolevska 6471baa784
More testing coverage (more quickstarts) (#25)
* Completes all OpenAI LLM calls quickstarts

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Completes all OpenAI LLM calls quickstarts

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* More tests for multi agent actor workflows (adds llm and random orchestrators)

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds nvidia tests

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds dapr llm tests

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Readds the diff workflows

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* fix orchestrator names

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Multi agent workflows - agents as dapr workflows

Signed-off-by: Elena Kolevska <elena@kolevska.com>

not needed

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds a github workflow to validate quickstarts

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds elevenlabs llm test

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
2025-03-10 09:24:00 -07:00
Roberto Rodriguez 04ddf1acbd
Fixing Agent Assistant Workflow (ToolCalling) Logic (#29)
* Fixed tool executor reference and tool calling logic to update tool history the right way

* Removed dapr config for workflows. No needed anymore

* Implement safe parallel state writes with atomic merging

* Extend workflow state to track tool executions

* removing nested double quotes from Assistant agent logging
2025-03-09 16:27:27 -07:00
Elena Kolevska 70143ec33b
Fixes roundrobin workflow orchestrator and aligns all three orchestrators (#21)
* first round of fixes

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds orchestrator interface

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Moves the abstract methods to the base class

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
Signed-off-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
2025-03-06 11:12:50 -08:00
Joni Collinge 6d6d17bf56
Fix typo: onge to once (#22)
Signed-off-by: GitHub Actions Bot <action@github.com>
Co-authored-by: GitHub Actions Bot <action@github.com>
2025-03-06 09:55:59 -08:00
Bilgin Ibryam 36a7492393
Quickstarts and fixes (#14)
* Initial version of quickstarts

* Renames floki to dapr_agents and adds missing dotenv dependencies

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Updates all dapr dependencies

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Fixes 1

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* dapr wf fix

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* fix llm call quickstart

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Fixes readmes

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Fixes quickstarts 4 and 5. Changes orchestrator type in quickstart 5 to Random because the Roundrobin one currently has a bug

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds mechanical markdown to quickstarts

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds llm call quickstart to automated testing

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Updates docs with instructions to run tests

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Adds tests for quickstarts 3 and 4

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Added testing for quickstart 5

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Set up venv in makefile

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Test tweaks

Signed-off-by: Elena Kolevska <elena@kolevska.com>

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
Signed-off-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
Co-authored-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
2025-03-06 09:55:49 -08:00
Marc Duiker 81a17106b6
Add AI agent overview (#23)
* Add AI agent overview

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

* Add image to core principles

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>

---------

Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
2025-03-06 09:47:40 -08:00
Marc Duiker c84ba3439f
Merge pull request #20 from dapr-sandbox/marcduiker-patch-5
Update again to Dapr styled images
2025-03-05 21:47:38 +01:00
Marc Duiker 9f62f7b220
Update again to Dapr styled images 2025-03-05 21:47:10 +01:00
Marc Duiker a6353bd7e4
Add missing Python dependencies in docs pipeline (#19)
* Add missing dependecies in docs pipeline

* Update docs.yml
2025-03-04 10:18:29 -08:00
Marc Duiker a5489d3907
Add mkdocs config (#17)
* Add files via upload

* Add docs prerequisites to devcontainer

* Add instructions to run the docs locally
2025-03-04 09:34:38 -08:00
Roberto Rodriguez 7fac47b6d4
Enhanced Workflow and Task Registration, Dynamic Message Routing, Structured Validation, and Unified API Integration (#18)
* Refactored Workflow & Task Decorators for Easier Standalone Registration

* Refactored WorkflowApp: Improved Task & Workflow Registration, Enhanced State Management

* Refactored WorkflowTask: Improved LLM Execution, Validation, and Chat History Support

* Refactored API Server & Workflow Services: Unified FastAPI & Dapr Integration

* Refactored Pub/Sub and Message Routing: Unified Dapr Integration & CloudEvent Parsing

* Introduced AgenticWorkflowService: Unified Agent Workflows, State Management & Messaging

* Enhanced Orchestrators with Dapr Workflow Patterns & Intelligent Message Routing

* Updated Text Printer for Agents to show their name.

* Introduced Assistant Agent with Tool-Driven LLM Workflow, Dapr Messaging, and Adaptive Execution

* Consolidated Actor Wrappers into Unified Agent Actor Service and updated agent response logic

* Removed workflows folder from Actors directory. Workflow App and Service folders taking over.

* Introduced Execution Framework with Docker and Local Code Executors for Agents.

* Refactored Dapr gRPC Configuration: Unified Naming and Improved Initialization Logic

* Updated VectorStoreBase to Use Explicit EmbedderBase Type Annotation

* Enhanced Structured Response Handling: JSON Schema & Iterable Support

* Ran notebooks with latest version.

* Updated agentic workflow docs

* removed floki from huggingface chat client

* Updated init files for latest changes

* updated dapr pip package to 1.5.0 to use latest version

* removed floki reference from code and docs. Tags in README still point to floki

* Added a dummy notebook to test ReAct Agents
2025-03-04 06:09:31 -08:00
Marc Duiker 1d108190bd
Add manual trigger to deploy docs (#16) 2025-03-03 12:32:28 -08:00
Marc Duiker 09272d9e64
Clarify usage of devcontainer (#11) 2025-02-27 07:50:18 -08:00
Marc Duiker d450210b41
Create docs pipeline (#12) 2025-02-27 07:50:00 -08:00
Marc Duiker 5b0345e639
Update diagrams to match Dapr style (#13) 2025-02-27 07:05:45 -08:00
Yaron Schneider c83fe3b452
Add Dapr's Conversation API as LLM inference provider (#8)
* add dapr conversation api as llm inference

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add response parsing

Signed-off-by: yaron2 <schneider.yaron@live.com>

* replace http request with dapr client

Signed-off-by: yaron2 <schneider.yaron@live.com>

* address review comments

Signed-off-by: yaron2 <schneider.yaron@live.com>

---------

Signed-off-by: yaron2 <schneider.yaron@live.com>
2025-02-26 05:21:14 -08:00
Marc Duiker 6a08836860
Add devcontainer config (#10)
Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
2025-02-21 11:48:06 -08:00