
这段Java代码实现了一个调用问答AI接口并进行流式输出的功能。以下是代码的详细描述:
主要功能
通过HTTP POST请求调用一个问答AI接口
使用流式传输模式(stream=true)获取响应
将响应内容实时输出到控制台
代码结构
内部类定义
Message类:表示对话中的一条消息,包含role(角色,如"system"或"user")和content(内容)字段
RequestBody类:表示请求体,包含:
model:使用的模型名称("qwen-plus")
messages:消息数组
stream:是否使用流式传输(设置为true)
主流程
准备请求数据:
创建包含系统提示和用户问题的消息数组
设置使用"qwen-plus"模型
启用流式传输(stream=true)
发送请求:
将请求体转换为JSON格式
创建HTTP连接并设置请求头:
Content-Type: application/json
Accept: application/json
Authorization: Bearer token
发送POST请求
处理响应:
读取响应码并打印
以流式方式读取响应内容,逐行打印到控制台
同时将响应内容收集到StringBuilder中
特点
流式传输:由于设置了stream=true,服务器会以流式方式返回响应,允许客户端逐步接收和处理数据,而不是等待完整响应。
实时输出:代码在接收到每一行响应后立即打印到控制台(System.out.println),实现了实时显示的效果。
错误处理:使用try-catch捕获并打印异常。
认证:使用Bearer Token进行API认证(代码中隐藏了实际密钥)。
使用场景
这段代码适用于需要:
与AI模型进行对话交互
实时获取模型生成的响应