Flutter私有GPT API集成插件private_gpt_api的使用
Flutter私有GPT API集成插件private_gpt_api的使用
开发背景
本插件为Flutter开发者提供了一种方便的方式,通过private_gpt_api插件调用私有的GPT API。该插件由Dart语言编写,并通过OpenAPI Generator生成。
使用说明
1. 安装插件
方法一:从GitHub安装
如果插件已发布到GitHub仓库,请在pubspec.yaml文件中添加以下依赖:
dependencies:
private_gpt_api:
git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
方法二:本地安装
如果插件存储在本地路径,请将以下内容添加到pubspec.yaml文件中:
dependencies:
private_gpt_api:
path: /path/to/private_gpt_api
2. 配置环境
确保你的开发环境满足以下条件:
- Dart SDK版本为2.12或更高。
快速开始
初始化插件
首先,导入插件并初始化API实例:
import 'package:private_gpt_api/api.dart';
// 初始化API实例
final api_instance = ContextChunksApi();
// 创建请求体对象
final chunksBody = ChunksBody();
调用API方法
接下来,调用插件提供的API方法。例如,调用chunksRetrievalV1ChunksPost方法:
try {
// 执行API调用
final result = api_instance.chunksRetrievalV1ChunksPost(chunksBody);
// 打印返回结果
print(result);
} catch (e) {
// 捕获异常并打印错误信息
print('Exception when calling ContextChunksApi->chunksRetrievalV1ChunksPost: $e\n');
}
API文档
以下是所有可用的API端点及其描述:
| 类别 | 方法名 | HTTP 请求 | 描述 |
|---|---|---|---|
| ContextChunksApi | chunksRetrievalV1ChunksPost | POST /v1/chunks | Chunks Retrieval |
| ContextualCompletionsApi | chatCompletionV1ChatCompletionsPost | POST /v1/chat/completions | Chat Completion |
| ContextualCompletionsApi | promptCompletionV1CompletionsPost | POST /v1/completions | Completion |
| EmbeddingsApi | embeddingsGenerationV1EmbeddingsPost | POST /v1/embeddings | Embeddings Generation |
| HealthApi | healthHealthGet | GET /health | Health |
| IngestionApi | deleteIngestedV1IngestDocIdDelete | DELETE /v1/ingest/{doc_id} | Delete Ingested |
| IngestionApi | ingestFileV1IngestFilePost | POST /v1/ingest/file | Ingest File |
| IngestionApi | ingestTextV1IngestTextPost | POST /v1/ingest/text | Ingest Text |
| IngestionApi | ingestV1IngestPost | POST /v1/ingest | Ingest |
| IngestionApi | listIngestedV1IngestListGet | GET /v1/ingest/list | List Ingested |
模型文档
以下是插件中使用的模型类列表:
ChatBodyChatBodyContextFilterChunkChunksBodyChunksResponseCompletionsBodyContentContextFilterDocMetadataDocsIdsEmbeddingEmbeddingsBodyEmbeddingsResponseFinishReasonHTTPValidationErrorHealthResponseIngestResponseIngestTextBodyIngestedDocInputNextTextsOpenAIChoiceOpenAIChoiceDeltaOpenAIChoiceMessageOpenAICompletionOpenAIDeltaOpenAIMessagePreviousTextsSourcesSystemPromptValidationErrorValidationErrorLocInner
授权说明
所有API端点均无需授权即可调用。
示例代码
以下是一个完整的示例代码,展示如何使用插件调用chunksRetrievalV1ChunksPost方法:
import 'package:private_gpt_api/api.dart';
void main() async {
try {
// 初始化API实例
final api_instance = ContextChunksApi();
// 创建请求体对象
final chunksBody = ChunksBody();
// 调用API方法
final result = await api_instance.chunksRetrievalV1ChunksPost(chunksBody);
// 打印返回结果
print('Result: $result');
} catch (e) {
// 捕获异常并打印错误信息
print('Exception: $e');
}
}
更多关于Flutter私有GPT API集成插件private_gpt_api的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter私有GPT API集成插件private_gpt_api的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
private_gpt_api 是一个用于在 Flutter 应用中集成私有 GPT API 的插件。它允许开发者与自定义或私有的 GPT 模型进行交互,而无需依赖 OpenAI 的公共 API。以下是如何在 Flutter 项目中使用 private_gpt_api 插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml 文件中添加 private_gpt_api 插件的依赖。
dependencies:
flutter:
sdk: flutter
private_gpt_api: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get 来获取依赖。
2. 初始化 PrivateGPTApi
在需要使用 private_gpt_api 的地方,导入包并初始化 PrivateGPTApi 实例。
import 'package:private_gpt_api/private_gpt_api.dart';
final privateGPTApi = PrivateGPTApi(
baseUrl: 'https://your-private-gpt-api-endpoint.com', // 你的私有GPT API的基地址
apiKey: 'your-api-key', // 你的API密钥
);
3. 发送请求与GPT模型交互
你可以使用 PrivateGPTApi 实例来发送请求并获取 GPT 模型的响应。以下是一个简单的示例,展示如何发送提示并获取响应。
Future<void> fetchGPTResponse() async {
try {
final response = await privateGPTApi.sendPrompt(
prompt: 'Hello, GPT! How are you?',
maxTokens: 50,
);
print('GPT Response: ${response.choices[0].text}');
} catch (e) {
print('Error: $e');
}
}
4. 处理响应
sendPrompt 方法返回一个 GPTResponse 对象,其中包含 GPT 模型的响应。你可以根据需要处理这些响应。
final response = await privateGPTApi.sendPrompt(
prompt: 'Tell me a joke.',
maxTokens: 100,
);
if (response.choices.isNotEmpty) {
print('Joke: ${response.choices[0].text}');
} else {
print('No response received.');
}
5. 处理错误
在使用 API 时,可能会遇到网络错误或 API 错误。确保你处理了这些错误,以便应用能够优雅地处理异常情况。
try {
final response = await privateGPTApi.sendPrompt(
prompt: 'What is the meaning of life?',
maxTokens: 50,
);
print('Response: ${response.choices[0].text}');
} on ApiException catch (e) {
print('API Error: ${e.message}');
} catch (e) {
print('Unexpected Error: $e');
}
6. 自定义请求参数
sendPrompt 方法允许你自定义多个参数,例如 temperature、topP、n 等,以控制 GPT 模型的行为。
final response = await privateGPTApi.sendPrompt(
prompt: 'Explain quantum mechanics.',
maxTokens: 200,
temperature: 0.7,
topP: 0.9,
n: 2,
);

