Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
KnowledgePlanet
road-map
chatglm-sdk-java
提交
df40b5eb
chatglm-sdk-java
项目概览
KnowledgePlanet
/
road-map
/
chatglm-sdk-java
通知
254
Star
20
Fork
10
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
chatglm-sdk-java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
df40b5eb
编写于
10月 10, 2023
作者:
小傅哥
⛹
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:定义访问模型对象
上级
a1a299cb
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
195 addition
and
0 deletion
+195
-0
src/main/java/cn/bugstack/chatglm/model/ChatCompletionRequest.java
...java/cn/bugstack/chatglm/model/ChatCompletionRequest.java
+87
-0
src/main/java/cn/bugstack/chatglm/model/ChatCompletionResponse.java
...ava/cn/bugstack/chatglm/model/ChatCompletionResponse.java
+32
-0
src/main/java/cn/bugstack/chatglm/model/EventType.java
src/main/java/cn/bugstack/chatglm/model/EventType.java
+25
-0
src/main/java/cn/bugstack/chatglm/model/Model.java
src/main/java/cn/bugstack/chatglm/model/Model.java
+25
-0
src/main/java/cn/bugstack/chatglm/model/Role.java
src/main/java/cn/bugstack/chatglm/model/Role.java
+26
-0
未找到文件。
src/main/java/cn/bugstack/chatglm/model/ChatCompletionRequest.java
0 → 100644
浏览文件 @
df40b5eb
package
cn.bugstack.chatglm.model
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.*
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author 小傅哥,微信:fustack
* @description 请求参数
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
@Data
@Slf4j
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
ChatCompletionRequest
{
/**
* 模型
*/
private
Model
model
=
Model
.
CHATGLM_6B_SSE
;
/**
* 请求ID
*/
@JsonProperty
(
"request_id"
)
private
String
requestId
=
String
.
format
(
"xfg-%d"
,
System
.
currentTimeMillis
());
/**
* 控制温度【随机性】
*/
private
float
temperature
=
0.9f
;
/**
* 多样性控制;
*/
@JsonProperty
(
"top_p"
)
private
float
topP
=
0.7f
;
/**
* 输入给模型的会话信息
* 用户输入的内容;role=user
* 挟带历史的内容;role=assistant
*/
private
List
<
Prompt
>
prompt
;
/**
* 智普AI sse 固定参数 incremental = true 【增量返回】
*/
private
boolean
incremental
=
true
;
/**
* sseformat, 用于兼容解决sse增量模式okhttpsse截取data:后面空格问题, [data: hello]。只在增量模式下使用sseFormat。
*/
private
String
sseFormat
=
"data"
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
static
class
Prompt
{
private
String
role
;
private
String
content
;
}
@Override
public
String
toString
()
{
Map
<
String
,
Object
>
paramsMap
=
new
HashMap
<>();
paramsMap
.
put
(
"request_id"
,
requestId
);
paramsMap
.
put
(
"prompt"
,
prompt
);
paramsMap
.
put
(
"incremental"
,
incremental
);
paramsMap
.
put
(
"temperature"
,
temperature
);
paramsMap
.
put
(
"top_p"
,
topP
);
paramsMap
.
put
(
"sseFormat"
,
sseFormat
);
try
{
return
new
ObjectMapper
().
writeValueAsString
(
paramsMap
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
src/main/java/cn/bugstack/chatglm/model/ChatCompletionResponse.java
0 → 100644
浏览文件 @
df40b5eb
package
cn.bugstack.chatglm.model
;
import
lombok.Data
;
/**
* @author 小傅哥,微信:fustack
* @description 返回结果
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
@Data
public
class
ChatCompletionResponse
{
private
String
data
;
private
String
meta
;
@Data
public
static
class
Meta
{
private
String
task_status
;
private
Usage
usage
;
private
String
task_id
;
private
String
request_id
;
}
@Data
public
static
class
Usage
{
private
int
completion_tokens
;
private
int
prompt_tokens
;
private
int
total_tokens
;
}
}
src/main/java/cn/bugstack/chatglm/model/EventType.java
0 → 100644
浏览文件 @
df40b5eb
package
cn.bugstack.chatglm.model
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author 小傅哥,微信:fustack
* @description 消息类型 <a href="https://open.bigmodel.cn/dev/api#chatglm_lite">chatglm_lite</a>
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
@Getter
@AllArgsConstructor
public
enum
EventType
{
add
(
"add"
,
"增量"
),
finish
(
"finish"
,
"结束"
),
error
(
"error"
,
"错误"
),
interrupted
(
"interrupted"
,
"中断"
),
;
private
final
String
code
;
private
final
String
info
;
}
src/main/java/cn/bugstack/chatglm/model/Model.java
0 → 100644
浏览文件 @
df40b5eb
package
cn.bugstack.chatglm.model
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author 小傅哥,微信:fustack
* @description 会话模型
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
@Getter
@AllArgsConstructor
public
enum
Model
{
CHATGLM_6B_SSE
(
"chatGLM_6b_SSE"
,
"ChatGLM-6B 测试模型"
),
CHATGLM_LITE
(
"chatglm_lite"
,
"轻量版模型,适用对推理速度和成本敏感的场景"
),
CHATGLM_LITE_32K
(
"chatglm_lite_32k"
,
"标准版模型,适用兼顾效果和成本的场景"
),
CHATGLM_STD
(
"chatglm_std"
,
"适用于对知识量、推理能力、创造力要求较高的场景"
),
CHATGLM_PRO
(
"chatglm_pro"
,
"适用于对知识量、推理能力、创造力要求较高的场景"
),
;
private
final
String
code
;
private
final
String
info
;
}
src/main/java/cn/bugstack/chatglm/model/Role.java
0 → 100644
浏览文件 @
df40b5eb
package
cn.bugstack.chatglm.model
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author 小傅哥,微信:fustack
* @description 角色
* @github https://github.com/fuzhengwei
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获!
*/
@Getter
@AllArgsConstructor
public
enum
Role
{
/**
* user 用户输入的内容,role位user
*/
user
(
"user"
),
/**
* 模型生成的内容,role位assistant
*/
assistant
(
"assistant"
),
;
private
final
String
code
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录