From 055718d041d3d69d4c28801446a84ec51d2a2692 Mon Sep 17 00:00:00 2001 From: lunaticbum Date: Wed, 12 Mar 2025 22:34:24 +0900 Subject: [PATCH] ... --- .../kr/lunaticbum/back/lun/service/Lama.kt | 23 +++++++++++++++---- src/main/resources/application.properties | 4 ++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/lunaticbum/back/lun/service/Lama.kt b/src/main/kotlin/kr/lunaticbum/back/lun/service/Lama.kt index 7d7d4c8..cf89376 100644 --- a/src/main/kotlin/kr/lunaticbum/back/lun/service/Lama.kt +++ b/src/main/kotlin/kr/lunaticbum/back/lun/service/Lama.kt @@ -138,6 +138,19 @@ class Lama { // } + val embedimgModelEeve ="lancard/korean-yanolja-eeve" + val embedimgModelBgeM3 = "bge-m3" + val currentEmbedimg = embedimgModelEeve + + val llmPhi4 = "phi4:14b" + val llmGemma3 = "gemma3:12b" + + val llmDolphin3 = "dolphin3" + + + + + val currentLLM = llmDolphin3 fun addDocuments(query : String , refinedQuery: RefinedQuery?) { var querys : ArrayList = ArrayList() @@ -173,10 +186,10 @@ class Lama { } } - var format = "원문:\n'%s'\n원문의 웹 페이지 소스는 '%s'이 질문에 대해 연관 결과로 받은 내용이야. 해당 정보를 파악해서 'query:{질문},contents:{본문내용 한국어},summary:{요약 한국어},keywords:[키워드],related_links:[링크],relatedness_score:{0.0~10.0}'이 형식의 결과만들어줘" + var format = "원문:\n'%s'\n원문의 웹 페이지 소스는 '%s'이 질문에 대해 연관 결과로 받은 내용이야. 해당 정보를 파악해서 본문 내용을 최대한 자세히 알려줘 'query:{질문},contents:{본문내용 한국어},summary:{100자 이하로 요약 한국어},keywords:[키워드],related_links:[링크],relatedness_score:{0.0~10.0}'이 형식의 결과만들어줘" internal fun makeSummarizeRequestMsg(it : SearXngResult) : String= format.format(it.originHtml,it.originQuery) - internal fun makeCahtReq(reqMsg:String) = OllamaApi.ChatRequest.Builder("phi4:14b").stream(false).format("json").messages(listOf(OllamaApi.Message.Builder(OllamaApi.Message.Role.USER).content(reqMsg).build())).build() + internal fun makeCahtReq(reqMsg:String) = OllamaApi.ChatRequest.Builder(currentLLM).stream(false).format("json").messages(listOf(OllamaApi.Message.Builder(OllamaApi.Message.Role.USER).content(reqMsg).build())).build() @Async fun webPageSummarize(it : SearXngResult , text : String) { @@ -192,7 +205,7 @@ class Lama { EmbeddingRequest( listOf(aiResponce.message.content), OllamaOptions.builder() - .model("bge-m3") + .model(currentEmbedimg) .truncate(false).build() ) ) @@ -287,7 +300,7 @@ class Lama { chatClient, OllamaOptions.builder().build(), ObservationRegistry.create(), ModelManagementOptions.defaults()) println("On generateResponse :: find something ${query}") query?.let { originalQuery -> - var embeddingResponse = embeddingModel.call(EmbeddingRequest(listOf(originalQuery), OllamaOptions.builder().model("bge-m3").truncate(false).build())) + var embeddingResponse = embeddingModel.call(EmbeddingRequest(listOf(originalQuery), OllamaOptions.builder().model(currentEmbedimg).truncate(false).build())) addDocuments(originalQuery, querySummarize(originalQuery)) println("points size ${embeddingResponse.result.output.size}") var context : String? = "" @@ -309,7 +322,7 @@ class Lama { val prompt = "참조:\n$context\n참조 내용을 고려해서\n해당 질문:${query}\n에 {질문내용:[한국어],답변내용:[한국어],전체키워드:[],참조링크:[]}형식으로 대답 해줘 ".trimIndent() println(prompt) - val response: OllamaApi.ChatResponse = chatClient.chat(OllamaApi.ChatRequest.Builder("phi4:14b").stream(false).format("json").messages( + val response: OllamaApi.ChatResponse = chatClient.chat(OllamaApi.ChatRequest.Builder(currentLLM).stream(false).format("json").messages( listOf(OllamaApi.Message.Builder(OllamaApi.Message.Role.USER).content(prompt).build()) ).build()) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 94274a2..768e701 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -64,7 +64,7 @@ spring.data.mongodb.option.heartbeat-frequency=10000 spring.data.mongodb.option.local-threshold=15 spring.ai.ollama.base-url=https://lama.lunaticbum.kr -spring.ai.ollama.chat.options.model=phi4:14b +#spring.ai.ollama.chat.options.model=phi4:14b ##spring.data.redis.url=ollama.lunaticbum.kr #spring.data.redis.host=lunaticbum.kr @@ -82,7 +82,7 @@ spring.ai.vectorstore.qdrant.port=443 #spring.ai.vectorstore.qdrant.initialize-schema=true spring.ai.vectorstore.qdrant.api-key=blama-admin-key-gb spring.ai.vectorstore.qdrant.collection-name=blama_vectors -spring.ai.ollama.embedding.model=nomic-embed-text +#spring.ai.ollama.embedding.model=nomic-embed-text spring.ai.ollama.embedding.enabled=true