15
15
import io .quarkiverse .langchain4j .jlama .runtime .config .LangChain4jJlamaConfig ;
16
16
import io .quarkiverse .langchain4j .jlama .runtime .config .LangChain4jJlamaFixedRuntimeConfig ;
17
17
import io .quarkiverse .langchain4j .runtime .NamedConfigUtil ;
18
+ import io .quarkus .runtime .RuntimeValue ;
18
19
import io .quarkus .runtime .annotations .Recorder ;
19
20
20
21
@ Recorder
21
22
public class JlamaAiRecorder {
23
+ private final RuntimeValue <LangChain4jJlamaConfig > runtimeConfig ;
24
+ private final RuntimeValue <LangChain4jJlamaFixedRuntimeConfig > fixedRuntimeConfig ;
22
25
23
- public Supplier <ChatModel > chatModel (LangChain4jJlamaConfig runtimeConfig ,
24
- LangChain4jJlamaFixedRuntimeConfig fixedRuntimeConfig ,
25
- String configName ) {
26
- LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (runtimeConfig , configName );
26
+ public JlamaAiRecorder (RuntimeValue <LangChain4jJlamaConfig > runtimeConfig ,
27
+ RuntimeValue <LangChain4jJlamaFixedRuntimeConfig > fixedRuntimeConfig ) {
28
+ this .runtimeConfig = runtimeConfig ;
29
+ this .fixedRuntimeConfig = fixedRuntimeConfig ;
30
+ }
31
+
32
+ public Supplier <ChatModel > chatModel (String configName ) {
33
+ LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (configName );
27
34
LangChain4jJlamaFixedRuntimeConfig .JlamaConfig jlamaFixedRuntimeConfig = correspondingJlamaFixedRuntimeConfig (
28
- fixedRuntimeConfig , configName );
35
+ configName );
29
36
30
37
if (jlamaConfig .enableIntegration ()) {
31
38
ChatModelConfig chatModelConfig = jlamaConfig .chatModel ();
32
39
33
40
String modelName = jlamaFixedRuntimeConfig .chatModel ().modelName ();
34
41
var builder = JlamaChatModel .builder ()
35
42
.modelName (modelName )
36
- .modelCachePath (fixedRuntimeConfig .modelsPath ());
43
+ .modelCachePath (fixedRuntimeConfig .getValue (). modelsPath ());
37
44
38
45
jlamaConfig .logRequests ().ifPresent (builder ::logRequests );
39
46
jlamaConfig .logResponses ().ifPresent (builder ::logResponses );
@@ -57,19 +64,16 @@ public ChatModel get() {
57
64
}
58
65
}
59
66
60
- public Supplier <StreamingChatModel > streamingChatModel (LangChain4jJlamaConfig runtimeConfig ,
61
- LangChain4jJlamaFixedRuntimeConfig fixedRuntimeConfig ,
62
- String configName ) {
63
- LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (runtimeConfig , configName );
67
+ public Supplier <StreamingChatModel > streamingChatModel (String configName ) {
68
+ LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (configName );
64
69
LangChain4jJlamaFixedRuntimeConfig .JlamaConfig jlamaFixedRuntimeConfig = correspondingJlamaFixedRuntimeConfig (
65
- fixedRuntimeConfig , configName );
66
-
70
+ configName );
67
71
if (jlamaConfig .enableIntegration ()) {
68
72
ChatModelConfig chatModelConfig = jlamaConfig .chatModel ();
69
73
70
74
var builder = JlamaStreamingChatModel .builder ()
71
75
.modelName (jlamaFixedRuntimeConfig .chatModel ().modelName ())
72
- .modelCachePath (fixedRuntimeConfig .modelsPath ());
76
+ .modelCachePath (fixedRuntimeConfig .getValue (). modelsPath ());
73
77
74
78
chatModelConfig .temperature ().ifPresent (temp -> builder .temperature ((float ) temp ));
75
79
@@ -89,17 +93,15 @@ public StreamingChatModel get() {
89
93
}
90
94
}
91
95
92
- public Supplier <EmbeddingModel > embeddingModel (LangChain4jJlamaConfig runtimeConfig ,
93
- LangChain4jJlamaFixedRuntimeConfig fixedRuntimeConfig ,
94
- String configName ) {
95
- LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (runtimeConfig , configName );
96
+ public Supplier <EmbeddingModel > embeddingModel (String configName ) {
97
+ LangChain4jJlamaConfig .JlamaConfig jlamaConfig = correspondingJlamaConfig (configName );
96
98
LangChain4jJlamaFixedRuntimeConfig .JlamaConfig jlamaFixedRuntimeConfig = correspondingJlamaFixedRuntimeConfig (
97
- fixedRuntimeConfig , configName );
99
+ configName );
98
100
99
101
if (jlamaConfig .enableIntegration ()) {
100
102
var builder = JlamaEmbeddingModel .builder ()
101
103
.modelName (jlamaFixedRuntimeConfig .embeddingModel ().modelName ())
102
- .modelCachePath (fixedRuntimeConfig .modelsPath ());
104
+ .modelCachePath (fixedRuntimeConfig .getValue (). modelsPath ());
103
105
104
106
return new Supplier <>() {
105
107
@ Override
@@ -117,17 +119,15 @@ public EmbeddingModel get() {
117
119
}
118
120
}
119
121
120
- private LangChain4jJlamaConfig .JlamaConfig correspondingJlamaConfig (LangChain4jJlamaConfig runtimeConfig ,
121
- String configName ) {
122
- return NamedConfigUtil .isDefault (configName ) ? runtimeConfig .defaultConfig ()
123
- : runtimeConfig .namedConfig ().get (configName );
122
+ private LangChain4jJlamaConfig .JlamaConfig correspondingJlamaConfig (String configName ) {
123
+ return NamedConfigUtil .isDefault (configName ) ? runtimeConfig .getValue ().defaultConfig ()
124
+ : runtimeConfig .getValue ().namedConfig ().get (configName );
124
125
}
125
126
126
127
private LangChain4jJlamaFixedRuntimeConfig .JlamaConfig correspondingJlamaFixedRuntimeConfig (
127
- LangChain4jJlamaFixedRuntimeConfig runtimeConfig ,
128
128
String configName ) {
129
- return NamedConfigUtil .isDefault (configName ) ? runtimeConfig .defaultConfig ()
130
- : runtimeConfig .namedConfig ().get (configName );
129
+ return NamedConfigUtil .isDefault (configName ) ? fixedRuntimeConfig . getValue () .defaultConfig ()
130
+ : fixedRuntimeConfig . getValue () .namedConfig ().get (configName );
131
131
}
132
132
133
133
}
0 commit comments