From fd5ac82662865d2e9bb4a03571076adb27424d1f Mon Sep 17 00:00:00 2001 From: narawat lamaiin Date: Tue, 1 Apr 2025 21:17:03 +0700 Subject: [PATCH] update --- src/interface.jl | 22 +++++++++++----------- src/llmfunction.jl | 16 ++++++++-------- system_prompt_template.jl | 9 ++++++--- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/interface.jl b/src/interface.jl index e9ede7e..1591264 100644 --- a/src/interface.jl +++ b/src/interface.jl @@ -220,8 +220,8 @@ function decisionMaker(state::T1, context, text2textInstructLLM::Function, ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") - response = text2textInstructLLM(prompt) + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") + response = text2textInstructLLM(prompt, modelsize="medium") # LLM tends to generate observation given that it is in the input response = @@ -271,7 +271,7 @@ function decisionMaker(state::T1, context, text2textInstructLLM::Function, # check whether response has all header detected_kw = GeneralUtils.detect_keyword(header, response) - if sum(values(detected_kw)) < length(header) + if 0 ∈ values(detected_kw) errornote = "\nSQLLLM decisionMaker() response does not have all header" continue elseif sum(values(detected_kw)) > length(header) @@ -321,7 +321,7 @@ function decisionMaker(state::T1, context, text2textInstructLLM::Function, # check whether response has all header detected_kw = GeneralUtils.detect_keyword(header, response) - if sum(values(detected_kw)) < length(header) + if 0 ∈ values(detected_kw) errornote = "\nSQL decisionMaker() response does not have all header" continue elseif sum(values(detected_kw)) > length(header) @@ -446,12 +446,12 @@ function evaluator(state::T1, text2textInstructLLM::Function ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") header = ["Trajectory_evaluation:", "Answer_evaluation:", "Accepted_as_answer:", "Score:", "Suggestion:"] dictkey = ["trajectory_evaluation", "answer_evaluation", "accepted_as_answer", "score", "suggestion"] - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") # sometime LLM output something like **Comprehension**: which is not expected response = replace(response, "**"=>"") @@ -459,7 +459,7 @@ function evaluator(state::T1, text2textInstructLLM::Function # check whether response has all header detected_kw = GeneralUtils.detect_keyword(header, response) - if sum(values(detected_kw)) < length(header) + if 0 ∈ values(detected_kw) errornote = "\nSQL evaluator() response does not have all header" continue elseif sum(values(detected_kw)) > length(header) @@ -601,7 +601,7 @@ function reflector(config::T1, state::T2)::String where {T1<:AbstractDict, T2<:A ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") externalService = config[:externalservice][:text2textinstruct] # apply LLM specific instruct format @@ -998,7 +998,7 @@ function query(query::T, executeSQL::Function, text2textInstructLLM::Function; LLMMCTS.runMCTS(initialstate, transition, transitionargs; horizontalSampleExpansionPhase=3, horizontalSampleSimulationPhase=2, - maxSimulationDepth=5, + maxSimulationDepth=5, maxiterations=1, explorationweight=1.0, earlystop=earlystop, @@ -1172,10 +1172,10 @@ function generatequestion(state::T1, context, text2textInstructLLM::Function; ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") try - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") # check if response is valid q_number = count("Q", response) diff --git a/src/llmfunction.jl b/src/llmfunction.jl index d56da2b..8f83cac 100644 --- a/src/llmfunction.jl +++ b/src/llmfunction.jl @@ -406,9 +406,9 @@ function getdata_decisionMaker(state::Dict, context::Dict, text2textInstructLLM: ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") try - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") header = ["Comprehension:", "Plan:", "Code:"] dictkey = ["comprehension", "plan", "code"] @@ -627,12 +627,12 @@ function extractContent_dataframe(df::DataFrame, text2textInstructLLM::Function, ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") header = ["About_resulting_table:", "Search_summary:"] dictkey = ["about_resulting_table", "search_summary"] for i in 1:5 - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") kw = [] # use for loop and detect_keyword function to get the exact variation of each keyword in the text then push to kw list @@ -762,13 +762,13 @@ function getTableNameFromSQL(sql::T, text2textInstructLLM::Function)::Vector{Str ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") header = ["Table_name:"] dictkey = ["table_name"] for attempt in 1:5 try - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") responsedict = GeneralUtils.textToDict(response, header; dictKey=dictkey, symbolkey=true) response = copy(JSON3.read(responsedict[:table_name])) @@ -914,12 +914,12 @@ function compareState(question::String, highValueStateList::Vector{T}, ] # put in model format - prompt = GeneralUtils.formatLLMtext(_prompt; formatname="qwen") + prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct") header = ["Comparison:", "Rationale:", "Selected_response_number:"] dictkey = ["comparison", "rationale", "selected_response_number"] - response = text2textInstructLLM(prompt) + response = text2textInstructLLM(prompt, modelsize="medium") # sometime LLM output something like **Comprehension**: which is not expected response = replace(response, "**"=>"") diff --git a/system_prompt_template.jl b/system_prompt_template.jl index b1a9b86..a3d1d24 100644 --- a/system_prompt_template.jl +++ b/system_prompt_template.jl @@ -1,9 +1,9 @@ """ Default system message template: - + - You are a helpful assistant - + - Describe the current situation @@ -18,7 +18,10 @@ Default system message template: - state the mini goals that fall under your responsibility - + + + - +