Class Assistant
Renamed from AssistantObject to Assistant (2024.06.14)
Inherited Members
Namespace: Glitch9.AIDevKit.OpenAI
Assembly: Glitch9.AIDevKit.Provider.OpenAI.dll
Syntax
public class Assistant : OpenAIObject, IData, IHasId<string>, IHasName
Properties
| Edit this page View SourceCodeInterpreterEnabled
Declaration
[JsonIgnore]
public bool CodeInterpreterEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
CreatedAt
The Unix timestamp (in seconds) of when this object was created.
Declaration
[JsonProperty("created_at")]
public UnixTime? CreatedAt { get; set; }
Property Value
| Type | Description |
|---|---|
| UnixTime? |
Description
The description of the Assistant. The maximum length is 512 characters.
Declaration
[JsonProperty("description")]
public string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
FileSearchEnabled
Declaration
[JsonIgnore]
public bool FileSearchEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Instructions
The System instructions that the Assistant uses. The maximum length is 32768 characters.
Declaration
[JsonProperty("instructions")]
public string Instructions { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Metadata
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
Declaration
[JsonProperty("metadata")]
public ServerDictionary Metadata { get; set; }
Property Value
| Type | Description |
|---|---|
| ServerDictionary |
Model
ID of the model.
Declaration
[JsonProperty("model")]
public string Model { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Name
The name of the Assistant. The maximum length is 256 characters.
Declaration
[JsonProperty("name")]
public string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ResponseFormat
Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 Turbo, and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting to { "type": "json_object" } enables JSON mode, which guarantees the message the model generates is valid JSON.
Declaration
[JsonProperty("response_format")]
public ResponseFormat ResponseFormat { get; set; }
Property Value
| Type | Description |
|---|---|
| ResponseFormat |
Remarks
Important: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if finish_reason="length", which indicates the generation exceeded max_tokens or the conversation exceeded the max context length.
Temperature
[Legacy] A list of file IDs attached to this AssistantObject. There can be a maximum of 20 files attached to the AssistantObject. Files are ordered by their creation date in ascending order.
Declaration
[JsonProperty("temperature")]
public float? Temperature { get; set; }
Property Value
| Type | Description |
|---|---|
| float? |
ToolResources
A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs.
Declaration
[JsonProperty("tool_resources")]
public ToolResources ToolResources { get; set; }
Property Value
| Type | Description |
|---|---|
| ToolResources |
Tools
A list of Tool enabled on the Assistant. There can be a maximum of 128 tools per AssistantObject. Tools can be of types code_interpreter, retrieval, or Function.
Declaration
[JsonProperty("tools")]
public List<ToolEnvelope> Tools { get; set; }
Property Value
| Type | Description |
|---|---|
| List<ToolEnvelope> |
TopP
An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.
Declaration
[JsonProperty("top_p")]
public float? TopP { get; set; }
Property Value
| Type | Description |
|---|---|
| float? |