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 |
模型文档
以下是插件中使用的模型类列表:
ChatBody
ChatBodyContextFilter
Chunk
ChunksBody
ChunksResponse
CompletionsBody
Content
ContextFilter
DocMetadata
DocsIds
Embedding
EmbeddingsBody
EmbeddingsResponse
FinishReason
HTTPValidationError
HealthResponse
IngestResponse
IngestTextBody
IngestedDoc
Input
NextTexts
OpenAIChoice
OpenAIChoiceDelta
OpenAIChoiceMessage
OpenAICompletion
OpenAIDelta
OpenAIMessage
PreviousTexts
Sources
SystemPrompt
ValidationError
ValidationErrorLocInner
授权说明
所有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
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,
);