Flutter OpenAI集成插件openai_flutter的使用

Flutter OpenAI集成插件openai_flutter的使用

如何使用

Step1: 初始化配置

首先,您需要初始化配置,并传入您的API密钥。

AIConfigBuilder.init('your apiKey');

Step2: 获取一个完成结果

接下来,您可以使用AICompletion()类来获取生成的文本。以下是一个完整的示例:

import 'package:flutter/material.dart';
import 'package:openai_flutter/openai_flutter.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 Flutter 示例"),
        ),
        body: Center(
          child: MyButton(),
        ),
      ),
    );
  }
}

class MyButton extends StatefulWidget {
  [@override](/user/override)
  _MyButtonState createState() => _MyButtonState();
}

class _MyButtonState extends State<MyButton> {
  String resultText = '';

  [@override](/user/override)
  void initState() {
    super.initState();
    // 初始化配置
    AIConfigBuilder.init('your apiKey');
  }

  void fetchCompletion() async {
    try {
      // 创建并发送请求
      var response = await AICompletion().create(prompt: '讲个故事', maxTokens: 1000);
      var choices = response.choices?.first;
      setState(() {
        resultText = '结果: ${choices?.text}';
      });
    } catch (e) {
      setState(() {
        resultText = '错误: $e';
      });
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        ElevatedButton(
          onPressed: fetchCompletion,
          child: Text("获取故事"),
        ),
        SizedBox(height: 20),
        Text(resultText),
      ],
    );
  }
}

更多关于Flutter OpenAI集成插件openai_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter OpenAI集成插件openai_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


openai_flutter 是一个用于在 Flutter 应用中集成 OpenAI API 的插件。它允许你轻松地与 OpenAI 的各种服务(如 GPT-3、DALL-E 等)进行交互。以下是如何使用 openai_flutter 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 openai_flutter 依赖:

dependencies:
  flutter:
    sdk: flutter
  openai_flutter: ^1.0.0  # 请确保使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 初始化 OpenAI 客户端

在你的 Dart 代码中,初始化 OpenAI 客户端。你需要一个 OpenAI API 密钥,可以从 OpenAI 获取。

import 'package:openai_flutter/openai_flutter.dart';

void main() async {
  final openai = OpenAIClient(apiKey: 'your_openai_api_key');
}

3. 使用 OpenAI 服务

你可以使用 openai_flutter 来调用 OpenAI 的各种服务。以下是一些常见的用例:

3.1 文本生成(GPT-3)

void generateText() async {
  final prompt = "Once upon a time";
  final response = await openai.complete(
    prompt: prompt,
    maxTokens: 50,
  );

  print(response.choices[0].text);
}

3.2 图像生成(DALL-E)

void generateImage() async {
  final prompt = "A futuristic cityscape";
  final response = await openai.generateImage(
    prompt: prompt,
    n: 1,  // 生成1张图片
    size: "1024x1024",
  );

  print(response.data[0].url);
}

3.3 聊天模型(ChatGPT)

void chat() async {
  final messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Who won the world series in 2020?"},
  ];

  final response = await openai.chat(
    messages: messages,
    maxTokens: 50,
  );

  print(response.choices[0].message['content']);
}

4. 处理错误

在使用 API 时,可能会遇到错误,例如无效的 API 密钥或超出配额。你可以使用 try-catch 块来处理这些错误:

void generateText() async {
  try {
    final prompt = "Once upon a time";
    final response = await openai.complete(
      prompt: prompt,
      maxTokens: 50,
    );

    print(response.choices[0].text);
  } catch (e) {
    print("An error occurred: $e");
  }
}
回到顶部