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');
  }
}
1 回复

更多关于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 方法允许你自定义多个参数,例如 temperaturetopPn 等,以控制 GPT 模型的行为。

final response = await privateGPTApi.sendPrompt(
  prompt: 'Explain quantum mechanics.',
  maxTokens: 200,
  temperature: 0.7,
  topP: 0.9,
  n: 2,
);
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!