LangChain4j-ChatModel、EmbeddingModel、ImageModel、ModerationModel、ScoringModel的区别?

在 LangChain4j 框架中,不同模型类型针对特定任务设计,核心区别如下:

大模型接口

ChatModel

EmbeddingModel

ImageModel

ModerationModel

ScoringModel

1. ChatModel(对话模型)

  • 功能:处理自然语言对话
  • 输入:文本消息(支持多轮对话上下文)
  • 输出:文本回复
  • 典型模型:GPT-4, Claude, LLaMA
  • 使用场景
    
    
    String answer = chatModel.generate("Java的Stream API有什么优势?"); // 输出:简化集合操作、支持并行处理...

2. EmbeddingModel(嵌入模型)

  • 功能:将文本转换为数值向量
  • 输入:文本字符串
  • 输出:浮点数数组(通常512-1536维)
  • 典型模型:text-embedding-ada-002, BERT
  • 使用场景
    
    
    float[] vector = embeddingModel.embed("机器学习").content(); // 输出:[0.23, -0.45, 0.87, ...] // 应用:语义搜索/聚类/RAG

3. ImageModel(图像模型)

  • 功能:生成或处理图像
  • 输入:文本描述或图像二进制
  • 输出:图像URL/BASE64/修改后的图像
  • 典型模型:DALL·E 3, Stable Diffusion
  • 使用场景
    
    
    String imageUrl = imageModel.generate( "卡通风格的Java程序员在写代码", ImageModel.Size._1024x1024 ); // 输出:https://oaidalleapiprodscus.blob.core.windows.net/...

4. ModerationModel(审查模型)

  • 功能:内容安全检测
  • 输入:文本/图像
  • 输出:违规类别与置信度
  • 典型模型:OpenAI Moderation, Perspective API
  • 使用场景
    
    
    ModerationResult result = moderationModel.moderate("仇恨言论示例"); result.isFlagged(); // true result.categories().getHate(); // 0.98

5. ScoringModel(评分模型)

  • 功能:评估文本质量/相关性
  • 输入:文本对(问题-答案)
  • 输出:分数(0.0-1.0)
  • 典型模型:BERTScore, 自定义奖励模型
  • 使用场景
    
    
    double score = scoringModel.score( "量子计算原理", "利用量子比特进行并行计算" ); // 输出:0.87(高相关性)

对比总结表

特性ChatModelEmbeddingModelImageModelModerationModelScoringModel
核心任务对话生成文本向量化图像生成内容安全审查质量评估
输入类型文本文本文本/图像文本/图像文本对
输出形式文本浮点数组图像URL分类标签分数值
是否支持流式
典型企业应用客服机器人语义搜索营销素材生成用户内容过滤AI回答质量监控

组合使用示例


// 1. 生成内容 String article = chatModel.generate("写一篇关于AI的短文"); // 2. 内容安全审查 if (!moderationModel.moderate(article).isFlagged()) { // 3. 生成配图 String image = imageModel.generate("AI主题插画"); // 4. 创建嵌入向量 float[] embedding = embeddingModel.embed(article).content(); // 5. 存入向量库 embeddingStore.add(embedding, article); // 6. 质量评估 double score = scoringModel.score( "关于AI的文章", article ); log.info("内容质量评分: {}", score); }

选型建议

  1. 对话系统 → ChatModel + ModerationModel
  2. 知识库应用 → EmbeddingModel + ChatModel
  3. 内容创作平台 → ChatModel + ImageModel + ScoringModel
  4. UGC社区 → ModerationModel + ScoringModel

所有模型接口在 LangChain4j 中保持一致的调用模式


Model model = Model.builder() .provider(Provider.OPENAI) // 或LOCAL/ANTHROPIC等 .apiKey("sk-...") .build();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值