Documentation
¶
Index ¶
- Variables
- type AvailableFineTuningModelEnum
- type CancelFineTuningJobRequest
- type CancelFineTuningJobRequestBody
- type CancelFineTuningJobResponseBody
- type ChatMessageObject
- type ChatRoleEnum
- type Client
- type CompleteChatRequest
- type CompleteChatRequestBody
- type CompleteChatResponseBody
- type CompleteModerationRequest
- type CompleteModerationRequestBody
- type CompleteModerationResponseBody
- type Config
- type CreateFineTuningJobRequest
- type CreateFineTuningJobRequestBody
- type CreateFineTuningJobResponseBody
- type CreateImageRequest
- type CreateImageRequestBody
- type CreateSpeechRequest
- type CreateSpeechRequestBody
- type CreateSpeechResponseBody
- type CreateTranscriptionRequest
- type CreateTranscriptionRequestBody
- type CreateTranscriptionResponseBody
- type DeleteFileRequest
- type DeleteFileRequestBody
- type DeleteFileResponseBody
- type EmbeddingDataItem
- type EmbeddingRequest
- type EmbeddingRequestBody
- type EmbeddingResponseBody
- type EndpointEnum
- type FileObject
- type FineTuningJobObject
- type HyperparametersObject
- type ImageItem
- type ImageResponseBody
- type ListFilesRequest
- type ListFilesRequestBody
- type ListFilesResponseBody
- type ListFineTuningJobsRequest
- type ListFineTuningJobsRequestBody
- type ListFineTuningJobsResponseBody
- type ListModelRequest
- type ListModelResponseBody
- type ModelObject
- type ModerationCategoryObject
- type ModerationCategoryScoreObject
- type ModerationResultObject
- type PurposeEnum
- type ReplyChoiceObject
- type ReplyLogprobs
- type ResponseFormat
- type ResponseStatusError
- type RetrieveFileRequest
- type RetrieveFileRequestBody
- type RetrieveFileResponseBody
- type RetrieveFineTuningJobRequest
- type RetrieveFineTuningJobRequestBody
- type RetrieveFineTuningJobResponseBody
- type RetrieveModelRequest
- type RetrieveModelResponseBody
- type StreamingReplyChoiceObject
- type StreamingReplyObject
- type ToolFunction
- type Tools
- type UploadFileRequest
- type UploadFileRequestBody
- type UploadFileResponseBody
- type UsageObject
- type VoiceEnum
Constants ¶
This section is empty.
Variables ¶
var ( TextResponseFormat = &ResponseFormat{Type: "text"} // 返回文本格式 JsonObjectResponseFormat = &ResponseFormat{Type: "json_object"} // 返回json格式 )
聊天请求返回格式
Functions ¶
This section is empty.
Types ¶
type AvailableFineTuningModelEnum ¶ added in v1.2.4
type AvailableFineTuningModelEnum string
AvailableFineTuningModelEnum 可用的微调模型枚举值 reference https://platform.openai.com/docs/guides/fine-tuning
const ( AvailableFineTuningModelEnumGPT35 AvailableFineTuningModelEnum = "gpt-3.5-turbo-1106" // gpt3.5模型(default) AvailableFineTuningModelEnumDavinci AvailableFineTuningModelEnum = "davinci-002" // davinci模型 )
func (AvailableFineTuningModelEnum) String ¶ added in v1.2.4
func (afme AvailableFineTuningModelEnum) String() string
type CancelFineTuningJobRequest ¶ added in v1.2.4
type CancelFineTuningJobRequest struct {
Body CancelFineTuningJobRequestBody
}
CancelFineTuningJobRequest 取消微调任务请求
type CancelFineTuningJobRequestBody ¶ added in v1.2.4
type CancelFineTuningJobRequestBody struct {
ID string // 微调任务的唯一标识符
}
CancelFineTuningJobRequestBody 取消微调任务请求体 reference https://platform.openai.com/docs/api-reference/fine-tuning/cancel
type CancelFineTuningJobResponseBody ¶ added in v1.2.4
type CancelFineTuningJobResponseBody struct {
FineTuningJobObject
}
CancelFineTuningJobResponseBody 取消微调任务响应
type ChatMessageObject ¶
type ChatMessageObject struct { Role ChatRoleEnum `json:"role"` Content json.RawMessage `json:"content"` }
ChatMessageObject 聊天消息对象 reference https://platform.openai.com/docs/api-reference/chat/object
func (*ChatMessageObject) GetStringContent ¶ added in v1.2.19
func (co *ChatMessageObject) GetStringContent() string
type ChatRoleEnum ¶
type ChatRoleEnum string
ChatRoleEnum 聊天角色枚举 reference https://platform.openai.com/docs/guides/text-generation/chat-completions-api
const ( ChatRoleEnumSystem ChatRoleEnum = "system" // 系统,用于给模型进行提示的角色,一般用于给出prompt ChatRoleEnumAssistant ChatRoleEnum = "assistant" // 助手,模型一般使用该角色 ChatRoleEnumUser ChatRoleEnum = "user" // 用户,用户一般使用该角色 )
聊天角色枚举值
func (ChatRoleEnum) String ¶
func (cre ChatRoleEnum) String() string
type Client ¶
type Client interface { CalculateToken(inputs ...string) (tokens int) ListModels(ctx context.Context, req ListModelRequest) (resp ListModelResponseBody, err error) RetrieveModel(ctx context.Context, req RetrieveModelRequest) (resp RetrieveModelResponseBody, err error) GenerateImage(ctx context.Context, req CreateImageRequest) (resp ImageResponseBody, err error) CompleteChat(ctx context.Context, req CompleteChatRequest) (resp CompleteChatResponseBody, err error) CompleteStreamingChat(ctx context.Context, req CompleteChatRequest) (events <-chan StreamingReplyObject, err error) CreateSpeech(ctx context.Context, req CreateSpeechRequest) (resp CreateSpeechResponseBody, err error) CreateTranscription(ctx context.Context, req CreateTranscriptionRequest) (resp CreateTranscriptionResponseBody, err error) CompleteModeration(ctx context.Context, req CompleteModerationRequest) (resp CompleteModerationResponseBody, err error) Embedding(ctx context.Context, req EmbeddingRequest) (resp EmbeddingResponseBody, err error) CreateFineTuningJob(ctx context.Context, req CreateFineTuningJobRequest) (resp CreateFineTuningJobResponseBody, err error) RetrieveFineTuningJob(ctx context.Context, req RetrieveFineTuningJobRequest) (resp RetrieveFineTuningJobResponseBody, err error) ListFineTuningJobs(ctx context.Context, req ListFineTuningJobsRequest) (resp ListFineTuningJobsResponseBody, err error) CancelFineTuningJob(ctx context.Context, req CancelFineTuningJobRequest) (resp CancelFineTuningJobResponseBody, err error) UploadFile(ctx context.Context, req UploadFileRequest) (resp UploadFileResponseBody, err error) ListFiles(ctx context.Context, req ListFilesRequest) (resp ListFilesResponseBody, err error) DeleteFile(ctx context.Context, req DeleteFileRequest) (resp DeleteFileResponseBody, err error) RetrieveFile(ctx context.Context, req RetrieveFileRequest) (resp RetrieveFileResponseBody, err error) }
type CompleteChatRequest ¶
type CompleteChatRequest struct {
Body CompleteChatRequestBody
}
CompleteChatRequest 聊天请求 reference https://platform.openai.com/docs/api-reference/chat/create
type CompleteChatRequestBody ¶
type CompleteChatRequestBody struct { Model string `json:"model"` // 生成图片的模型 Messages []ChatMessageObject `json:"messages"` // 提问信息 Temperature float64 `json:"temperature,omitempty"` // 温度采样,0~2,越高越随机 TopP float64 `json:"top_p,omitempty"` // 核采样,0~1,和temperature只有一个能生效 N int `json:"n,omitempty"` // 需要多少消息回复 Stream bool `json:"stream,omitempty"` // 流式传输开关 MaxTokens int `json:"max_tokens,omitempty"` // 允许消耗的最大令牌数 PresencePenalty float64 `json:"presence_penalty,omitempty"` // 创新惩罚,-2~+2,越高越可能出现新东西 FrequencyPenalty float64 `json:"frequency_penalty,omitempty"` // 重复惩罚,-2~+2,越高越不可能重复 User string `json:"user,omitempty"` // 用户的唯一标识符,用于openai跟踪 LogitBias map[string]float64 `json:"logit_bias,omitempty"` // 对特定token的偏好 LogProbs bool `json:"logprobs,omitempty"` // 返回token的log概率 TopLogProbs int `json:"top_logprobs,omitempty"` // 返回token的top log概率 ResponseFormat *ResponseFormat `json:"response_format,omitempty"` // 返回格式,text 或者 json_object Seed int `json:"seed,omitempty"` // 随机种子 ServiceTier string `json:"service_tier,omitempty"` // 服务层级 Tools []Tools `json:"tools,omitempty"` // 模型可以调用的工具列表 ToolChoice any `json:"tool_choice,omitempty"` // 控制模型调用哪个(如果有)工具 StreamOptions json.RawMessage `json:"stream_options,omitempty"` // 流式传输选项 }
CompleteChatRequestBody 聊天请求体 reference https://platform.openai.com/docs/api-reference/chat/create
type CompleteChatResponseBody ¶
type CompleteChatResponseBody struct { ID string `json:"id"` // openai提供的回复id Object string `json:"object"` // openai标记的返回对象,此处固定为chat.completion Created int64 `json:"created"` // openai返回的消息回复时间 Choices []ReplyChoiceObject `json:"choices"` // openai的回复,一般情况下只有一个元素 Usage UsageObject `json:"usage"` // openai的token使用量 Model string `json:"model"` // openai的模型 ServiceTier string `json:"service_tier"` // openai的服务层级 SystemFingerprint string `json:"system_fingerprint"` // openai的系统指纹,与 seed 结合使用 }
CompleteChatResponseBody 聊天响应 reference https://platform.openai.com/docs/api-reference/chat/create
type CompleteModerationRequest ¶
type CompleteModerationRequest struct {
Body CompleteModerationRequestBody
}
CompleteModerationRequest 内容审核请求 reference https://platform.openai.com/docs/api-reference/moderations/create
type CompleteModerationRequestBody ¶
type CompleteModerationRequestBody struct { Model string `json:"model"` // 进行内容审核的模型 Input string `json:"input"` // 需要审核的文本 }
CompleteModerationRequestBody 内容审核请求体 reference https://platform.openai.com/docs/api-reference/moderations/create
type CompleteModerationResponseBody ¶
type CompleteModerationResponseBody struct { ID string `json:"id"` // openai提供的回复id Model string `json:"model"` // 进行内容审核的模型 Results []ModerationResultObject `json:"results"` // 内容审核结果 }
CompleteModerationResponseBody 内容审核响应 reference https://platform.openai.com/docs/api-reference/moderations/create
type Config ¶
type Config struct { ApiKey string `json:"api_key" yaml:"api_key" xml:"api_key"` BaseUrl string `json:"base_url,omitempty" yaml:"base_url,omitempty" xml:"base_url,omitempty"` BetaFeatures string `json:"beta_features,omitempty" yaml:"beta_features,omitempty" xml:"beta_features,omitempty"` CustomEndpoints map[string]string `json:"custom_endpoints,omitempty" yaml:"custom_endpoints,omitempty" xml:"custom_endpoints,omitempty"` CustomUserAgent string `json:"custom_user_agent,omitempty" yaml:"custom_user_agent,omitempty" xml:"custom_user_agent,omitempty"` }
type CreateFineTuningJobRequest ¶ added in v1.2.4
type CreateFineTuningJobRequest struct {
Body CreateFineTuningJobRequestBody
}
CreateFineTuningJobRequest 创建微调任务请求
type CreateFineTuningJobRequestBody ¶ added in v1.2.4
type CreateFineTuningJobRequestBody struct { Model string `json:"model"` // 进行微调的模型 TrainingFile string `json:"training_file"` // 微调任务的训练文件 ValidationFile string `json:"validation_file,omitempty"` // 微调任务的验证文件 Hyperparameters HyperparametersObject `json:"hyperparameters,omitempty"` // 微调任务的超参数 Suffix string `json:"suffix,omitempty"` // 微调任务的后缀 (Optional) }
CreateFineTuningJobRequestBody 创建微调任务请求体 reference https://platform.openai.com/docs/api-reference/fine-tuning/create
type CreateFineTuningJobResponseBody ¶ added in v1.2.4
type CreateFineTuningJobResponseBody struct {
FineTuningJobObject
}
CreateFineTuningJobResponseBody 创建微调任务响应
type CreateImageRequest ¶
type CreateImageRequest struct {
Body CreateImageRequestBody
}
CreateImageRequest 生成图片请求 reference https://platform.openai.com/docs/api-reference/images/create
type CreateImageRequestBody ¶
type CreateImageRequestBody struct { Prompt string `json:"prompt"` // 生成图片的提示 Model string `json:"model,omitempty"` // 生成图片的模型 N int `json:"n"` // 生成图片的数量,1~10之间 Size string `json:"size"` // 生成图片的尺寸,dall-e-2模型只支持256x256,512x512,1024x1024,dall-e-3模型只支持1024x1024,1792x1024,1024x1792 Quality string `json:"quality,omitempty"` // 质量,仅支持dall-e-3模型,标记为hd时生成的图片质量更高 Style string `json:"style,omitempty"` // 风格,仅支持dall-e-3模型,可以选择natural和vivid ResponseFormat string `json:"response_format,omitempty"` // 返回格式,url或者b64_json User string `json:"user,omitempty"` // 用户的唯一标识符,用于openai跟踪 }
CreateImageRequestBody 生成图片请求体 reference https://platform.openai.com/docs/api-reference/images/create
type CreateSpeechRequest ¶
type CreateSpeechRequest struct {
Body CreateSpeechRequestBody
}
CreateSpeechRequest 生成语音请求 reference https://platform.openai.com/docs/api-reference/audio/createSpeech
type CreateSpeechRequestBody ¶
type CreateSpeechRequestBody struct { Model string `json:"model"` // 生成语音的模型,目前支持tts-1和tts-1-hd Input string `json:"input"` // 需要生成语音的文本 Voice VoiceEnum `json:"voice"` // 生成语音的声音 ResponseFormat string `json:"response_format,omitempty"` // 返回格式,支持mp3,aac,flac,opus Speed float64 `json:"speed,omitempty"` // 语速,支持0.25~4.0,1.0为正常语速 }
CreateSpeechRequestBody 生成语音请求体 reference https://platform.openai.com/docs/api-reference/audio/createSpeech
type CreateSpeechResponseBody ¶
type CreateSpeechResponseBody []byte // openai生成的语音,根据response_format返回不同的格式
CreateSpeechResponseBody 生成语音响应 reference https://platform.openai.com/docs/api-reference/audio/createSpeech
type CreateTranscriptionRequest ¶
type CreateTranscriptionRequest struct {
FormBody CreateTranscriptionRequestBody
}
CreateTranscriptionRequest 生成转录请求 reference https://platform.openai.com/docs/api-reference/audio/createTranscription
type CreateTranscriptionRequestBody ¶
type CreateTranscriptionRequestBody struct { File io.Reader // 需要转录的音频文件 FileName string // 音频文件的名称 Model string // 进行音频转写的模型 Language string // 音频文件的语言,ISO-639-1标准 Prompt string // 音频文件的提示 ResponseFormat string // 返回格式,支持json和txt Temperature float64 // 温度采样,0~1,越高越随机 }
CreateTranscriptionRequestBody 生成转录请求体 reference https://platform.openai.com/docs/api-reference/audio/createTranscription
func (CreateTranscriptionRequestBody) ToMultiPartBody ¶
func (ctr CreateTranscriptionRequestBody) ToMultiPartBody() map[string]string
type CreateTranscriptionResponseBody ¶
type CreateTranscriptionResponseBody struct {
Text string `json:"text"` // openai生成的文本
}
CreateTranscriptionResponseBody 生成转录响应 reference https://platform.openai.com/docs/api-reference/audio/createTranscription
type DeleteFileRequest ¶ added in v1.2.4
type DeleteFileRequest struct {
Body DeleteFileRequestBody
}
DeleteFileRequest 删除文件请求
type DeleteFileRequestBody ¶ added in v1.2.4
type DeleteFileRequestBody struct {
ID string // 文件的唯一标识符
}
DeleteFileRequestBody 删除文件请求体 reference https://platform.openai.com/docs/api-reference/files/delete
type DeleteFileResponseBody ¶ added in v1.2.4
type DeleteFileResponseBody struct {
FileObject
}
DeleteFileResponseBody 删除文件响应
type EmbeddingDataItem ¶ added in v1.2.16
type EmbeddingDataItem struct { Object string `json:"object"` // 数据类型,一般为embedding Embedding []float64 `json:"embedding"` // 嵌入数据 Index int `json:"index"` // 嵌入数据的索引 }
EmbeddingDataItem 嵌入数据项
type EmbeddingRequest ¶ added in v1.2.16
type EmbeddingRequest struct {
Body EmbeddingRequestBody
}
EmbeddingRequest 嵌入请求
type EmbeddingRequestBody ¶ added in v1.2.16
type EmbeddingRequestBody struct { Input string `json:"input"` // 需要生成嵌入的文本 Model string `json:"model,omitempty"` // 进行嵌入的模型 }
EmbeddingRequestBody 嵌入请求体
type EmbeddingResponseBody ¶ added in v1.2.16
type EmbeddingResponseBody struct { Object string `json:"object"` // 数据类型,一般为 list Data []EmbeddingDataItem `json:"data"` // 嵌入数据 Model string `json:"model"` // 进行嵌入的模型 Usage UsageObject `json:"usage"` // openai的token使用量 }
EmbeddingResponseBody 嵌入响应
type EndpointEnum ¶
type EndpointEnum string
const ( EndpointEnumListModel EndpointEnum = "list_models" // 列出模型 EndpointEnumRetrieveModel EndpointEnum = "retrieve_model" // 检索模型 EndpointEnumCreateImage EndpointEnum = "create_image" // 创建图片 EndpointEnumCompleteChat EndpointEnum = "complete_chat" // 完成聊天 EndpointEnumCreateSpeech EndpointEnum = "create_speech" // 创建语音 EndpointEnumCreateTranscription EndpointEnum = "create_transcription" // 创建转录 EndpointEnumCompleteModeration EndpointEnum = "complete_moderation" // 完成审核 EndpointEnumEmbedding EndpointEnum = "embedding" EndpointEnumCreateFineTuningJob EndpointEnum = "create_fine_tuning" // 创建微调 EndpointEnumRetrieveFineTuningJob EndpointEnum = "retrieve_fine_tuning" // 检索微调 EndpointEnumListFineTuningJobs EndpointEnum = "list_fine_tuning" // 列出微调 EndpointEnumCancelFineTuningJob EndpointEnum = "cancel_fine_tuning" // 取消微调 EndpointEnumUploadFile EndpointEnum = "upload_file" // 上传文件 EndpointEnumListFiles EndpointEnum = "list_files" // 列出文件 EndpointEnumRetrieveFile EndpointEnum = "retrieve_file" // 检索文件 EndpointEnumDeleteFile EndpointEnum = "delete_file" // 删除文件 )
func (EndpointEnum) String ¶
func (e EndpointEnum) String() string
type FileObject ¶ added in v1.2.4
type FileObject struct { ID string `json:"id"` // 文件的唯一标识符 Bytes int64 `json:"bytes"` // 文件的大小 Created int64 `json:"created"` // 文件创建的时间 FileName string `json:"filename"` // 文件的名称 Object string `json:"object"` // 文件的类型,一定为file Purpose string `json:"purpose"` // 文件的用途, 可能的值见reference }
FileObject 文件对象 reference https://platform.openai.com/docs/api-reference/files/object
type FineTuningJobObject ¶ added in v1.2.4
type FineTuningJobObject struct { Object string `json:"object"` // 一般为fine-tuning.job(通过API创建的微调任务) ID string `json:"id"` // 微调任务的唯一标识符 Model string `json:"model"` // 进行微调的模型 CreatedAt int64 `json:"created_at"` // 微调任务创建的时间 FinishedAt int64 `json:"finished_at,omitempty"` // 微调任务结束的时间 (Optional) FineTunedModel string `json:"fine_tuned_model"` // 微调后的模型 OrganizationID string `json:"organization_id"` // 微调任务所属的组织 ResultFiles []string `json:"result_files"` // 微调任务的结果文件 Status string `json:"status"` // 微调任务的状态 ValidationFile interface{} `json:"validation_file,omitempty"` // 微调任务的验证文件 (Optional) TrainingFile string `json:"training_file"` // 微调任务的训练文件 Hyperparameters HyperparametersObject `json:"hyperparameters"` // 微调任务的超参数 TrainedTokens int `json:"trained_tokens"` // 微调任务的训练token数 }
FineTuningJobObject 微调任务对象 reference https://platform.openai.com/docs/api-reference/fine-tuning/object
type HyperparametersObject ¶ added in v1.2.4
type HyperparametersObject struct { NEpochs interface{} `json:"n_epochs"` // 训练的Epoch数, 一般为int或者"auto" BatchSize interface{} `json:"batch_size,omitempty"` // 每个batch的大小 LearningRateMultiplier interface{} `json:"learning_rate_multiplier,omitempty"` // 学习率乘数 }
HyperparametersObject 超参数对象
type ImageItem ¶
type ImageItem struct { Url string `json:"url,omitempty"` // openai生成的图片url,在response_format为url时返回,默认为url Base64 string `json:"b64_json,omitempty"` // openai生成的图片base64编码,在response_format为b64_json时返回 RevisedPrompt string `json:"revised_prompt,omitempty"` // openai生成的图片的提示,如果提示被修改了,会返回修改后的 }
ImageItem 生成的图片 reference https://platform.openai.com/docs/api-reference/images/object
type ImageResponseBody ¶
type ImageResponseBody struct { Created int64 `json:"created"` // openai返回的消息回复时间 Data []ImageItem `json:"data"` // openai生成的图片,一般情况下长度和请求的N一致 }
ImageResponseBody 生成图片响应 reference https://platform.openai.com/docs/api-reference/images/create
type ListFilesRequest ¶ added in v1.2.4
type ListFilesRequest struct {
Body ListFilesRequestBody
}
ListFilesRequest 列出文件请求
type ListFilesRequestBody ¶ added in v1.2.4
type ListFilesRequestBody struct {
Purpose string `json:"purpose,omitempty"` // 文件的用途
}
ListFilesRequestBody 列出文件请求体 reference https://platform.openai.com/docs/api-reference/files/list
type ListFilesResponseBody ¶ added in v1.2.4
type ListFilesResponseBody struct { Object string `json:"object"` // 一般为list Data []FileObject `json:"data"` // 文件列表 }
ListFilesResponseBody 列出文件响应
type ListFineTuningJobsRequest ¶ added in v1.2.4
type ListFineTuningJobsRequest struct {
Body ListFineTuningJobsRequestBody
}
ListFineTuningJobsRequest 列出微调任务请求
type ListFineTuningJobsRequestBody ¶ added in v1.2.4
type ListFineTuningJobsRequestBody struct { After string // 上一页最后一个微调任务的标识符,用于分页 Limit int // 每页的微调任务数量, 默认20 }
ListFineTuningJobsRequestBody 列出微调任务请求体 reference https://platform.openai.com/docs/api-reference/fine-tuning/list
type ListFineTuningJobsResponseBody ¶ added in v1.2.4
type ListFineTuningJobsResponseBody struct { Object string `json:"object"` // 一般为list Data []FineTuningJobObject `json:"data"` // 微调任务列表 HasMore bool `json:"has_more"` // 是否还有更多的微调任务 }
ListFineTuningJobsResponseBody 列出微调任务响应
type ListModelRequest ¶
type ListModelRequest struct{}
ListModelRequest 列出模型请求 reference https://platform.openai.com/docs/api-reference/models/list
type ListModelResponseBody ¶
type ListModelResponseBody struct { Object string `json:"object"` // 一般为list Data []ModelObject `json:"data"` // 模型列表 }
ListModelResponseBody 列出模型响应 reference https://platform.openai.com/docs/api-reference/models/list
type ModelObject ¶
type ModelObject struct { ID string `json:"id"` // 模型的唯一标识符 Created int64 `json:"created"` // 模型创建的时间 Object string `json:"object"` // 模型的类型,一般为model OwnedBy string `json:"owned_by,omitempty"` // 模型的所有者,一般为openai }
ModelObject 模型对象 reference https://platform.openai.com/docs/api-reference/models/object
type ModerationCategoryObject ¶
type ModerationCategoryObject struct { Sexual bool `json:"sexual"` // 性内容 Hate bool `json:"hate"` // 仇恨内容 Harassment bool `json:"harassment"` // 骚扰内容 SelfHarm bool `json:"self-harm"` // 自残内容 SexualMinors bool `json:"sexual/minors"` // 未成年人性内容 HateThreatening bool `json:"hate/threatening"` // 仇恨威胁内容 ViolenceGraphic bool `json:"violence/graphic"` // 暴力内容 SelfHarmIntent bool `json:"self-harm/intent"` // 自残意图内容 SelfHarmInstr bool `json:"self-harm/instructions"` // 自残指导内容 HarassmentThreatening bool `json:"harassment/threatening"` // 骚扰威胁内容 Violence bool `json:"violence"` // 暴力内容 }
ModerationCategoryObject 内容分类对象 reference: https://platform.openai.com/docs/api-reference/moderations/object
type ModerationCategoryScoreObject ¶
type ModerationCategoryScoreObject struct { Sexual float64 `json:"sexual"` // 性内容 Hate float64 `json:"hate"` // 仇恨内容 Harassment float64 `json:"harassment"` // 骚扰内容 SelfHarm float64 `json:"self-harm"` // 自残内容 SexualMinors float64 `json:"sexual/minors"` // 未成年人性内容 HateThreatening float64 `json:"hate/threatening"` // 仇恨威胁内容 ViolenceGraphic float64 `json:"violence/graphic"` // 暴力内容 SelfHarmIntent float64 `json:"self-harm/intent"` // 自残意图内容 SelfHarmInstr float64 `json:"self-harm/instructions"` // 自残指导内容 HarassmentThreatening float64 `json:"harassment/threatening"` // 骚扰威胁内容 Violence float64 `json:"violence"` // 暴力内容 }
ModerationCategoryScoreObject 内容分类得分对象 reference: https://platform.openai.com/docs/api-reference/moderations/object
type ModerationResultObject ¶
type ModerationResultObject struct { Flagged bool `json:"flagged"` // 是否被标记 Categories ModerationCategoryObject `json:"categories"` // 内容分类 CategoryScores ModerationCategoryScoreObject `json:"category_scores"` // 内容分类得分 }
ModerationResultObject 内容审核结果对象 reference: https://platform.openai.com/docs/api-reference/moderations/object
type PurposeEnum ¶ added in v1.2.4
type PurposeEnum string
PurposeEnum 可用的用途枚举值 reference https://platform.openai.com/docs/api-reference/files/create
const ( PurposeEnumFineTune PurposeEnum = "fine-tune" // 微调 PurposeEnumAssistants PurposeEnum = "assistants" // 助理 )
func (PurposeEnum) String ¶ added in v1.2.4
func (pe PurposeEnum) String() string
type ReplyChoiceObject ¶
type ReplyChoiceObject struct { Index int `json:"index"` // 回复序号 Message ChatMessageObject `json:"message"` // 回复信息 FinishReason string `json:"finish_reason"` // 停止回复原因 }
ReplyChoiceObject 回复选择对象 reference https://platform.openai.com/docs/api-reference/chat/object
type ReplyLogprobs ¶ added in v1.2.19
type ResponseFormat ¶ added in v1.2.16
type ResponseFormat struct {
Type string `json:"type,omitempty"` // 返回格式,支持 json_object 和 text
}
ResponseFormat 聊天请求返回格式 reference https://platform.openai.com/docs/api-reference/chat/create#chat-create-response_format
type ResponseStatusError ¶ added in v1.2.12
type ResponseStatusError struct { StatusCode int `json:"status_code"` Status string `json:"status"` }
func (*ResponseStatusError) Error ¶ added in v1.2.12
func (e *ResponseStatusError) Error() string
type RetrieveFileRequest ¶ added in v1.2.4
type RetrieveFileRequest struct {
Body RetrieveFileRequestBody
}
RetrieveFileRequest 获取文件请求
type RetrieveFileRequestBody ¶ added in v1.2.4
type RetrieveFileRequestBody struct {
ID string // 文件的唯一标识符
}
RetrieveFileRequestBody 获取文件请求体 reference https://platform.openai.com/docs/api-reference/files/retrieve
type RetrieveFileResponseBody ¶ added in v1.2.4
type RetrieveFileResponseBody struct {
FileObject
}
RetrieveFileResponseBody 获取文件响应
type RetrieveFineTuningJobRequest ¶ added in v1.2.4
type RetrieveFineTuningJobRequest struct {
Body RetrieveFineTuningJobRequestBody
}
RetrieveFineTuningJobRequest 获取微调任务请求
type RetrieveFineTuningJobRequestBody ¶ added in v1.2.4
type RetrieveFineTuningJobRequestBody struct {
ID string // 微调任务的唯一标识符
}
RetrieveFineTuningJobRequestBody 获取微调任务请求 reference https://platform.openai.com/docs/api-reference/fine-tuning/retrieve
type RetrieveFineTuningJobResponseBody ¶ added in v1.2.4
type RetrieveFineTuningJobResponseBody struct {
FineTuningJobObject
}
RetrieveFineTuningJobResponseBody 获取微调任务响应
type RetrieveModelRequest ¶
type RetrieveModelRequest struct {
Model string // 模型的唯一标识符
}
RetrieveModelRequest 获取模型请求 reference https://platform.openai.com/docs/api-reference/models/retrieve
type RetrieveModelResponseBody ¶
type RetrieveModelResponseBody struct {
ModelObject // 模型对象
}
RetrieveModelResponseBody 获取模型响应 reference https://platform.openai.com/docs/api-reference/models/retrieve
type StreamingReplyChoiceObject ¶ added in v1.2.19
type StreamingReplyChoiceObject struct { Index int `json:"index"` Delta struct { Content string `json:"content"` } `json:"delta"` Logprobs ReplyLogprobs `json:"logprobs"` FinishReason string `json:"finish_reason"` }
type StreamingReplyObject ¶ added in v1.2.19
type StreamingReplyObject struct { Id string `json:"id"` Object string `json:"object"` Created int `json:"created"` Model string `json:"model"` Choices []StreamingReplyChoiceObject `json:"choices"` SystemFingerprint string `json:"system_fingerprint"` Usage *UsageObject `json:"usage,omitempty"` }
type ToolFunction ¶ added in v1.2.16
type ToolFunction struct { Name string `json:"name,omitempty"` // 工具函数名称 Description string `json:"description,omitempty"` // 工具函数描述 Parameters any `json:"parameters,omitempty"` // 工具函数参数 }
ToolFunction 聊天请求工具函数 reference https://platform.openai.com/docs/api-reference/chat/create#chat-create-tools-function
type Tools ¶ added in v1.2.16
type Tools struct { Type string `json:"type,omitempty"` // 工具类型,目前只有 function Function ToolFunction `json:"function,omitempty"` // 工具函数 }
Tools 聊天请求工具 reference https://platform.openai.com/docs/api-reference/chat/create#chat-create-tools
type UploadFileRequest ¶ added in v1.2.4
type UploadFileRequest struct {
FormBody UploadFileRequestBody
}
UploadFileRequest 文件上传请求
type UploadFileRequestBody ¶ added in v1.2.4
type UploadFileRequestBody struct { File io.Reader `json:"file"` // 需要上传的文件 FileName string `json:"filename"` // 文件的名称, openai不需要此字段 Purpose string `json:"purpose"` // 文件的用途 }
UploadFileRequestBody 文件上传请求体 reference https://platform.openai.com/docs/api-reference/files/create
func (UploadFileRequestBody) ToMultiPartBody ¶ added in v1.2.4
func (ufr UploadFileRequestBody) ToMultiPartBody() map[string]string
type UploadFileResponseBody ¶ added in v1.2.4
type UploadFileResponseBody struct {
FileObject
}
UploadFileResponseBody 文件上传响应 reference https://platform.openai.com/docs/api-reference/files/create
type UsageObject ¶
type UsageObject struct { PromptTokens int `json:"prompt_tokens"` // 提问token消耗 CompletionTokens int `json:"completion_tokens"` // 回复token消耗 TotalTokens int `json:"total_tokens"` // 全部token消耗 }
UsageObject token使用量对象 reference https://platform.openai.com/docs/api-reference/chat/object
type VoiceEnum ¶
type VoiceEnum string
const ( VoiceEnumAlloy VoiceEnum = "alloy" // alloy音色,成年女性,中性声音 VoiceEnumEcho VoiceEnum = "echo" // echo音色,成年男性,中性声音 VoiceEnumFable VoiceEnum = "fable" // fable音色,成年女性,中性声音 VoiceEnumOnyx VoiceEnum = "onyx" // onyx音色,成年男性,低沉声音 VoiceEnumNova VoiceEnum = "nova" // nova音色,成年女性,年轻声音 VoiceEnumShimmer VoiceEnum = "shimmer" // shimmer音色,成年女性,中性声音 )
语音枚举值