mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-01 16:08:30 +00:00
Support adding messages completely defined by json.
This commit is contained in:
@@ -717,6 +717,17 @@ void TracyLlm::AddMessageBlocking( std::string&& str, const char* role, std::uni
|
||||
if( lock ) lock.unlock();
|
||||
}
|
||||
|
||||
void TracyLlm::AddMessageBlocking( nlohmann::json&& json, std::unique_lock<std::mutex>& lock )
|
||||
{
|
||||
auto dump = json.dump();
|
||||
const auto tokens = m_api ? m_api->Tokenize( dump, m_modelIdx ) : -1;
|
||||
m_usedCtx += tokens >= 0 ? tokens : dump.size() / 4;
|
||||
|
||||
if( lock ) lock.lock();
|
||||
m_chat.emplace_back( std::move( json ) );
|
||||
if( lock ) lock.unlock();
|
||||
}
|
||||
|
||||
void TracyLlm::AddAttachment( std::string&& str, const char* role )
|
||||
{
|
||||
AddMessage( "<attachment>\n" + std::move( str ), role );
|
||||
|
||||
@@ -62,6 +62,7 @@ private:
|
||||
void QueueConnect();
|
||||
|
||||
void AddMessageBlocking( std::string&& str, const char* role, std::unique_lock<std::mutex>& lock );
|
||||
void AddMessageBlocking( nlohmann::json&& json, std::unique_lock<std::mutex>& lock );
|
||||
|
||||
void ManageContext( std::unique_lock<std::mutex>& lock );
|
||||
void SendMessage( std::unique_lock<std::mutex>& lock );
|
||||
|
||||
Reference in New Issue
Block a user