Ether Framework
Unified API docs for Ether modules
Loading...
Searching...
No Matches
AiMessage.java
Go to the documentation of this file.
1
package
dev.rafex.ether.ai.core.message;
2
3
/*-
4
* #%L
5
* ether-ai-core
6
* %%
7
* Copyright (C) 2025 - 2026 Raúl Eduardo González Argote
8
* %%
9
* Permission is hereby granted, free of charge, to any person obtaining a copy
10
* of this software and associated documentation files (the "Software"), to deal
11
* in the Software without restriction, including without limitation the rights
12
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
* copies of the Software, and to permit persons to whom the Software is
14
* furnished to do so, subject to the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be included in
17
* all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
* THE SOFTWARE.
26
* #L%
27
*/
28
29
import
java.util.Objects;
30
31
public
record
AiMessage
(
AiMessageRole
role, String content) {
32
33
public
AiMessage
{
34
Objects.requireNonNull(role,
"role"
);
35
Objects.requireNonNull(content,
"content"
);
36
if
(content.isBlank()) {
37
throw
new
IllegalArgumentException(
"content must not be blank"
);
38
}
39
}
40
41
public
static
AiMessage
system(
final
String content) {
42
return
new
AiMessage
(
AiMessageRole
.
SYSTEM
, content);
43
}
44
45
public
static
AiMessage
user(
final
String content) {
46
return
new
AiMessage
(
AiMessageRole
.
USER
, content);
47
}
48
49
public
static
AiMessage
assistant(
final
String content) {
50
return
new
AiMessage
(
AiMessageRole
.
ASSISTANT
, content);
51
}
52
}
dev.rafex.ether.ai.core.message.AiMessageRole
Definition
AiMessageRole.java:29
dev.rafex.ether.ai.core.message.AiMessageRole.SYSTEM
SYSTEM
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.USER
USER
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.ASSISTANT
ASSISTANT
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessage
record AiMessage(AiMessageRole role, String content)
Definition
AiMessage.java:31
Generated by
1.16.1