在服务函数中调用其它元素
在服务元素中,每个服务函数都可以调用其它后端元素,从而组成复杂的业务处理流程。JitAi支持开发者以可视化的方式调用其它元素,也可以在服务函数中直接写代码调用其它元素。
使用平台API调用其它元素
JitAi应用运行平台提供系统级API,开发者可以在函数逻辑中使用这些API,其中就包括调用元素时使用的app.getElement
函数。app.getElement
返回的是一个元素实例对象,该对象中声明的函数都可以被调用。
示例
element = app.getElement("element fullName")
result = element.func1(params)
app
是JitAi运行平台提供的运行时对象,指向当前应用,详情参考App参考文档。
几个典型示例
调用数据模型函数
调用数据模型内置函数或者数据模型自定义函数完成增删改查操作。
# 调用数据模型函数
dataModel = app.getElement("models.UserModel")
user = dataModel.getUser(userId=123)
调用其它服务函数
服务函数之间相互调用也是最常见的场景,这样可以实现业务逻辑的模块化。
# 调用用户服务
userService = app.getElement("services.UserService")
user_info = userService.getUserProfile(userId=123)
调用外部API
调用外部API元素实例的函数,获得对应第三方服务的返回结果。
# 调用支付接口
paymentAPI = app.getElement("externalAPIs.PaymentAPI")
payment_result = paymentAPI.createPayment(
amount=100.0,
currency="CNY",
orderId="ORDER_123"
)
调用AI大模型
调用AI大模型元素的runLlm
方法,获得大模型返回的结果。
# 获取AI大模型实例
llm = app.getElement("llms.MyLLM")
# 基础文本生成
response = llm.runLlm({
"dataType": "Ltext",
"promptList": [
{"role": "user", "prompt": "你好,请介绍一下你自己", "id": "user-1"}
],
"llmConfig": {"model": "qwen-plus"}
}, locals())
调用AI Agent
调用AI Agent元素的run
函数,实现在业务逻辑中使用AI Agent的能力。
# 获取AI Agent实例
agent = app.getElement("aiagents.DataAnalysisAgent")
# 基础调用
result = agent.run(
user_input="分析用户行为趋势",
variables={
'data_source': 'models.UserBehaviorModel',
'time_range': 'last_30_days'
}
)