update
This commit is contained in:
@@ -3,7 +3,8 @@ module interface
|
|||||||
export addNewMessage, conversation, decisionMaker, evaluator, reflector, generatechat,
|
export addNewMessage, conversation, decisionMaker, evaluator, reflector, generatechat,
|
||||||
generalconversation, detectWineryName
|
generalconversation, detectWineryName
|
||||||
|
|
||||||
using JSON3, DataStructures, Dates, UUIDs, HTTP, Random, PrettyPrinting, Serialization
|
using JSON3, DataStructures, Dates, UUIDs, HTTP, Random, PrettyPrinting, Serialization,
|
||||||
|
DataFrames
|
||||||
using GeneralUtils
|
using GeneralUtils
|
||||||
using ..type, ..util, ..llmfunction
|
using ..type, ..util, ..llmfunction
|
||||||
|
|
||||||
@@ -940,6 +941,7 @@ function generatechat(a::sommelier, thoughtDict)
|
|||||||
You should follow the following guidelines:
|
You should follow the following guidelines:
|
||||||
- Focus on the latest conversation.
|
- Focus on the latest conversation.
|
||||||
- If the user interrupts, prioritize the user
|
- If the user interrupts, prioritize the user
|
||||||
|
- Be honest
|
||||||
- Medium and full-bodied red wines should not be paired with spicy foods.
|
- Medium and full-bodied red wines should not be paired with spicy foods.
|
||||||
|
|
||||||
You should then respond to the user with:
|
You should then respond to the user with:
|
||||||
@@ -1313,90 +1315,13 @@ function generatequestion(a, text2textInstructLLM::Function; recent=nothing)::St
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# function generateSituationReport(a, text2textInstructLLM::Function; skiprecent::Integer=0
|
|
||||||
# )::Dict
|
|
||||||
|
|
||||||
# systemmsg =
|
|
||||||
# """
|
|
||||||
# You are an assistant being in the given events.
|
|
||||||
# Your task is to writes a summary for each event in an ongoing, interleaving series.
|
|
||||||
|
|
||||||
# At each round of conversation, you will be given the situation:
|
|
||||||
# Total events: number of events you need to summarize.
|
|
||||||
# Events timeline: ...
|
|
||||||
# Context: ...
|
|
||||||
|
|
||||||
# You should then respond to the user with:
|
|
||||||
# event: a detailed summary for each event without exaggerated details.
|
|
||||||
|
|
||||||
# You must only respond in format as described below:
|
|
||||||
# Event_1: ...
|
|
||||||
# Event_2: ...
|
|
||||||
# ...
|
|
||||||
|
|
||||||
# Here are some examples:
|
|
||||||
# Event_1: The user ask me about where to buy a toy.
|
|
||||||
# Event_2: I told the user to go to the store at 2nd floor.
|
|
||||||
|
|
||||||
# Let's begin!
|
|
||||||
# """
|
|
||||||
|
|
||||||
# if length(a.memory[:events]) <= skiprecent
|
|
||||||
# return Dict(:recap => "None")
|
|
||||||
# end
|
|
||||||
|
|
||||||
# events = deepcopy(a.memory[:events][1:end-skiprecent])
|
|
||||||
|
|
||||||
# timeline = ""
|
|
||||||
# for (i, event) in enumerate(events)
|
|
||||||
# if event[:outcome] === nothing
|
|
||||||
# timeline *= "$i) $(event[:subject])> $(event[:actioninput])\n"
|
|
||||||
# else
|
|
||||||
# timeline *= "$i) $(event[:subject])> $(event[:actioninput]) $(event[:outcome])\n"
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
|
|
||||||
# errornote = ""
|
|
||||||
# response = nothing # store for show when error msg show up
|
|
||||||
|
|
||||||
# for attempt in 1:10
|
|
||||||
# usermsg = """
|
|
||||||
# Total events: $(length(events))
|
|
||||||
# Events timeline: $timeline
|
|
||||||
# $errornote
|
|
||||||
# """
|
|
||||||
|
|
||||||
# _prompt =
|
|
||||||
# [
|
|
||||||
# Dict(:name => "system", :text => systemmsg),
|
|
||||||
# Dict(:name => "user", :text => usermsg)
|
|
||||||
# ]
|
|
||||||
|
|
||||||
# # put in model format
|
|
||||||
# prompt = GeneralUtils.formatLLMtext(_prompt; formatname="llama3instruct")
|
|
||||||
# prompt *= """
|
|
||||||
# <|start_header_id|>assistant<|end_header_id|>
|
|
||||||
# """
|
|
||||||
|
|
||||||
# response = text2textInstructLLM(prompt)
|
|
||||||
# # responsedict = GeneralUtils.textToDict(response,
|
|
||||||
# # ["summary", "presented", "selected"],
|
|
||||||
# # rightmarker=":", symbolkey=true)
|
|
||||||
# println("\n~~~ generateSituationReport() ", Dates.now(), " ", @__FILE__, " ", @__LINE__)
|
|
||||||
# pprintln(response)
|
|
||||||
|
|
||||||
# return Dict(:recap => response)
|
|
||||||
# end
|
|
||||||
# error("generateSituationReport failed to generate a response ", response)
|
|
||||||
# end
|
|
||||||
|
|
||||||
function generateSituationReport(a, text2textInstructLLM::Function; skiprecent::Integer=0
|
function generateSituationReport(a, text2textInstructLLM::Function; skiprecent::Integer=0
|
||||||
)::OrderedDict
|
)::OrderedDict
|
||||||
|
|
||||||
systemmsg =
|
systemmsg =
|
||||||
"""
|
"""
|
||||||
You are an assistant being in the given events.
|
You are an assistant being in the given events.
|
||||||
Your task is to writes a summary for each event in an ongoing, interleaving series.
|
Your task is to writes a summary for each event seperately into an ongoing, interleaving series.
|
||||||
|
|
||||||
At each round of conversation, you will be given the situation:
|
At each round of conversation, you will be given the situation:
|
||||||
Total events: number of events you need to summarize.
|
Total events: number of events you need to summarize.
|
||||||
|
|||||||
Reference in New Issue
Block a user