最近团队开源了一款 Java 版本的 AI 原语,类似于 LangChain ,写法上支持响应式+BPM ,感觉目前应该没有类似的,看了看 SpringAI ,AI 原语部分内容是大差不差的,也是响应式的,但是并没有将 BPM 的内容集成进原语方法中。

同时,在我们开源社区中也增加了连接 DeepSeek 的例子,简单连接大模型的代码大概是下面的样子:

public ChatMessage chat(@RequestParam("query") String query) {
    ChatOption option = ChatOption.custom().model(this.modelName).stream(false).build();
    return this.chatModel.generate(ChatMessages.from(new HumanMessage(query)), option).first().block().get();
}

其中,stream可以调节是否是流式输出。

因为 DeepSeek 也支持 OpenAI 的格式,所以代码上没有特别的 DeepSeek 的痕迹,只需要按照下面的方式修改一下配置就可以连上了:

fel:
  openai:
    api-base: 'https://api.siliconflow.cn/v1'
    api-key: '${your-api-key}'
example:
  model: 'deepseek-ai/DeepSeek-R1'

连上之后,通过调用问了一下“你好,DeepSeek”,就可以收到下面的回答:

{
  "content":  "<think>\n\n</think>\n\n 你好!我是 DeepSeek-R1 ,一个由深度求索公司开发的智能助手,我会尽我所能为你提供帮助。请问有什么可以为你服务的?",
  "toolCalls": []
}

除了简单的连接大模型的方法,其实还有很多其他 AI 原语,在我们社区文档中有介绍。

那为什么要+BPM 呢?因为我觉得本质上通过类似 LangChain 的写法去写的 AI 应用目前大多数还是需要去编排的,通过低代码编排出的 AI 应用是较为通用的场景,有些复杂场景需要复杂写法的时候就可以使用编码的方式了。而且,加入 BPM 之后,在写法上,也可以支持人工的交互,类似于需要通过 AI 订票的 AI 流程中间可以有机会让大模型问下你的相关出行信息等。那么有 BPM 的代码大概长下面的样子:

AiProcessFlow<Tip, Content> retrieveFlow = AiFlows.<Tip>create()
        .runnableParallel(history(), passThrough())
        .conditions()
        .match(tip -> !tip.freeze().get(DEFAULT_HISTORY_KEY).text().isEmpty(),
                node -> node.prompt(Prompts.human(REWRITE_PROMPT))
                        .generate(chatFlowModel)
                        .map(ChatMessage::text))
        .others(node -> node.map(tip -> tip.freeze().get("query").text()))
        .retrieve(new DefaultVectorRetriever(vectorStore, SearchOption.custom().topK(1).build()))
        .synthesize(docs -> Content.from(docs.stream().map(Document::text).collect(Collectors.joining("\n\n"))))
        .close();

因为我们也是刚刚开源,希望能够得到更多的反馈,让项目更好的向前演进,我本人也是一名技术爱好者,对开源非常有热情。

我们的项目地址是: https://github.com/ModelEngine-Group/fit-framework

如果大家能够给我们提提意见,我们是非常开心的,会促使我们有更强的动力向前。

如果过程中有一些问题,欢迎给我们 Github 的项目提 Issue 。

如果有意愿或者喜欢,或者只是给我们鼓励一下,希望能给我们 github 项目点个小星星,真的感谢大家~

举报· 210 次点击
登录 注册 站外分享
1 条回复  
wellCh4n 初学 2025-2-26 09:10:24
支持,先 star
返回顶部