This is an automated email from the ASF dual-hosted git repository.
wenjin272 pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/flink-agents.git
from c72f8f6f [runtime] Support per-event-type configurable log levels for
event log (#609)
new fa5bcf12 [api][java] Inject output format prompt after the first
system prompt for ReAct agent.
new 6b480bd6 [api][java] Extract resource context.
new 065d0971 [plan][java] Add bash tool in java.
new eca17418 [api][runtime][java] Support agent skills in Java.
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/flink/agents/api/agents/ReActAgent.java | 3 +-
.../{EmbeddingModelSetup.java => Skills.java} | 14 +-
.../agents/api/chat/messages/ChatMessage.java | 10 +
.../api/chat/model/BaseChatModelConnection.java | 7 +-
.../agents/api/chat/model/BaseChatModelSetup.java | 66 +++++-
.../model/python/PythonChatModelConnection.java | 8 +-
.../chat/model/python/PythonChatModelSetup.java | 8 +-
.../model/BaseEmbeddingModelConnection.java | 6 +-
.../embedding/model/BaseEmbeddingModelSetup.java | 12 +-
.../python/PythonEmbeddingModelConnection.java | 8 +-
.../model/python/PythonEmbeddingModelSetup.java | 8 +-
.../apache/flink/agents/api/resource/Resource.java | 18 +-
.../flink/agents/api/resource/ResourceContext.java | 72 ++++++
.../org/apache/flink/agents/api/skills/Skills.java | 86 ++++++++
.../agents/api/vectorstores/BaseVectorStore.java | 11 +-
.../PythonCollectionManageableVectorStore.java | 8 +-
.../api/vectorstores/python/PythonVectorStore.java | 8 +-
.../agents/api/chat/messages/ChatMessageTest.java | 21 ++
.../BaseChatModelConnectionTokenMetricsTest.java | 8 +-
.../chat/model/BaseChatModelSetupSkillsTest.java | 179 +++++++++++++++
.../agents/api/chat/model/BaseChatModelTest.java | 9 +-
.../python/PythonChatModelConnectionTest.java | 6 +-
.../model/python/PythonChatModelSetupTest.java | 6 +-
.../python/PythonEmbeddingModelConnectionTest.java | 6 +-
.../python/PythonEmbeddingModelSetupTest.java | 6 +-
.../agents/api/skills/SkillsResourceTest.java | 53 +++++
.../PythonCollectionManageableVectorStoreTest.java | 6 +-
docs/content/docs/development/chat_models.md | 6 +-
docs/content/docs/development/vector_stores.md | 4 +-
.../integration/test/SkillsIntegrationAgent.java | 119 ++++++++++
.../integration/test/SkillsIntegrationTest.java | 226 +++++++++++++++++++
.../test}/resources/skills/joke-generator/SKILL.md | 0
.../skills/joke-generator/scripts/gen_joke.py | 0
.../resources/skills/math-calculator/SKILL.md | 0
.../anthropic/AnthropicChatModelConnection.java | 8 +-
.../anthropic/AnthropicChatModelSetup.java | 13 +-
.../azureai/AzureAIChatModelConnection.java | 8 +-
.../chatmodels/azureai/AzureAIChatModelSetup.java | 6 +-
.../bedrock/BedrockChatModelConnection.java | 8 +-
.../chatmodels/bedrock/BedrockChatModelSetup.java | 9 +-
.../bedrock/BedrockChatModelConnectionTest.java | 6 +-
.../bedrock/BedrockChatModelSetupTest.java | 6 +-
.../ollama/OllamaChatModelConnection.java | 13 +-
.../chatmodels/ollama/OllamaChatModelSetup.java | 16 +-
.../openai/OpenAICompletionsConnection.java | 8 +-
.../chatmodels/openai/OpenAICompletionsSetup.java | 13 +-
.../openai/OpenAIResponsesModelConnection.java | 8 +-
.../openai/OpenAIResponsesModelSetup.java | 12 +-
.../bedrock/BedrockEmbeddingModelConnection.java | 8 +-
.../bedrock/BedrockEmbeddingModelSetup.java | 8 +-
.../bedrock/BedrockEmbeddingModelTest.java | 6 +-
.../ollama/OllamaEmbeddingModelConnection.java | 8 +-
.../ollama/OllamaEmbeddingModelSetup.java | 8 +-
.../ollama/OllamaEmbeddingModelConnectionTest.java | 12 +-
.../flink/agents/integrations/mcp/MCPServer.java | 7 +-
.../elasticsearch/ElasticsearchVectorStore.java | 8 +-
.../ElasticsearchVectorStoreTest.java | 4 +-
.../opensearch/OpenSearchVectorStore.java | 9 +-
.../opensearch/OpenSearchVectorStoreTest.java | 9 +-
.../s3vectors/S3VectorsVectorStore.java | 9 +-
.../s3vectors/S3VectorsVectorStoreTest.java | 9 +-
plan/pom.xml | 11 +
.../org/apache/flink/agents/plan/AgentPlan.java | 62 ++++++
.../flink/agents/plan/actions/ChatModelAction.java | 47 +++-
.../plan/resource/python/PythonMCPServer.java | 6 +-
.../resourceprovider/JavaResourceProvider.java | 9 +-
.../JavaSerializableResourceProvider.java | 6 +-
.../resourceprovider/PythonResourceProvider.java | 10 +-
.../PythonSerializableResourceProvider.java | 5 +-
.../plan/resourceprovider/ResourceProvider.java | 9 +-
.../flink/agents/plan/tools/bash/BashTool.java | 163 ++++++++++++++
.../agents/plan/tools/bash/BashValidator.java | 244 +++++++++++++++++++++
.../agents/plan/AgentPlanDeclareChatModelTest.java | 34 +--
.../agents/plan/AgentPlanDeclareMCPServerTest.java | 9 +-
.../agents/plan/AgentPlanDeclareSkillsTest.java | 131 +++++++++++
.../agents/plan/AgentPlanDeclareToolFieldTest.java | 9 +-
.../plan/AgentPlanDeclareToolMethodTest.java | 36 +--
.../apache/flink/agents/plan/AgentPlanTest.java | 6 +-
.../flink/agents/plan/FunctionToolPlanTest.java | 19 +-
.../flink/agents/plan/tools/bash/BashToolTest.java | 90 ++++++++
.../agents/plan/tools/bash/BashValidatorTest.java | 116 ++++++++++
.../runtime/java/java_resource_wrapper.py | 14 +-
runtime/pom.xml | 6 +
.../agents/runtime/PythonMCPResourceDiscovery.java | 16 +-
.../apache/flink/agents/runtime/ResourceCache.java | 16 +-
.../runtime/operator/PythonBridgeManager.java | 31 +--
.../runtime/python/utils/JavaResourceAdapter.java | 26 ++-
.../python/utils/PythonResourceAdapterImpl.java | 20 +-
.../runtime/resource/ResourceContextImpl.java | 103 +++++++++
.../flink/agents/runtime/skill/AgentSkill.java | 147 +++++++++++++
.../flink/agents/runtime/skill/LoadSkillTool.java | 146 ++++++++++++
.../flink/agents/runtime/skill/SkillManager.java | 148 +++++++++++++
.../flink/agents/runtime/skill/SkillParser.java | 121 ++++++++++
.../agents/runtime/skill/SkillPromptProvider.java | 50 +++++
.../agents/runtime/skill/SkillRepository.java | 36 ++-
.../repository/FileSystemSkillRepository.java | 184 ++++++++++++++++
.../flink/agents/runtime/ResourceCacheTest.java | 6 +-
.../utils/PythonResourceAdapterImplTest.java | 30 +--
.../skill/FileSystemSkillRepositoryTest.java | 105 +++++++++
.../agents/runtime/skill/LoadSkillToolTest.java | 117 ++++++++++
.../agents/runtime/skill/SkillManagerTest.java | 92 ++++++++
.../agents/runtime/skill/SkillParserTest.java | 122 +++++++++++
.../src/test}/resources/skill_discovery_prompt.txt | 0
.../src/test}/resources/skills/github/SKILL.md | 0
.../resources/skills/nano-banana-pro/SKILL.md | 0
.../resources/skills/nano-banana-pro/_meta.json | 0
.../nano-banana-pro/scripts/generate_image.py | 0
107 files changed, 3402 insertions(+), 403 deletions(-)
copy
api/src/main/java/org/apache/flink/agents/api/annotation/{EmbeddingModelSetup.java
=> Skills.java} (67%)
create mode 100644
api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
create mode 100644
api/src/main/java/org/apache/flink/agents/api/skills/Skills.java
create mode 100644
api/src/test/java/org/apache/flink/agents/api/chat/model/BaseChatModelSetupSkillsTest.java
create mode 100644
api/src/test/java/org/apache/flink/agents/api/skills/SkillsResourceTest.java
create mode 100644
e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/SkillsIntegrationAgent.java
create mode 100644
e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/SkillsIntegrationTest.java
copy {python/flink_agents/e2e_tests =>
e2e-test/flink-agents-end-to-end-tests-integration/src/test}/resources/skills/joke-generator/SKILL.md
(100%)
copy {python/flink_agents/e2e_tests =>
e2e-test/flink-agents-end-to-end-tests-integration/src/test}/resources/skills/joke-generator/scripts/gen_joke.py
(100%)
copy {python/flink_agents/e2e_tests =>
e2e-test/flink-agents-end-to-end-tests-integration/src/test}/resources/skills/math-calculator/SKILL.md
(100%)
create mode 100644
plan/src/main/java/org/apache/flink/agents/plan/tools/bash/BashTool.java
create mode 100644
plan/src/main/java/org/apache/flink/agents/plan/tools/bash/BashValidator.java
create mode 100644
plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareSkillsTest.java
create mode 100644
plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashToolTest.java
create mode 100644
plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashValidatorTest.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/resource/ResourceContextImpl.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/AgentSkill.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/LoadSkillTool.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/SkillManager.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/SkillParser.java
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/SkillPromptProvider.java
copy
api/src/main/java/org/apache/flink/agents/api/vectorstores/VectorStoreQueryResult.java
=>
runtime/src/main/java/org/apache/flink/agents/runtime/skill/SkillRepository.java
(56%)
create mode 100644
runtime/src/main/java/org/apache/flink/agents/runtime/skill/repository/FileSystemSkillRepository.java
create mode 100644
runtime/src/test/java/org/apache/flink/agents/runtime/skill/FileSystemSkillRepositoryTest.java
create mode 100644
runtime/src/test/java/org/apache/flink/agents/runtime/skill/LoadSkillToolTest.java
create mode 100644
runtime/src/test/java/org/apache/flink/agents/runtime/skill/SkillManagerTest.java
create mode 100644
runtime/src/test/java/org/apache/flink/agents/runtime/skill/SkillParserTest.java
copy {python/flink_agents/runtime/skill/tests =>
runtime/src/test}/resources/skill_discovery_prompt.txt (100%)
copy {python/flink_agents/runtime/skill/tests =>
runtime/src/test}/resources/skills/github/SKILL.md (100%)
copy {python/flink_agents/runtime/skill/tests =>
runtime/src/test}/resources/skills/nano-banana-pro/SKILL.md (100%)
copy {python/flink_agents/runtime/skill/tests =>
runtime/src/test}/resources/skills/nano-banana-pro/_meta.json (100%)
copy {python/flink_agents/runtime/skill/tests =>
runtime/src/test}/resources/skills/nano-banana-pro/scripts/generate_image.py
(100%)