关于
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 和回调函数,开发者可以轻松实现异步处理。
支持流式响应,实时接收模型输出,适用于需要即时反馈的场景。这对于构建聊天机器人等实时交互应用非常有用。
向量数据库支持
Section titled “向量数据库支持”Feat AI 集成了 Chroma 和 Milvus 向量数据库的支持,可以用于构建基于知识库的问答系统和推荐系统。
Agent 能力
Section titled “Agent 能力”提供 Agent 功能,支持工具调用、记忆管理、搜索等能力,可以构建更智能的应用。
FeatAI 类
Section titled “FeatAI 类”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 类
Section titled “ChatOptions 类”ChatOptions 类提供了丰富的配置选项,允许用户自定义对话模型的行为和环境。
- baseUrl:设置模型的基 URL。
- model:选择具体的模型。
- apiKey:配置 API 密钥。
- system:设置系统提示,指导模型的行为。
- debug:启用调试模式,打印详细的请求和响应信息。
ChatModelVendor 类
Section titled “ChatModelVendor 类”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 类
Section titled “ChatModel 类”ChatModel 是发送和处理聊天请求的核心类,提供了以下方法:
- chat:发送同步聊天请求。
- chatStream:发送异步流式聊天请求。
- onSuccess:处理成功的响应。
- onFailure:处理失败的响应。
初始化和配置
Section titled “初始化和配置”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); }); }}发送同步请求
Section titled “发送同步请求”chatModel.chat("你好,请自我介绍一下。", rsp -> { System.out.println("rsp: " + rsp.getContent()); System.out.println("usage: " + rsp.getUsage());});发送异步流式请求
Section titled “发送异步流式请求”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
Agent 使用
Section titled “Agent 使用”Feat AI 提供了 Agent 功能,可以构建更智能的应用:
Agent agent = FeatAgent.createAgent(options -> { options.name("智能助手") .description("一个智能助手,可以回答问题和执行任务") .model(ChatModelVendor.GiteeAI.DeepSeek_R1);});
agent.chat("今天北京天气怎么样?", response -> { System.out.println(response.getContent());});向量数据库集成
Section titled “向量数据库集成”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 应用开发的理想选择。
- 智能客服:实时回答用户问题,提升客户满意度。
- 虚拟助手:帮助用户完成日常任务,提高效率。
- 内容生成:生成高质量的文章、报告等文本内容。
- 知识问答:基于知识库的智能问答系统。
- 代码助手:帮助开发者编写和审查代码。