Skip to content

Code节点

代码节点目前支持 Javascript 和 Python,为您提供了执行复杂逻辑的支持。

代码步骤中的代码封装在一个函数内,必须使用返回语句来输出步骤的结果。

image

Javascript

引入输入与变量

与 其他节点引入变量的方式不同,Javascript 变量不包括双插值 。

例如:

javascript
// 获取start节点的 content 变量
let start_content = content;

// 获取之前 LLM 节点的输出结果
let llm_output = llm_1;

// 将输入内容和 LLM 输出结果进行合
let combined_text =
  "Content: " + start_content + " | LLM Output: " + llm_output;

// 返回合并的文本
return combined_text;

内置库支持

javascript 内置了很多常用的内置库,你可以直接在代码中使用

axios

lodash

dayjs

uuid

内置方法

在 code 节点中还内置了一些平台方法(仅 javascript 可以使用),比如获取当前的聊天记录,设置metaData,用于更高阶的功能。

具体可以看下面的示例:

javascript
// 会话id
betterAI.session.sessionId
// 对话id
betterAI.session.conversationId
// 变量信息
betterAI.session.metaData
// agentid
betterAI.session.agentId

// 设置metaData
参数:
  metaData, 
await betterAI.session.setMetaData({name: 'xiaoli', age: 20})

//初始化 sessionData
await betterAI.session.initSessionData({
  sessionId:'439e6c6515384ba49c5cf3ffcd898ecc'});

// 追加 chat 聊天记录
参数:
  new_chat_record
await betterAI.session.addChatRecord({
    "session_id": "9422664452d44ddcb71f3d6a0891d0a4",
    "content": "冬日暖阳4"
})

// 获取聊天记录
参数:
  sessionId
  limit: 条数
await betterAI.session. getChatRecord("9422664452d44ddcb71f3d6a0891d0a4", 10)

Python

引入输入与变量

与 Javascript 类似,Python 也只要求直接引用变量名。因此,上面的例子同样适用:

python
# 获取start节点的 content 变量
start_content = content

# 获取之前 LLM 节点的输出结果
llm_output = llm_1

# 将输入内容和 LLM 输出结果进行合
combined_text = "Content: " + start_content + " | LLM Output: " + llm_output

# 返回合并的文本
return combined_text

内置库支持

requests

rsa

pandas

jieba