module interface # export using JSON3, DataStructures #------------------------------------------------------------------------------------------------100 @kwdef mutable struct agent sessionId::Int= 1 maxConversation::Int= 10 """ Dict(Role=> Content) ; Role can be system, user, assistant Example: messages=[ Dict(:role=>"system", :content=> "You are a helpful assistant."), Dict(:role=>"assistant", :content=> "How may I help you"), Dict(:role=>"user", :content=> "Hello, how are you"), ] """ # Ref: https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/discussions/3 # messages=[Dict(:role=>"system", :content=> "You are a helpful assistant."),] end function addNewMessage(a::agent, role::String, content::String) d = Dict(:role=> role, :content=> content) push!(a.messages, d) end function clearMessage(a::agent) for i in eachindex(a.messages) pop!(a.messages) end end end # module