本文接前一篇继续介绍几个核心组件。这些组件是基于Flink Agents框架开发智能体的基础。
1、AgentsExecutionEnvironment(智能体执行环境)
AgentsExecutionEnvironment.get_execution_environment() # 获取智能体执行环境实例
AgentsExecutionEnvironment.add_resource() # 向执行环境注册资源
AgentsExecutionEnvironment.from_datastream() -> AgentBuilder # DataStream作为智能体的输入
AgentsExecutionEnvironment.from_table() -> AgentBuilder # Table作为智能体的输入
AgentsExecutionEnvironment.from_list() -> AgentBuilder # List作为智能体的输入,本地测试用。
AgentsExecutionEnvironment.execute() # 执行智能体
2、AgentBuilder(智能体构造器)
由智能体执行环境生成,集成智能体,将智能体输出转化为外部数据。
AgentBuilder.apply(Agent) # 设置要使用的智能体
AgentBuilder.to_datastream # 智能体输出转化为DataStream
AgentBuilder.to_table # 智能体输出转化为Table
AgentBuilder.to_list # 智能体输出转化为List
3、Agent(智能体)
属性:
actions() # 行动
resources() # 资源
方法:
add_action() # 添加行动
add_resource() # 添加资源
4、Decorators(装饰器)
@action(event)
@chat_model_connection
@chat_model_setup
@embedding_model_connection
@embedding_model_setup
@tool
@prompt
@mcp_server
@vector_store
5、Resource(资源)
5.1 ResourceType(资源类型)
CHAT_MODEL = "chat_model"
CHAT_MODEL_CONNECTION = "chat_model_connection"
TOOL = "tool"
EMBEDDING_MODEL = "embedding_model"
EMBEDDING_MODEL_CONNECTION = "embedding_model_connection"
VECTOR_STORE = "vector_store"
PROMPT = "prompt"
MCP_SERVER = "mcp_server"
5.2 ResourceDescriptor(资源描述符)
属性:
clazz: 资源的实现类
arguments: 资源的初始化参数