langchain4j [特性] 支持jakarta.validation注解

sycxhyv7  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(70)

您的功能请求是否与问题相关?请描述。

我想缩小LLM提供的参数的可能值范围。

描述您希望的解决方案

能够声明性地定义预期的格式。
简单形式:

@Tool
fun scrambleWord(@Min(5) word: String): Boolean

发送给LLM的模式指定此参数具有一个要求 - 最小长度为5个字符。
嵌套形式:

@Tool
fun validatePerson(person: Person): Boolean

data class Person(
 @NotEmpty firstName: String,
 @NotEmpty lastName: String
)

发送给LLM的人模式指定 Person 具有不为空的名字和姓氏。

描述您考虑过的替代方案

手动将指令添加到 @Tool 注解中。

pes8fvy9

pes8fvy91#

@muliyul 你可以使用 @P 注解添加参数描述,如下所示:

@Tool
fun scrambleWord(@P("minimum length is 5 chars") word: String): Boolean

但是使用更具体的注解是一个好主意。

相关问题