Flutter OpenAI ChatGPT助手插件openai_chatgpt_assistant的使用

Flutter OpenAI ChatGPT助手插件openai_chatgpt_assistant的使用

通过OpenAI的助手API为您的Flutter应用添加强大的AI功能。该插件允许您构建能够执行多种任务的AI助手。(非官方插件)

如何使用(Beta版)

助手API旨在帮助开发者构建能够执行多种任务的强大AI助手。

注意:助手API目前处于Beta阶段,我们正在积极开发更多功能。如果您有任何反馈,欢迎在我们的开发者论坛上分享。

助手的关键特性:

  • 助手可以根据特定指令调用OpenAI模型,以调整其个性和能力。
  • 助手可以并行访问多种工具,包括OpenAI托管的工具(如代码解释器和知识检索)以及通过函数调用构建或托管的工具。
  • 助手可以利用持久线程简化AI应用程序开发。线程存储消息历史,并在对话过长时截断。创建一个线程后,用户回复时可以追加消息。
  • 助手可以处理各种格式的文件,无论是作为创建的一部分还是作为助手与用户之间的线程的一部分。使用工具时,助手可以创建文件(例如图像、电子表格等),并在创建的消息中引用这些文件。

安装

pubspec.yaml文件中添加以下依赖项:

dependencies:
  assistant_openai: ^1.0.1

初始化

在项目中导入并使用:

import 'package:assistant_openai/openaiassistant.dart';

var client = OpenAIAssistant(apiKey: 'YOUR_OPENAI_API_KEY', organizationID: 'YOUR_ORGANIZATION_ID');

创建助手

/// 创建一个新的助手对象
var newAssistant = NewAssistantModel(
    name: "ASSISTANT_NAME",
    description: "我的数学助手",
    instructions: "你是一名数学导师",
    model: "gpt-4",
    tools: [
      Tool(type: "retrieval") // 可以添加其他工具类型
    ],
    fileIds: ['fieldID'], // 文件ID列表
);

/// 使用客户端访问助手创建模块,并解析新创建的助手对象
var assistant = await client.assistant.create(newAssistant);

/// 打印助手的相关信息
print(assistant!.name);
print(assistant.model);
print(assistant.instructions);
print(assistant.tools);
print(assistant.fileIds);
print(assistant.description);
print(assistant.metadata);

获取助手

/// 使用客户端访问助手模块并调用获取方法
var retrievedAssistant = await client.assistant.retrieve('PARSE_ASSISTANT_ID_HERE');

/// 打印助手的相关信息
print(retrievedAssistant!.name);
print(retrievedAssistant.model);
print(retrievedAssistant.instructions);
print(retrievedAssistant.tools);
print(retrievedAssistant.fileIds);
print(retrievedAssistant.description);
print(retrievedAssistant.metadata);

修改助手

/// 使用客户端访问助手模块并调用修改方法
var assistantDetails = AssistantModel(
  id: "ASSISTANT_ID",
  name: "ASSISTANT_NAME",
  description: "我的数学助手",
  instructions: "你是一名数学导师",
  model: "gpt-4",
  object: "assistant",
  fileIds: ['fieldID'],
  createdAt: INT,
  tools: [],
  metadata: Map<dynamic, dynamic>, // 可以添加其他元数据字段
);

var assistant = await client.assistant.modify(assistantDetails);

/// 打印助手的相关信息
print(assistant!.name);
print(assistant.model);
print(assistant.instructions);
print(assistant.tools);
print(assistant.fileIds);
print(assistant.description);
print(assistant.metadata);

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

1 回复

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


openai_chatgpt_assistant 是一个Flutter插件,旨在帮助开发者轻松集成OpenAI的ChatGPT功能到他们的Flutter应用中。通过这个插件,你可以实现与ChatGPT的对话、获取智能回复等功能。

以下是如何使用 openai_chatgpt_assistant 插件的基本步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  openai_chatgpt_assistant: ^1.0.0  # 请根据实际情况使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 初始化插件

在你的Flutter应用中初始化 OpenAIChatGPTAssistant。你需要在 main.dart 或其他合适的地方进行初始化。

import 'package:openai_chatgpt_assistant/openai_chatgpt_assistant.dart';

void main() {
  runApp(MyApp());

  // 初始化OpenAIChatGPTAssistant
  OpenAIChatGPTAssistant.initialize(
    apiKey: 'your_openai_api_key',  // 替换为你的OpenAI API密钥
    baseUrl: 'https://api.openai.com/v1',  // OpenAI API的基础URL
  );
}

3. 使用插件进行对话

你可以使用 OpenAIChatGPTAssistant 类的 sendMessage 方法来与ChatGPT进行对话。

import 'package:flutter/material.dart';
import 'package:openai_chatgpt_assistant/openai_chatgpt_assistant.dart';

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

class _ChatScreenState extends State<ChatScreen> {
  final TextEditingController _controller = TextEditingController();
  List<String> messages = [];

  Future<void> _sendMessage() async {
    String userMessage = _controller.text;
    setState(() {
      messages.add('You: $userMessage');
    });

    try {
      String response = await OpenAIChatGPTAssistant.instance.sendMessage(userMessage);
      setState(() {
        messages.add('ChatGPT: $response');
      });
    } catch (e) {
      setState(() {
        messages.add('Error: $e');
      });
    }

    _controller.clear();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Chat with ChatGPT'),
      ),
      body: Column(
        children: [
          Expanded(
            child: ListView.builder(
              itemCount: messages.length,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text(messages[index]),
                );
              },
            ),
          ),
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: Row(
              children: [
                Expanded(
                  child: TextField(
                    controller: _controller,
                    decoration: InputDecoration(
                      hintText: 'Type your message...',
                    ),
                  ),
                ),
                IconButton(
                  icon: Icon(Icons.send),
                  onPressed: _sendMessage,
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}
回到顶部