Skip to main content

linger_openai_sdk/
lib.rs

1//! EN: Rust-native SDK for OpenAI APIs.
2//! 中文:面向 OpenAI API 的 Rust 原生 SDK。
3
4pub mod assistants;
5pub mod audio;
6pub mod batches;
7pub mod chat;
8pub mod chatkit;
9pub mod completions;
10pub mod containers;
11pub mod conversations;
12pub mod embeddings;
13pub mod error;
14pub mod evals;
15pub mod files;
16pub mod fine_tuning;
17pub mod images;
18pub mod models;
19pub mod moderations;
20pub mod realtime;
21pub mod responses;
22pub mod retry;
23pub mod skills;
24pub mod stream;
25pub mod threads;
26pub mod transport;
27pub mod uploads;
28pub mod vector_stores;
29pub mod videos;
30pub mod webhooks;
31
32mod client;
33mod config;
34
35pub use crate::assistants::{
36    Assistant, AssistantDeletion, AssistantListOrder, AssistantListRequest,
37    AssistantListRequestBuilder, AssistantPage, CreateAssistantRequest,
38    CreateAssistantRequestBuilder, ModifyAssistantRequest, ModifyAssistantRequestBuilder,
39};
40pub use crate::audio::{
41    AudioSpeechResponse, AudioTranscription, AudioTranslation, AudioUpload, AudioVoice,
42    AudioVoiceConsent, AudioVoiceConsentDeletion, AudioVoiceConsentListRequest,
43    AudioVoiceConsentListRequestBuilder, AudioVoiceConsentPage, CreateSpeechRequest,
44    CreateSpeechRequestBuilder, CreateTranscriptionRequest, CreateTranscriptionRequestBuilder,
45    CreateTranslationRequest, CreateTranslationRequestBuilder, CreateVoiceConsentRequest,
46    CreateVoiceConsentRequestBuilder, CreateVoiceRequest, CreateVoiceRequestBuilder,
47    UpdateVoiceConsentRequest, UpdateVoiceConsentRequestBuilder,
48};
49pub use crate::batches::{
50    Batch, BatchListPage, BatchRequestCounts, CreateBatchRequest, CreateBatchRequestBuilder,
51};
52pub use crate::chat::{
53    ChatCompletion, ChatCompletionChoice, ChatCompletionDeletion, ChatCompletionMessage,
54    ChatCompletionMessagePage, ChatCompletionPage, ChatCompletionStoredMessage,
55    ChatCompletionUsage, ChatMessage, CreateChatCompletionRequest,
56    CreateChatCompletionRequestBuilder, ModifyChatCompletionRequest,
57    ModifyChatCompletionRequestBuilder,
58};
59pub use crate::chatkit::{
60    ChatKitSession, ChatKitSessionExpiration, ChatKitSessionRateLimitOverrides,
61    ChatKitSessionRateLimits, ChatKitThread, ChatKitThreadDeletion, ChatKitThreadItemPage,
62    ChatKitThreadPage, ChatKitWorkflow, ChatKitWorkflowParam, CreateChatKitSessionRequest,
63    CreateChatKitSessionRequestBuilder,
64};
65pub use crate::client::{
66    AssistantsResource, AudioResource, AudioSpeechResource, AudioVoiceConsentsResource,
67    AudioVoicesResource, BatchesResource, ChatCompletionMessagesResource, ChatCompletionsResource,
68    ChatKitResource, ChatKitSessionsResource, ChatKitThreadsResource, ChatResource, Client,
69    CompletionsResource, ContainerFilesResource, ContainersResource, ConversationItemsResource,
70    ConversationsResource, EmbeddingsResource, EvalRunOutputItemsResource, EvalRunsResource,
71    EvalsResource, FilesResource, FineTuningAlphaGradersResource, FineTuningAlphaResource,
72    FineTuningCheckpointPermissionsResource, FineTuningCheckpointsResource, FineTuningJobsResource,
73    FineTuningResource, ImagesResource, ModelsResource, ModerationsResource, RealtimeCallsResource,
74    RealtimeClientSecretsResource, RealtimeResource, RealtimeSessionsResource,
75    RealtimeTranscriptionSessionsResource, RealtimeTranslationClientSecretsResource,
76    RealtimeTranslationsResource, ResponsesResource, RunStepsResource, SkillVersionsResource,
77    SkillsResource, ThreadMessagesResource, ThreadRunsResource, ThreadsResource,
78    UploadPartsResource, UploadsResource, VectorStoreFileBatchesResource, VectorStoreFilesResource,
79    VectorStoresResource, VideoCharactersResource, VideosResource,
80};
81pub use crate::completions::{
82    Completion, CompletionChoice, CompletionLogprobs, CompletionPrompt,
83    CompletionPromptTokenDetails, CompletionStop, CompletionStream, CompletionStreamEvent,
84    CompletionStreamItem, CompletionTokenDetails, CompletionUsage, CreateCompletionRequest,
85    CreateCompletionRequestBuilder,
86};
87pub use crate::config::{ClientConfig, ClientConfigBuilder};
88pub use crate::containers::{
89    Container, ContainerDeletion, ContainerFile, ContainerFileContent, ContainerFileDeletion,
90    ContainerFilePage, ContainerFileUpload, ContainerPage, CreateContainerFileRequest,
91    CreateContainerFileRequestBuilder, CreateContainerRequest, CreateContainerRequestBuilder,
92};
93pub use crate::conversations::{
94    Conversation, ConversationDeletion, ConversationItem, ConversationItemDeletion,
95    ConversationItemPage, CreateConversationItemRequest, CreateConversationItemRequestBuilder,
96    CreateConversationRequest, CreateConversationRequestBuilder, ModifyConversationRequest,
97    ModifyConversationRequestBuilder,
98};
99pub use crate::embeddings::{
100    CreateEmbeddingRequest, CreateEmbeddingRequestBuilder, Embedding, EmbeddingEncodingFormat,
101    EmbeddingInput, EmbeddingResponse, EmbeddingUsage,
102};
103pub use crate::error::{
104    ApiError, ApiErrorBody, ErrorKind, HeaderMap, LingerError, OpenAiError, RequestId,
105    RetryExhausted,
106};
107pub use crate::evals::{
108    CreateEvalRequest, CreateEvalRequestBuilder, CreateEvalRunRequest, CreateEvalRunRequestBuilder,
109    Eval, EvalDeletion, EvalPage, EvalRun, EvalRunDeletion, EvalRunOutputItem,
110    EvalRunOutputItemPage, EvalRunPage, ModifyEvalRequest, ModifyEvalRequestBuilder,
111};
112pub use crate::files::{
113    CreateFileRequest, CreateFileRequestBuilder, FileContent, FileDeletion, FileExpirationPolicy,
114    FileObject, FileUpload, FilesPage,
115};
116pub use crate::fine_tuning::{
117    CreateFineTuningCheckpointPermissionRequest, CreateFineTuningJobRequest,
118    CreateFineTuningJobRequestBuilder, FineTuningCheckpoint, FineTuningCheckpointPage,
119    FineTuningCheckpointPermission, FineTuningCheckpointPermissionDeletion,
120    FineTuningCheckpointPermissionPage, FineTuningEvent, FineTuningEventPage, FineTuningGraderRun,
121    FineTuningGraderValidation, FineTuningJob, FineTuningJobPage, RunFineTuningGraderRequest,
122    RunFineTuningGraderRequestBuilder, ValidateFineTuningGraderRequest,
123    ValidateFineTuningGraderRequestBuilder,
124};
125pub use crate::images::{
126    CreateImageEditRequest, CreateImageEditRequestBuilder, CreateImageRequest,
127    CreateImageRequestBuilder, CreateImageVariationRequest, CreateImageVariationRequestBuilder,
128    Image, ImageInput, ImageTokenDetails, ImageUpload, ImageUsage, ImagesResponse,
129};
130pub use crate::models::{Model, ModelDeletion, ModelsPage};
131pub use crate::moderations::{
132    CreateModerationRequest, CreateModerationRequestBuilder, ModerationCreateResponse,
133    ModerationImageUrl, ModerationInput, ModerationInputItem, ModerationResult,
134};
135pub use crate::realtime::{
136    CreateRealtimeCallReferRequest, CreateRealtimeCallReferRequestBuilder,
137    CreateRealtimeCallRequest, CreateRealtimeCallRequestBuilder, CreateRealtimeClientSecretRequest,
138    CreateRealtimeClientSecretRequestBuilder, CreateRealtimeSessionRequest,
139    CreateRealtimeSessionRequestBuilder, CreateRealtimeTranscriptionSessionRequest,
140    CreateRealtimeTranscriptionSessionRequestBuilder, CreateRealtimeTranslationClientSecretRequest,
141    CreateRealtimeTranslationClientSecretRequestBuilder, CreateRealtimeTranslationSessionRequest,
142    CreateRealtimeTranslationSessionRequestBuilder, RealtimeCallBodyFormat, RealtimeCallSdpAnswer,
143    RealtimeClientSecret, RealtimeClientSecretValue, RealtimeSession, RealtimeSessionConfig,
144    RealtimeSessionConfigBuilder, RealtimeTranscriptionSession, RealtimeTranslationClientSecret,
145    RejectRealtimeCallRequest, RejectRealtimeCallRequestBuilder,
146};
147pub use crate::responses::{
148    CompactResponseRequest, CompactResponseRequestBuilder, CreateResponseInputTokensRequest,
149    CreateResponseInputTokensRequestBuilder, CreateResponseRequest, CreateResponseRequestBuilder,
150    Response, ResponseAllowedToolsMode, ResponseApplyPatchTool,
151    ResponseCodeInterpreterAutoContainer, ResponseCodeInterpreterContainer,
152    ResponseCodeInterpreterMemoryLimit, ResponseCodeInterpreterTool, ResponseCompaction,
153    ResponseComputerEnvironment, ResponseComputerTool, ResponseContent, ResponseContextManagement,
154    ResponseContextManagementType, ResponseConversation, ResponseCustomTool,
155    ResponseCustomToolFormat, ResponseCustomToolGrammarSyntax, ResponseDeletion,
156    ResponseFileSearchTool, ResponseFunctionTool, ResponseHostedToolChoice,
157    ResponseImageGenerationAction, ResponseImageGenerationBackground,
158    ResponseImageGenerationInputFidelity, ResponseImageGenerationMask,
159    ResponseImageGenerationModeration, ResponseImageGenerationOutputFormat,
160    ResponseImageGenerationQuality, ResponseImageGenerationTool, ResponseInclude, ResponseInput,
161    ResponseInputItem, ResponseInputItemContent, ResponseInputItemMessage, ResponseInputItemsPage,
162    ResponseInputMessage, ResponseInputMessageContent, ResponseInputTokens, ResponseLocalShellTool,
163    ResponseMcpAllowedTools, ResponseMcpApprovalFilter, ResponseMcpApprovalMode,
164    ResponseMcpConnector, ResponseMcpRequireApproval, ResponseMcpTool, ResponseMcpToolFilter,
165    ResponseModeration, ResponseNamespaceTool, ResponseOutput, ResponseOutputMessage,
166    ResponsePrompt, ResponsePromptCacheRetention, ResponseReasoning, ResponseReasoningBuilder,
167    ResponseReasoningEffort, ResponseReasoningSummary, ResponseServiceTier, ResponseShellTool,
168    ResponseStream, ResponseStreamEvent, ResponseStreamItem, ResponseTextConfig,
169    ResponseTextFormat, ResponseTextJsonSchemaFormat, ResponseTextVerbosity, ResponseTool,
170    ResponseToolChoice, ResponseToolSearchExecution, ResponseToolSearchTool, ResponseTruncation,
171    ResponseUsage, ResponseWebSearchContextSize, ResponseWebSearchTool, ResponseWebSearchToolType,
172    StreamOptions, StreamOptionsBuilder,
173};
174pub use crate::retry::{NoopRetrySleeper, RetryDecision, RetryPolicy, RetrySleeper};
175pub use crate::skills::{
176    CreateSkillRequest, CreateSkillRequestBuilder, CreateSkillVersionRequest,
177    CreateSkillVersionRequestBuilder, Skill, SkillContent, SkillDeletion, SkillListOrder,
178    SkillListRequest, SkillListRequestBuilder, SkillPage, SkillUpload, SkillVersion,
179    SkillVersionDeletion, SkillVersionListOrder, SkillVersionListRequest,
180    SkillVersionListRequestBuilder, SkillVersionPage, UpdateSkillRequest,
181    UpdateSkillRequestBuilder,
182};
183pub use crate::threads::{
184    CreateThreadAndRunRequest, CreateThreadAndRunRequestBuilder, CreateThreadMessageRequest,
185    CreateThreadMessageRequestBuilder, CreateThreadRequest, CreateThreadRequestBuilder,
186    CreateThreadRunRequest, CreateThreadRunRequestBuilder, ModifyThreadMessageRequest,
187    ModifyThreadMessageRequestBuilder, ModifyThreadRequest, ModifyThreadRequestBuilder,
188    ModifyThreadRunRequest, ModifyThreadRunRequestBuilder, RunStep, RunStepListOrder,
189    RunStepListRequest, RunStepListRequestBuilder, RunStepPage, RunStepRetrieveRequest,
190    RunStepRetrieveRequestBuilder, SubmitToolOutput, SubmitToolOutputsRequest,
191    SubmitToolOutputsRequestBuilder, Thread, ThreadDeletion, ThreadMessage, ThreadMessageDeletion,
192    ThreadMessageListOrder, ThreadMessageListRequest, ThreadMessageListRequestBuilder,
193    ThreadMessagePage, ThreadRun, ThreadRunListOrder, ThreadRunListRequest,
194    ThreadRunListRequestBuilder, ThreadRunPage,
195};
196pub use crate::transport::{
197    HttpMethod, HttpRequest, HttpRequestBody, HttpResponse, SharedTransport, Transport,
198};
199pub use crate::uploads::{
200    CompleteUploadRequest, CompleteUploadRequestBuilder, CreateUploadPartRequest,
201    CreateUploadPartRequestBuilder, CreateUploadRequest, CreateUploadRequestBuilder, Upload,
202    UploadPart, UploadPartData, UploadStatus,
203};
204pub use crate::vector_stores::{
205    CreateVectorStoreFileBatchRequest, CreateVectorStoreFileBatchRequestBuilder,
206    CreateVectorStoreFileRequest, CreateVectorStoreFileRequestBuilder, CreateVectorStoreRequest,
207    CreateVectorStoreRequestBuilder, CreateVectorStoreSearchRequest,
208    CreateVectorStoreSearchRequestBuilder, ModifyVectorStoreFileRequest,
209    ModifyVectorStoreFileRequestBuilder, ModifyVectorStoreRequest, ModifyVectorStoreRequestBuilder,
210    VectorStore, VectorStoreDeletion, VectorStoreFile, VectorStoreFileBatch,
211    VectorStoreFileContent, VectorStoreFileContentPage, VectorStoreFileCounts,
212    VectorStoreFileDeletion, VectorStoreFilePage, VectorStorePage, VectorStoreSearchPage,
213    VectorStoreSearchResult,
214};
215pub use crate::videos::{
216    CreateVideoCharacterRequest, CreateVideoCharacterRequestBuilder, CreateVideoEditRequest,
217    CreateVideoEditRequestBuilder, CreateVideoExtensionRequest, CreateVideoExtensionRequestBuilder,
218    CreateVideoRemixRequest, CreateVideoRemixRequestBuilder, CreateVideoRequest,
219    CreateVideoRequestBuilder, Video, VideoCharacter, VideoContent, VideoContentVariant,
220    VideoDeletion, VideoError, VideoPage, VideoReferenceInput, VideoUpload,
221};
222pub use crate::webhooks::WebhookVerifier;