File tree Expand file tree Collapse file tree 4 files changed +23
-7
lines changed
embabel-agent-api/src/main/kotlin/com/embabel/agent/api/common
src/main/kotlin/com/embabel/agent/rag/lucene Expand file tree Collapse file tree 4 files changed +23
-7
lines changed Original file line number Diff line number Diff line change 15
15
*/
16
16
package com.embabel.agent.api.common
17
17
18
+ import com.embabel.agent.rag.RagService
18
19
import com.embabel.common.ai.model.*
19
20
import org.springframework.ai.embedding.EmbeddingModel
20
21
@@ -27,14 +28,24 @@ typealias Embedding = FloatArray
27
28
*/
28
29
interface Ai {
29
30
31
+ /* *
32
+ * Return an embedding model with the given name
33
+ */
30
34
fun withEmbeddingModel (model : String ): EmbeddingModel =
31
35
withEmbeddingModel(ModelSelectionCriteria .byName(model))
32
36
37
+ /* *
38
+ * Return an embedding model matching the given criteria.
39
+ */
33
40
fun withEmbeddingModel (criteria : ModelSelectionCriteria ): EmbeddingModel
34
41
35
42
fun withDefaultEmbeddingModel (): EmbeddingModel =
36
43
withEmbeddingModel(DefaultModelSelectionCriteria )
37
44
45
+ /* *
46
+ * Return the RagService
47
+ */
48
+ fun rag (): RagService
38
49
39
50
/* *
40
51
* Get a configurable PromptRunner for this context using
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ import com.embabel.agent.api.dsl.AgentScopeBuilder
21
21
import com.embabel.agent.core.*
22
22
import com.embabel.agent.event.AgenticEventListener
23
23
import com.embabel.agent.prompt.element.ContextualPromptElement
24
+ import com.embabel.agent.rag.RagService
24
25
import com.embabel.common.ai.model.LlmOptions
25
26
import com.embabel.common.ai.model.ModelSelectionCriteria
26
27
import com.embabel.common.ai.prompt.CurrentDate
@@ -232,4 +233,8 @@ private class OperationContextAi(
232
233
override fun withLlm (llm : LlmOptions ): PromptRunner {
233
234
return context.promptRunner().withLlm(llm)
234
235
}
236
+
237
+ override fun rag (): RagService {
238
+ return context.processContext.platformServices.ragService
239
+ }
235
240
}
Original file line number Diff line number Diff line change 7
7
<artifactId >embabel-agent-parent</artifactId >
8
8
<version >0.1.2-SNAPSHOT</version >
9
9
</parent >
10
- <artifactId >embabel-agent-lucene</artifactId >
10
+ <artifactId >embabel-agent-rag- lucene</artifactId >
11
11
<packaging >jar</packaging >
12
12
<name >Embabel Agent Rag for Lucene</name >
13
13
<description >Embabel Agent Rag for Lucene</description >
34
34
<artifactId >lucene-core</artifactId >
35
35
<version >9.11.1</version >
36
36
</dependency >
37
-
37
+
38
38
<dependency >
39
39
<groupId >org.apache.lucene</groupId >
40
40
<artifactId >lucene-analysis-common</artifactId >
41
41
<version >9.11.1</version >
42
42
</dependency >
43
-
43
+
44
44
<dependency >
45
45
<groupId >org.apache.lucene</groupId >
46
46
<artifactId >lucene-queryparser</artifactId >
47
47
<version >9.11.1</version >
48
48
</dependency >
49
-
49
+
50
50
<dependency >
51
51
<groupId >org.apache.lucene</groupId >
52
52
<artifactId >lucene-memory</artifactId >
53
53
<version >9.11.1</version >
54
54
</dependency >
55
-
56
-
55
+
56
+
57
57
</dependencies >
58
58
59
59
<build >
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ import java.io.Closeable
37
37
import kotlin.math.sqrt
38
38
import org.springframework.ai.document.Document as SpringAiDocument
39
39
40
- class LuceneRagService (
40
+ class LuceneRagService @JvmOverloads constructor (
41
41
override val name : String = " lucene-rag" ,
42
42
override val description : String = " In-memory Lucene-based RAG service with hybrid text and vector search capabilities" ,
43
43
private val embeddingModel : EmbeddingModel ? = null ,
You can’t perform that action at this time.
0 commit comments