Guitar
Public Member Functions | Public Attributes | List of all members
AiChatResponseParser Struct Reference

AIプロバイダーごとのJSONレスポンスを解析するビジタークラス。 More...

Inheritance diagram for AiChatResponseParser:
Inheritance graph
[legend]
Collaboration diagram for AiChatResponseParser:
Collaboration graph
[legend]

Public Member Functions

 AiChatResponseParser (GenerativeAI::Model model, std::string_view const &in)
 
AiResult parse_openai_chat_completions_format ()
 OpenAI Chat Completions 形式のレスポンスを解析する。 More...
 
AiResult case_Unknown ()
 未知プロバイダー:空の結果を返す More...
 
AiResult case_OpenAI_responses ()
 OpenAI Responses API 形式のレスポンスを解析する。 More...
 
AiResult case_OpenAI_chat_completions ()
 OpenAI Chat Completions 形式(共通実装に委譲) More...
 
AiResult parse_responses (GenerativeAI::ProviderID provider_id)
 Anthropic Claude のレスポンスを解析する。 More...
 
AiResult case_Anthropic ()
 
AiResult case_Google ()
 Google Gemini のレスポンスを解析する。 More...
 
AiResult case_XAI ()
 xAI:OpenAI Chat Completions 互換形式 More...
 
AiResult case_PFN ()
 PFN:OpenAI Chat Completions 互換形式 More...
 
AiResult case_Kimi ()
 
AiResult case_Sakura ()
 Sakura:OpenAI Chat Completions 互換形式 More...
 
AiResult case_DeepSeek ()
 DeepSeek:OpenAI Chat Completions 互換形式 More...
 
AiResult case_OpenRouter ()
 OpenRouter:OpenAI Chat Completions 互換形式 More...
 
AiResult case_Ollama ()
 Ollama のレスポンスを解析する。 More...
 
AiResult case_LMStudio ()
 LM Studio:OpenAI Chat Completions 互換形式 More...
 
AiResult case_LLAMACPP ()
 llama.cpp:OpenAI Chat Completions 互換形式 More...
 
- Public Member Functions inherited from GenerativeAI::AbstractVisitor< AiResult >
virtual ~AbstractVisitor ()=default
 
virtual AiResult case_OpenAI ()
 
AiResult visit (ProviderID provider)
 

Public Attributes

GenerativeAI::Model model
 
jstream::Reader reader
 

Detailed Description

AIプロバイダーごとのJSONレスポンスを解析するビジタークラス。

GenerativeAI::AbstractVisitor を継承し、プロバイダーの種類に応じた JSONパス走査ロジックを各 case_* メソッドで実装する。

Constructor & Destructor Documentation

◆ AiChatResponseParser()

AiChatResponseParser::AiChatResponseParser ( GenerativeAI::Model  model,
std::string_view const &  in 
)
inline

Member Function Documentation

◆ case_Anthropic()

AiResult AiChatResponseParser::case_Anthropic ( )
inlinevirtual

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_DeepSeek()

AiResult AiChatResponseParser::case_DeepSeek ( )
inlinevirtual

DeepSeek:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_Google()

AiResult AiChatResponseParser::case_Google ( )
inlinevirtual

Google Gemini のレスポンスを解析する。

Returns
解析結果

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_Kimi()

AiResult AiChatResponseParser::case_Kimi ( )
inlinevirtual

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_LLAMACPP()

AiResult AiChatResponseParser::case_LLAMACPP ( )
inlinevirtual

llama.cpp:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_LMStudio()

AiResult AiChatResponseParser::case_LMStudio ( )
inlinevirtual

LM Studio:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_Ollama()

AiResult AiChatResponseParser::case_Ollama ( )
inlinevirtual

Ollama のレスポンスを解析する。

Ollama は独自フォーマットで、生成テキストが "response" キーに入る。

Returns
解析結果

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_OpenAI_chat_completions()

AiResult AiChatResponseParser::case_OpenAI_chat_completions ( )
inlinevirtual

OpenAI Chat Completions 形式(共通実装に委譲)

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_OpenAI_responses()

AiResult AiChatResponseParser::case_OpenAI_responses ( )
inlinevirtual

OpenAI Responses API 形式のレスポンスを解析する。

Returns
解析結果

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_OpenRouter()

AiResult AiChatResponseParser::case_OpenRouter ( )
inlinevirtual

OpenRouter:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_PFN()

AiResult AiChatResponseParser::case_PFN ( )
inlinevirtual

PFN:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_Sakura()

AiResult AiChatResponseParser::case_Sakura ( )
inlinevirtual

Sakura:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_Unknown()

AiResult AiChatResponseParser::case_Unknown ( )
inlinevirtual

未知プロバイダー:空の結果を返す

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ case_XAI()

AiResult AiChatResponseParser::case_XAI ( )
inlinevirtual

xAI:OpenAI Chat Completions 互換形式

Implements GenerativeAI::AbstractVisitor< AiResult >.

Here is the call graph for this function:

◆ parse_openai_chat_completions_format()

AiResult AiChatResponseParser::parse_openai_chat_completions_format ( )
inline

OpenAI Chat Completions 形式のレスポンスを解析する。

DeepSeek / OpenRouter / LM Studio / llama.cpp など、 OpenAI 互換 API を使うプロバイダーで共通利用する。

Returns
解析結果
Here is the call graph for this function:

◆ parse_responses()

AiResult AiChatResponseParser::parse_responses ( GenerativeAI::ProviderID  provider_id)
inline

Anthropic Claude のレスポンスを解析する。

Returns
解析結果
Here is the call graph for this function:

Member Data Documentation

◆ model

GenerativeAI::Model AiChatResponseParser::model

◆ reader

jstream::Reader AiChatResponseParser::reader

The documentation for this struct was generated from the following file: