Flutter OpenAI接口集成插件openai_sdk的使用
Flutter OpenAI接口集成插件openai_sdk的使用
openai_sdk (EXPERIMENTAL)
APIs for sampling from and fine-tuning language models
这个Dart包是由OpenAPI Generator项目自动生成的:
- API版本: 1.2.0
- 构建包: org.openapitools.codegen.languages.DartDioClientCodegen
Requirements
- Dart 2.15.0+ 或 Flutter 2.8.0+
- Dio 5.0.0+ (https://pub.dev/packages/dio)
Installation & Usage
pub.dev
要从pub.dev使用该包,请在pubspec.yaml
中添加以下内容:
dependencies:
openai_sdk: 0.0.1
Github
如果此Dart包发布到Github,请在pubspec.yaml
中添加以下内容:
dependencies:
openai_sdk:
git:
url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
#ref: main
Local Development
要在本地驱动器上使用该包,请在pubspec.yaml
中添加以下内容:
dependencies:
openai_sdk:
path: /path/to/openai_sdk
Getting Started
请按照安装步骤操作,然后运行以下代码:
import 'package:openai_sdk/openai_sdk.dart';
void main() async {
// 初始化OpenAI API
final api = OpenaiSdk().getOpenAIApi();
// 示例:创建一个文本补全请求
final CreateCompletionRequest request = CreateCompletionRequest(
model: "text-davinci-002", // 模型名称
prompt: "你好,世界!", // 输入提示
maxTokens: 50, // 最大生成长度
);
try {
// 调用API并获取响应
final response = await api.createCompletion(request);
print("生成结果: ${response.choices.first.text}");
} catch (e) {
print("调用API时出错: $e");
}
}
Documentation for API Endpoints
所有URI均相对于https://api.openai.com/v1
类别 | 方法 | HTTP 请求 | 描述 |
---|---|---|---|
OpenAIApi | cancelFineTune | POST /fine-tunes/{fine_tune_id}/cancel | 立即取消一个微调任务 |
OpenAIApi | createAnswer | POST /answers | 使用提供的文档和示例回答指定问题 |
OpenAIApi | createChatCompletion | POST /chat/completions | 创建聊天消息的补全 |
OpenAIApi | createClassification | POST /classifications | 使用提供的示例对指定查询进行分类 |
OpenAIApi | createCompletion | POST /completions | 根据提供的提示和参数创建补全 |
OpenAIApi | createEdit | POST /edits | 根据输入、指令和参数创建新的编辑 |
OpenAIApi | createEmbedding | POST /embeddings | 创建表示输入文本的嵌入向量 |
OpenAIApi | createFile | POST /files | 上传包含文档的文件以供各个端点使用 |
OpenAIApi | createFineTune | POST /fine-tunes | 从给定数据集中微调指定模型 |
OpenAIApi | createImage | POST /images/generations | 根据提示生成图像 |
OpenAIApi | createImageEdit | POST /images/edits | 根据原始图像和提示创建编辑或扩展图像 |
OpenAIApi | createImageVariation | POST /images/variations | 创建给定图像的变体 |
OpenAIApi | createModeration | POST /moderations | 判断文本是否违反OpenAI的内容政策 |
OpenAIApi | createSearch | POST /engines/{engine_id}/search | 计算提供的查询与文档之间的相似分数 |
OpenAIApi | createTranscription | POST /audio/transcriptions | 将音频转录为输入语言 |
OpenAIApi | createTranslation | POST /audio/translations | 将音频翻译为英语 |
OpenAIApi | deleteFile | DELETE /files/{file_id} | 删除文件 |
OpenAIApi | deleteModel | DELETE /models/{model} | 删除微调模型(必须具有组织所有者角色) |
OpenAIApi | downloadFile | GET /files/{file_id}/content | 返回指定文件的内容 |
OpenAIApi | listEngines | GET /engines | 列出当前可用的非微调模型,并提供基本信息 |
OpenAIApi | listFiles | GET /files | 返回属于用户组织的所有文件列表 |
OpenAIApi | listFineTuneEvents | GET /fine-tunes/{fine_tune_id}/events | 获取微调任务的详细状态更新 |
OpenAIApi | listFineTunes | GET /fine-tunes | 列出组织的微调任务 |
OpenAIApi | listModels | GET /models | 列出当前可用的模型,并提供基本信息 |
OpenAIApi | retrieveEngine | GET /engines/{engine_id} | 检索模型实例并提供基本信息 |
OpenAIApi | retrieveFile | GET /files/{file_id} | 返回有关特定文件的信息 |
OpenAIApi | retrieveFineTune | GET /fine-tunes/{fine_tune_id} | 获取微调任务的信息 |
OpenAIApi | retrieveModel | GET /models/{model} | 检索模型实例并提供模型的基本信息 |
Documentation For Models
- ChatCompletionRequestMessage
- ChatCompletionResponseMessage
- CreateAnswerRequest
- CreateAnswerRequestStop
- CreateAnswerResponse
- CreateAnswerResponseSelectedDocumentsInner
- CreateChatCompletionRequest
- CreateChatCompletionRequestStop
- CreateChatCompletionResponse
- CreateChatCompletionResponseChoicesInner
- CreateClassificationRequest
- CreateClassificationResponse
- CreateClassificationResponseSelectedExamplesInner
- CreateCompletionRequest
- CreateCompletionRequestPrompt
- CreateCompletionRequestStop
- CreateCompletionResponse
- CreateCompletionResponseChoicesInner
- CreateCompletionResponseChoicesInnerLogprobs
- CreateCompletionResponseUsage
- CreateEditRequest
- CreateEditResponse
- CreateEmbeddingRequest
- CreateEmbeddingRequestInput
- CreateEmbeddingResponse
- CreateEmbeddingResponseDataInner
- CreateEmbeddingResponseUsage
- CreateFineTuneRequest
- CreateImageRequest
- CreateModerationRequest
- CreateModerationRequestInput
- CreateModerationResponse
- CreateModerationResponseResultsInner
- CreateModerationResponseResultsInnerCategories
- CreateModerationResponseResultsInnerCategoryScores
- CreateSearchRequest
- CreateSearchResponse
- CreateSearchResponseDataInner
- CreateTranscriptionResponse
- CreateTranslationResponse
- DeleteFileResponse
- DeleteModelResponse
- Engine
- FineTune
- FineTuneEvent
- ImagesResponse
- ImagesResponseDataInner
- ListEnginesResponse
- ListFilesResponse
- ListFineTuneEventsResponse
- ListFineTunesResponse
- ListModelsResponse
- Model
- OpenAIFile
Documentation For Authorization
所有端点都不需要授权。
示例代码
以下是一个完整的示例代码,展示如何使用openai_sdk
创建文本补全任务:
import 'package:flutter/material.dart';
import 'package:openai_sdk/openai_sdk.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('OpenAI SDK 示例')),
body: Center(child: TextButton(
onPressed: () async {
// 初始化OpenAI API
final api = OpenaiSdk().getOpenAIApi();
// 创建补全请求
final CreateCompletionRequest request = CreateCompletionRequest(
model: "text-davinci-002",
prompt: "你好,世界!",
maxTokens: 50,
);
try {
// 调用API并获取响应
final response = await api.createCompletion(request);
print("生成结果: ${response.choices.first.text}");
} catch (e) {
print("调用API时出错: $e");
}
},
child: Text('调用OpenAI API'),
)),
),
);
}
}
更多关于Flutter OpenAI接口集成插件openai_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复