Skip to content

Commit 2ae792a

Browse files
iceAndFireisFailedyuhongxiaotomsun28
authored
feat: Add event fields for knowledge retrieval V2. (#85)
Co-authored-by: yuhongxiao <hongxiao.yu@aminer.cn> Co-authored-by: Tomsun28 <tomsun28@outlook.com>
1 parent 5e754f8 commit 2ae792a

File tree

4 files changed

+200
-0
lines changed

4 files changed

+200
-0
lines changed

core/src/main/java/ai/z/openapi/service/model/ModelData.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package ai.z.openapi.service.model;
22

3+
import ai.z.openapi.service.tools.KnowledgeV2Result;
34
import com.fasterxml.jackson.annotation.JsonProperty;
45
import ai.z.openapi.service.web_search.WebSearchResp;
56
import lombok.AllArgsConstructor;
@@ -54,4 +55,6 @@ public final class ModelData {
5455

5556
private String delta;
5657

58+
private KnowledgeV2Result knowledgeV2;
59+
5760
}

core/src/main/java/ai/z/openapi/service/model/ToolCalls.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package ai.z.openapi.service.model;
22

3+
import ai.z.openapi.service.tools.DocReference;
34
import com.fasterxml.jackson.annotation.JsonProperty;
45
import lombok.AllArgsConstructor;
56
import lombok.Builder;
67
import lombok.Data;
78
import lombok.NoArgsConstructor;
89

10+
import java.util.List;
11+
912
/**
1013
* Represents tool calls made by the model during conversation. This class contains
1114
* information about function calls including the function details, unique identifier, and
@@ -35,4 +38,7 @@ public class ToolCalls {
3538
@JsonProperty("mcp")
3639
private MCPToolCall mcp;
3740

41+
@JsonProperty("doc_reference")
42+
private List<DocReference> docReferenceList;
43+
3844
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package ai.z.openapi.service.tools;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
5+
import lombok.AllArgsConstructor;
6+
import lombok.Data;
7+
import lombok.NoArgsConstructor;
8+
9+
import java.io.Serializable;
10+
11+
@Data
12+
@NoArgsConstructor
13+
@AllArgsConstructor
14+
@JsonIgnoreProperties(ignoreUnknown = true)
15+
public class DocReference implements Serializable {
16+
17+
/** Document index */
18+
private Integer index;
19+
20+
/** Document type */
21+
private String doc_type;
22+
23+
/** Document name */
24+
private String doc_name;
25+
26+
}
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
package ai.z.openapi.service.tools;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.io.Serializable;
8+
import java.util.List;
9+
10+
/** Knowledge base retrieval V2 result */
11+
@Data
12+
@AllArgsConstructor
13+
@NoArgsConstructor
14+
public class KnowledgeV2Result implements Serializable {
15+
16+
/** List of data sources */
17+
private List<Content> contents;
18+
19+
/** Query rewrite result */
20+
private RewrittenQuery rewritten_query;
21+
22+
private String type;
23+
24+
/** Data source */
25+
@Data
26+
@AllArgsConstructor
27+
@NoArgsConstructor
28+
public static class Content {
29+
30+
/** Chunk ID (uuid) */
31+
private String id;
32+
33+
/** Modality type: text, image_url, video_url */
34+
private String type;
35+
36+
/** Text content */
37+
private String text;
38+
39+
/** List of media files in text */
40+
private List<Media> medias;
41+
42+
/** Image URL object */
43+
private ImageUrl image_url;
44+
45+
/** Video URL object */
46+
private VideoUrl video_url;
47+
48+
/** Recall position (rankIndex) */
49+
private Integer index;
50+
51+
/** Recall score (rankScore) */
52+
private Double score;
53+
54+
/** Rerank position (rerankIndex) */
55+
private Integer rerank_index;
56+
57+
/** Rerank score (rerankScore) */
58+
private Double rerank_score;
59+
60+
/** Metadata */
61+
private MetadataDTO metadata;
62+
63+
}
64+
65+
/** Media file */
66+
@Data
67+
@AllArgsConstructor
68+
@NoArgsConstructor
69+
public static class Media {
70+
71+
/** Image ID */
72+
private String id;
73+
74+
/** Image URL */
75+
private String url;
76+
77+
/** Image description */
78+
private String description;
79+
80+
}
81+
82+
/** Image URL object */
83+
@Data
84+
@AllArgsConstructor
85+
@NoArgsConstructor
86+
public static class ImageUrl {
87+
88+
/** URL */
89+
private String url;
90+
91+
}
92+
93+
/** Video URL object */
94+
@Data
95+
@AllArgsConstructor
96+
@NoArgsConstructor
97+
public static class VideoUrl {
98+
99+
/** URL */
100+
private String url;
101+
102+
}
103+
104+
/** Metadata */
105+
@Data
106+
@AllArgsConstructor
107+
@NoArgsConstructor
108+
public static class MetadataDTO {
109+
110+
/** Chunk ID */
111+
private String _id;
112+
113+
/** Knowledge base ID */
114+
private String know_id;
115+
116+
/** Document ID */
117+
private String doc_id;
118+
119+
/** Document type (dtype) */
120+
private String doc_type;
121+
122+
/** Document name (filename) */
123+
private String doc_name;
124+
125+
/** Document URL */
126+
private String doc_url;
127+
128+
/** Chunk index */
129+
private Integer index;
130+
131+
/** Document page number */
132+
private Integer page_index;
133+
134+
/** Video clip index */
135+
private Integer clip_index;
136+
137+
/** Start frame timestamp */
138+
private Long start_time;
139+
140+
/** End frame timestamp */
141+
private Long end_time;
142+
143+
/** Video clip duration */
144+
private Long duration;
145+
146+
/** Key frame list */
147+
private List<Object> frames;
148+
149+
}
150+
151+
/** Query rewrite result */
152+
@Data
153+
@AllArgsConstructor
154+
@NoArgsConstructor
155+
public static class RewrittenQuery {
156+
157+
/** Primary query */
158+
private String primary_query;
159+
160+
/** Alternative query list */
161+
private List<String> multi_queries;
162+
163+
}
164+
165+
}

0 commit comments

Comments
 (0)