langchain4j 回调例子
时间: 2024-07-22 10:01:42 浏览: 122
Langchain4j是一个Java库,它提供了一种基于链式调用的方式来处理复杂的函数组合。它支持将多个函数连接起来,形成一个“链条”,并且可以按照指定的顺序执行这些函数。回调(Callback)在Langchain4j中通常用于异步操作或者函数完成后需要执行的操作。
下面是一个简单的回调例子:
```java
import io.langchain4j.Chain;
import io.langchain4j.Callback;
public class LangchainExample {
public void performTask(String input, Callback<String> callback) {
Chain<String, String> chain = Chain.create()
.transform(input -> input.toUpperCase()) // 链的第一个步骤,转换为大写
.delay(1000); // 模拟一个耗时操作
// 当链完成时,调用回调函数并传递结果
chain.thenApply(result -> result + " processed").onComplete(callback);
}
public static void main(String[] args) {
final String input = "Hello";
LangchainExample example = new LangchainExample();
example.performTask(input, new Callback<String>() {
@Override
public void success(String result) {
System.out.println("任务完成,结果:" + result);
}
@Override
public void failure(Throwable e) {
System.out.println("发生错误:" + e.getMessage());
}
});
}
}
```
在这个例子中,`performTask`接受一个输入字符串和一个回调函数。当链式调用完成(包括模拟的1秒延迟),会调用`callback.success`方法传递处理后的结果,如果过程中有异常,则调用`callback.failure`。
阅读全文