openai

package
v1.2.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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 string       `json:"content"`
}

ChatMessageObject 聊天消息对象 reference https://platform.openai.com/docs/api-reference/chat/object

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 {
	ListModels(req ListModelRequest) (resp ListModelResponseBody, err error)
	RetrieveModel(req RetrieveModelRequest) (resp RetrieveModelResponseBody, err error)
	GenerateImage(req CreateImageRequest) (resp ImageResponseBody, err error)
	CompleteChat(req CompleteChatRequest) (resp CompleteChatResponseBody, err error)
	CreateSpeech(req CreateSpeechRequest) (resp CreateSpeechResponseBody, err error)
	CreateTranscription(req CreateTranscriptionRequest) (resp CreateTranscriptionResponseBody, err error)
	CompleteModeration(req CompleteModerationRequest) (resp CompleteModerationResponseBody, err error)

	CreateFineTuningJob(req CreateFineTuningJobRequest) (resp CreateFineTuningJobResponseBody, err error)
	RetrieveFineTuningJob(req RetrieveFineTuningJobRequest) (resp RetrieveFineTuningJobResponseBody, err error)
	ListFineTuningJobs(req ListFineTuningJobsRequest) (resp ListFineTuningJobsResponseBody, err error)
	CancelFineTuningJob(req CancelFineTuningJobRequest) (resp CancelFineTuningJobResponseBody, err error)
	UploadFile(req UploadFileRequest) (resp UploadFileResponseBody, err error)
	ListFiles(req ListFilesRequest) (resp ListFilesResponseBody, err error)
	DeleteFile(req DeleteFileRequest) (resp DeleteFileResponseBody, err error)
	RetrieveFile(req RetrieveFileRequest) (resp RetrieveFileResponseBody, err error)
}

func NewClient

func NewClient(options Config, logger logger.Logger) Client

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跟踪
}

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使用量
}

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 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"  // 完成审核
	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 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 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音色,成年女性,中性声音
)

语音枚举值

func (VoiceEnum) String

func (ve VoiceEnum) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL