This commit is contained in:
narawat lamaiin
2025-04-01 21:17:03 +07:00
parent bc0f735ab7
commit fd5ac82662
3 changed files with 25 additions and 22 deletions

View File

@@ -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
@@ -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)

View File

@@ -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, "**"=>"")

View File

@@ -1,9 +1,9 @@
"""
Default system message template:
<Your profile>
<Your role>
- You are a helpful assistant
</Your profile>
</Your role>
<Situation>
- Describe the current situation
</Situation>
@@ -19,6 +19,9 @@ Default system message template:
<Your responsibility includes>
- state the mini goals that fall under your responsibility
</Your responsibility includes>
<Your responsibility does NOT includes>
-
</Your responsibility does NOT includes>
<At each round of conversation, you will be given the following>
</At each round of conversation, you will be given the following>