This commit is contained in:
Your Name
2024-02-11 17:13:25 +07:00
parent 1ee362f1e5
commit 5ac191153b
2 changed files with 24 additions and 7 deletions

View File

@@ -974,13 +974,21 @@ end
"""
function keywordMemoryUpdate!(keywordmemory::AbstractDict, newinfo::AbstractDict)
for (k, v) in newinfo
k = String(k)
if v === nothing && haskey(keywordmemory, k) && keywordmemory[k] !== nothing
# skip
# some time input keyword is different than dict's key thus it skip update
# e.x. input key "tannin level" => "low to medium"
# dict key "wine tannin level" => "low to medium"
similar_k = checkSimilarKey(keywordmemory, k)
k = similar_k === nothing ? k : similar_k
if v === nothing && haskey(keywordmemory, similar_k) && keywordmemory[similar_k] !== nothing
# do not write value nothing if the key already has value
else
if haskey(keywordmemory, k)
println("before k $k v $(keywordmemory[k])") #BUG this function write null to a non-empty key
println("before k $k v $(keywordmemory[k])")
end
println("write k $k v $v")
keywordmemory[k] = v
@@ -991,7 +999,16 @@ function keywordMemoryUpdate!(keywordmemory::AbstractDict, newinfo::AbstractDict
end
function checkSimilarKey(dict::AbstractDict, key::AbstractString)
similar_k = nothing
for (k, v) in dict
if occursin(key, String(k))
similar_k = k
break
end
end
return similar_k
end