ember.cpp 0.1.0
C++ inference engine for Llama-family and paperkiln models (CPU, CUDA, WebAssembly)
Loading...
Searching...
No Matches
chat_request.h File Reference
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
#include <nlohmann/json.hpp>
#include "chat_tokenizer.h"
Include dependency graph for chat_request.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ember::RequestError
 
struct  ember::Conversation
 
struct  ember::ChatPrompt
 

Namespaces

namespace  ember
 
namespace  ember::detail
 

Functions

int ember::detail::thinking_field (const nlohmann::json &v, const char *name)
 
bool ember::detail::tool_turns (const chat::Template *t)
 
void ember::detail::refuse_tools_v1 (const nlohmann::json &r)
 
std::vector< chat::json > ember::detail::tool_definitions (const nlohmann::json &r, const chat::json &ordered)
 
std::string ember::detail::history_content (const nlohmann::json &h, size_t i, bool calls_may_omit=false)
 
void ember::detail::refuse_tool_members_v1 (const nlohmann::json &m, const std::string &at)
 
std::pair< std::string, std::string > ember::detail::history_pair (const nlohmann::json &h, size_t i)
 
chat::Message ember::detail::tool_turn_message (const std::string &role, const std::string &content, const nlohmann::json &m)
 
void ember::detail::push_system (std::vector< chat::Message > &m, const std::string &s)
 
chat::json ember::ordered_tools (const std::string &body)
 
Conversation ember::chat_conversation_tools (const nlohmann::json &r, const chat::json &tools)
 
Conversation ember::chat_conversation (const nlohmann::json &r, const chat::Template *t=nullptr, const chat::json &tools=chat::json())
 
std::string ember::openai_content (const nlohmann::json &m, size_t i)
 
void ember::detail::openai_thinking (const nlohmann::json &body, Conversation &c)
 
Conversation ember::openai_conversation_tools (const nlohmann::json &body, const chat::json &tools)
 
Conversation ember::openai_conversation (const nlohmann::json &body, const chat::Template *t=nullptr, const chat::json &tools=chat::json())
 
template<class Count >
ChatPrompt ember::build_general_prompt (const ChatFormat &f, const Conversation &c, int max_new, int ctx, Count count)
 
template<class Count >
ChatPrompt ember::build_chat_prompt (const ChatFormat &f, const Conversation &c, int max_new, int ctx, Count count)