A class that interacts with OpenAI's ChatGPT API for text generation, inheriting from MLFunction.
More...
#include <ChatGPT.h>
|
| | ChatGPT () |
| | Default constructor.
|
| |
| | ChatGPT (std::string url, std::string model) |
| | Constructor with custom URL and model.
|
| |
| | ~ChatGPT () |
| | Destructor.
|
| |
| void | apply (const SelectivityVector &rows, std::vector< VectorPtr > &args, const TypePtr &type, exec::EvalCtx &context, VectorPtr &output) const override |
| | Applies the ChatGPT function to the input array.
|
| |
| float * | getTensor () const override |
| | Returns the tensor associated with this function.
|
| |
| CostEstimate | getCost (std::vector< int > inputDims) |
| | Estimates the computational cost of applying the ChatGPT function.
|
| |
|
virtual | ~MLFunction ()=default |
| | Virtual destructor.
|
| |
| virtual std::vector< int > | getDims () |
| | Returns the dimensions of the function.
|
| |
| virtual std::string | getFuncName () |
| | Returns the name of the function.
|
| |
| virtual int | getNumDims () |
| | Returns the number of dimensions of the function.
|
| |
|
| static std::vector< std::shared_ptr< exec::FunctionSignature > > | signatures () |
| | Returns the function signatures supported by this class.
|
| |
| static std::string | getName () |
| | Returns the name of the function.
|
| |
|
| double | getWeightedCost (std::string name, float cost) |
| | Calculates the weighted cost of the function.
|
| |
| std::vector< double > | getCoefficientVector (std::string name) |
| | Retrieves the cost coefficients for the function.
|
| |
|
std::vector< int > | dims |
| | Dimensions of the function.
|
| |
A class that interacts with OpenAI's ChatGPT API for text generation, inheriting from MLFunction.
This class provides functionality to send text prompts to the ChatGPT API and retrieve generated responses. It supports multi-threaded requests for improved performance.
◆ ChatGPT() [1/2]
Default constructor.
Initializes the ChatGPT API with the default URL and model ("gpt-3.5-turbo"). Requires the OPENAI_API_KEY environment variable to be set.
◆ ChatGPT() [2/2]
| ChatGPT::ChatGPT |
( |
std::string | url, |
|
|
std::string | model ) |
|
inline |
Constructor with custom URL and model.
Initializes the ChatGPT API with a custom URL and model. Requires the OPENAI_API_KEY environment variable to be set.
- Parameters
-
| url | The URL of the OpenAI API endpoint. |
| model | The model to use for text generation (e.g., "gpt-3.5-turbo"). |
◆ ~ChatGPT()
Destructor.
Logs the total number of input tokens, output tokens, and API failures to a file.
◆ apply()
| void ChatGPT::apply |
( |
const SelectivityVector & | rows, |
|
|
std::vector< VectorPtr > & | args, |
|
|
const TypePtr & | type, |
|
|
exec::EvalCtx & | context, |
|
|
VectorPtr & | output ) const |
|
inlineoverride |
Applies the ChatGPT function to the input array.
This method processes the input array, sends text prompts to the ChatGPT API, and stores the generated responses in the output vector.
- Parameters
-
| rows | A SelectivityVector specifying the rows to process. |
| args | A vector of input arguments (e.g., the input text prompts). |
| type | The type of the output vector. |
| context | The execution context. |
| output | The output vector where the generated responses will be stored. |
◆ getCost()
| CostEstimate ChatGPT::getCost |
( |
std::vector< int > | inputDims | ) |
|
|
inlinevirtual |
Estimates the computational cost of applying the ChatGPT function.
- Parameters
-
| inputDims | A vector containing the dimensions of the input. |
- Returns
- A CostEstimate object representing the estimated cost.
Reimplemented from MLFunction.
◆ getName()
| static std::string ChatGPT::getName |
( |
| ) |
|
|
inlinestatic |
Returns the name of the function.
- Returns
- The name of the function as a string ("chatgpt").
◆ getTensor()
| float * ChatGPT::getTensor |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns the tensor associated with this function.
- Returns
- A null pointer (no tensor is associated with this function).
Implements MLFunction.
◆ signatures()
| static std::vector< std::shared_ptr< exec::FunctionSignature > > ChatGPT::signatures |
( |
| ) |
|
|
inlinestatic |
Returns the function signatures supported by this class.
- Returns
- A vector of shared pointers to FunctionSignature objects.
The documentation for this class was generated from the following file: