Skip to content

关于

This content is not available in your language yet.

Feat AI 是一个功能强大、灵活且高效的智能对话框架,旨在帮助开发者轻松集成和使用各种智能对话模型。它支持多种模型和自定义配置,提供了丰富的 API 接口,方便用户快速构建智能对话应用。

Feat AI 提供了以下核心功能:

支持多种智能对话模型,如 DeepSeek-R1、Qwen2.5-72B 等,适用于不同的应用场景。Feat AI 提供了统一的接口来访问这些模型,使开发者可以轻松切换和比较不同模型的表现。

允许用户自定义 API 配置,如模型选择、API 密钥、系统提示等,满足个性化需求。通过 Options 类,开发者可以灵活地配置各种参数。

支持异步回调机制,提升应用性能,避免阻塞主线程。通过 CompletableFuture 和回调函数,开发者可以轻松实现异步处理。

支持流式响应,实时接收模型输出,适用于需要即时反馈的场景。这对于构建聊天机器人等实时交互应用非常有用。

Feat AI 集成了 Chroma 和 Milvus 向量数据库的支持,可以用于构建基于知识库的问答系统和推荐系统。

提供 Agent 功能,支持工具调用、记忆管理、搜索等能力,可以构建更智能的应用。

FeatAI 是框架的入口类,用于创建各种 AI 模型实例。通过静态方法,用户可以创建不同的 AI 模型实例。

public static ChatModel chatModel(Consumer<ChatOptions> consumer)
public static EmbeddingModel embedding(Consumer<EmbeddingOptions> consumer)
public static RerankerModel reranker(Consumer<RerankerOptions> consumer)
  • chatModel:创建对话模型实例,用于发送和处理聊天请求。
  • embedding:创建嵌入模型实例,用于生成文本的向量表示。
  • reranker:创建重排序模型实例,用于对搜索结果进行重新排序。

ChatOptions 类提供了丰富的配置选项,允许用户自定义对话模型的行为和环境。

  • baseUrl:设置模型的基 URL。
  • model:选择具体的模型。
  • apiKey:配置 API 密钥。
  • system:设置系统提示,指导模型的行为。
  • debug:启用调试模式,打印详细的请求和响应信息。

ChatModelVendor 类定义了预设的模型及其元数据,用户可以通过这些静态常量选择不同的模型。

public static final ChatModelVendor DeepSeek_R1 = new ChatModelVendor("DeepSeek-R1", false);
public static final ChatModelVendor Qwen2_5_72B_Instruct = new ChatModelVendor("Qwen2.5-72B-Instruct", true);

ChatModel 是发送和处理聊天请求的核心类,提供了以下方法:

  • chat:发送同步聊天请求。
  • chatStream:发送异步流式聊天请求。
  • onSuccess:处理成功的响应。
  • onFailure:处理失败的响应。
import tech.smartboot.feat.ai.FeatAI;
import tech.smartboot.feat.ai.chat.ChatModel;
import tech.smartboot.feat.ai.chat.ChatModelVendor;
public class ChatDemo {
public static void main(String[] args) {
// 创建 ChatModel 实例
ChatModel chatModel = FeatAI.chatModel(opts -> {
opts.model(ChatModelVendor.GiteeAI.Qwen2_5_72B_Instruct)
.system("你是一个乐于助人的助手。")
.debug(true);
});
}
}
chatModel.chat("你好,请自我介绍一下。", rsp -> {
System.out.println("rsp: " + rsp.getContent());
System.out.println("usage: " + rsp.getUsage());
});
chatModel.chatStream("你好,请自我介绍一下。", new StreamResponseCallback() {
@Override
public void onStreamResponse(String content) {
System.out.print(content);
}
@Override
public void onCompletion(ResponseMessage responseMessage) {
System.out.println("\nResponse completed.");
}
@Override
public void onFailure(Throwable throwable) {
System.err.println("Error: " + throwable.getMessage());
}
});

有关完整示例,请参见 ChatDemo.java

Feat AI 提供了 Agent 功能,可以构建更智能的应用:

Agent agent = FeatAgent.createAgent(options -> {
options.name("智能助手")
.description("一个智能助手,可以回答问题和执行任务")
.model(ChatModelVendor.GiteeAI.DeepSeek_R1);
});
agent.chat("今天北京天气怎么样?", response -> {
System.out.println(response.getContent());
});

Feat AI 集成了向量数据库,可以用于构建基于知识库的问答系统:

// 创建 Chroma 向量存储
VectorStore vectorStore = VectorStore.chroma(options -> {
options.baseUrl("http://localhost:8000");
});
// 添加文档
vectorStore.add(new Document()
.setId("1")
.setDocument("Feat 是一个高性能的 Java Web 框架")
.setMetadata(Map.of("type", "introduction")));
// 搜索相似文档
List<Document> results = vectorStore.search("什么是 Feat?");

Feat AI 是一个功能丰富、性能优越的智能对话框架,能够满足多种 AI 应用场景的需求。通过简单的 API 和灵活的配置选项,开发者可以快速构建高效的智能对话应用。其高性能、易用性和扩展性使其成为 AI 应用开发的理想选择。

  • 智能客服:实时回答用户问题,提升客户满意度。
  • 虚拟助手:帮助用户完成日常任务,提高效率。
  • 内容生成:生成高质量的文章、报告等文本内容。
  • 知识问答:基于知识库的智能问答系统。
  • 代码助手:帮助开发者编写和审查代码。