Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6393f87
wip
acharneski Apr 23, 2025
b04367c
wip
acharneski Apr 23, 2025
f05a750
wip
acharneski Apr 23, 2025
e633330
wip
acharneski Apr 23, 2025
864d7a8
wip
acharneski Apr 23, 2025
4de8417
misc
acharneski Apr 24, 2025
9b6e6a4
fix
acharneski Apr 24, 2025
fc0d732
readmes
acharneski Apr 24, 2025
c425167
wip
acharneski Apr 25, 2025
1d5be23
wip
acharneski Apr 25, 2025
3960e91
build cleanup
acharneski Apr 25, 2025
f8d101f
wip
acharneski Apr 25, 2025
b5f6d1b
wip
acharneski Apr 25, 2025
adba28e
wip
acharneski Apr 26, 2025
ab34570
wip
acharneski Apr 26, 2025
0f56fb1
wip
acharneski Apr 26, 2025
3981fea
Delete metadata.lck
acharneski Apr 26, 2025
d31fdc7
checkin
acharneski Apr 26, 2025
4142b30
Update .gitignore
acharneski Apr 26, 2025
fab5b3e
fixes
acharneski Apr 26, 2025
59c9fde
wip
acharneski Apr 26, 2025
fccbef5
wip
acharneski Apr 26, 2025
e1eda09
wip
acharneski Apr 26, 2025
fb3b625
wip
acharneski Apr 26, 2025
fc3c40d
wip
acharneski Apr 26, 2025
44bc245
wip
acharneski Apr 26, 2025
ffb090a
wip
acharneski Apr 26, 2025
e2d3538
wip
acharneski Apr 26, 2025
414bc6b
wip
acharneski Apr 26, 2025
1062336
wip
acharneski Apr 26, 2025
141f508
wip
acharneski Apr 26, 2025
d9f876d
wip
acharneski Apr 26, 2025
f52ea4a
wip
acharneski Apr 26, 2025
529f100
wip
acharneski Apr 26, 2025
28f2a95
wip
acharneski Apr 27, 2025
fff0b7f
wip
acharneski Apr 27, 2025
2a8865b
wip
acharneski Apr 27, 2025
be30e91
wip
acharneski Apr 27, 2025
19022c3
wip
acharneski Apr 27, 2025
faf9b92
wip
acharneski Apr 27, 2025
999b18d
wip
acharneski Apr 27, 2025
3916607
wip
acharneski Apr 27, 2025
aff7842
wip
acharneski Apr 27, 2025
caf22a1
wip
acharneski Apr 27, 2025
094ea54
wip
acharneski Apr 27, 2025
f0803c2
wip
acharneski Apr 27, 2025
22504b3
wip
acharneski Apr 27, 2025
d659460
wip
acharneski Apr 27, 2025
1b22f59
wip
acharneski Apr 27, 2025
87a622d
wip
acharneski Apr 27, 2025
56adc84
wip
acharneski Apr 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -69,21 +69,13 @@ open class ClientManager {
session: Session,
user: User?,
): ChatClient? {
log.debug("Creating client for session: {}, user: {}", session, user)
log.debug("Creating chat client for session: {}, user: {}", session, user)
val sessionDir = dataStorageFactory(dataStorageRoot).getDataDir(user, session).apply { mkdirs() }
if (user != null) {
val userSettings = userSettingsManager.getUserSettings(user)
val userApi =
if (userSettings.apiKeys.isNotEmpty()) {
ChatClient(
key = userSettings.apiKeys,
apiBase = userSettings.apiBase,
workPool = getPool(session, user),
).apply {
this.session = session
this.user = user
logStreams += sessionDir.resolve("openai.log").outputStream().buffered()
}
getChatClient(session, user)
} else null
if (userApi != null) return userApi
}
Expand All @@ -109,7 +101,7 @@ open class ClientManager {
session: Session,
user: User?,
): OpenAIClient? {
log.debug("Creating client for session: {}, user: {}", session, user)
log.debug("Creating ai client for session: {}, user: {}", session, user)
val sessionDir = dataStorageFactory(dataStorageRoot).getDataDir(user, session).apply { mkdirs() }
if (user != null) {
val userSettings = userSettingsManager.getUserSettings(user)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.google.common.util.concurrent.Futures
import com.simiacryptus.cognotik.TabbedDisplay
import com.simiacryptus.cognotik.apps.parse.ParsingModel.DocumentData
import com.simiacryptus.cognotik.apps.parse.ProgressState.Companion.progressBar
import com.simiacryptus.cognotik.core.platform.ApplicationServices
import com.simiacryptus.cognotik.core.platform.ClientManager
import com.simiacryptus.cognotik.core.platform.Session
import com.simiacryptus.cognotik.core.platform.model.User
import com.simiacryptus.cognotik.util.MarkdownUtil
Expand All @@ -27,7 +29,6 @@ import kotlin.math.min
open class DocumentParserApp(
applicationName: String = "Document Extractor",
path: String = "/pdfExtractor",
val api: API = ChatClient(),
val parsingModel: ParsingModel<DocumentData>,
val reader: (File) -> DocumentReader = {
when {
Expand Down Expand Up @@ -65,6 +66,7 @@ open class DocumentParserApp(
settings = settings,
pagesPerBatch = settings.pagesPerBatch,
progressBar = progressBar,
api = ApplicationServices.clientManager.getChatClient(session, user),
)
}
}
Expand All @@ -81,6 +83,7 @@ open class DocumentParserApp(
maxPages = settings.maxPages.coerceAtMost(Int.MAX_VALUE),
settings = settings,
pagesPerBatch = settings.pagesPerBatch,
api = ApplicationServices.clientManager.getChatClient(session, user),
)
}
}
Expand All @@ -92,6 +95,7 @@ open class DocumentParserApp(
maxPages: Int,
settings: Settings,
pagesPerBatch: Int,
api: ChatClient,
progressBar: ProgressState? = null
) {
try {
Expand All @@ -101,7 +105,7 @@ open class DocumentParserApp(
}

task.header("Knowledge Extractor", 2)
val api = (api as ChatClient).getChildClient(task)
val api = api.getChildClient(task)
// Create output directory
val outputDir = root.resolve("output").apply<File> { mkdirs() }
if (!outputDir.exists()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.simiacryptus.cognotik.webui.chat

import com.simiacryptus.cognotik.core.platform.ApplicationServices
import com.simiacryptus.cognotik.core.platform.Session
import com.simiacryptus.cognotik.core.platform.file.DataStorage
import com.simiacryptus.cognotik.core.platform.model.User
Expand All @@ -10,7 +11,6 @@ import java.io.File

class BasicChatApp(
root: File,
val api: ChatClient,
val model: ChatModel,
val parsingModel: ChatModel,
applicationName: String = "Chat"
Expand All @@ -30,7 +30,7 @@ class BasicChatApp(
parsingModel = parsingModel,
initialAssistantPrompt = "",
systemPrompt = "",
api = api,
api = ApplicationServices.clientManager.getChatClient(session, user),
temperature = 0.0,
applicationClass = this::class.java,
storage = DataStorage(root),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ object ActorTestAppServer : com.simiacryptus.cognotik.webui.application.Applicat
val model = OpenAIModels.GPT4oMini
val parsingModel = OpenAIModels.GPT4oMini
listOf(
ChildWebApp("/chat", BasicChatApp(File("."), ChatClient(), model, parsingModel)),
ChildWebApp("/chat", BasicChatApp(File("."), model, parsingModel)),
ChildWebApp(
"/test_simple",
SimpleActorTestApp(
Expand Down
Loading