salehhashemi/laravel-intelli-graphql

一个基于数据库表生成 GraphQL 模式、查询和变异的 AI 驱动的 Laravel 包。

v0.1.1 2023-06-05 09:22 UTC

This package is auto-updated.

Last update: 2024-09-05 12:17:40 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions StyleCI

Laravel IntelliGraphQL 包是一个基于给定数据库表生成 GraphQL 模式、查询和变异的 AI 驱动的 Laravel 包。

Header Image

安装

  1. 使用 composer 安装此包

    composer require salehhashemi/laravel-intelli-graphql
    
  2. 发布配置文件

    php artisan vendor:publish --provider="Salehhashemi\LaravelIntelliGraphql\LaravelIntelliGraphqlServiceProvider"
    
  3. 将您的 OpenAI API 密钥添加到 .env 文件

    OPEN_AI_KEY=your_openai_key
    
  4. 可选地,您可以在 .env 文件中更改 OpenAI 默认模型

    OPEN_AI_MODEL=gpt-4
    

使用方法

要使用 Laravel IntelliGraphQL 包,您可以在终端中使用 ai:graphql 命令,并提供数据库表的名称作为参数

php artisan ai:graphql {table}

将 {table} 替换为您希望生成 GraphQL 模式、查询和变异的表的名称。

例如

php artisan ai:graphql users

此命令将为用户表生成 GraphQL 模式、查询和变异,并将它们放在 Laravel 项目根目录下的 graphql 目录中的 users.graphql 文件中。

生成的 GraphQL 模式、查询和变异将包括提供的表中的所有列。AI 模型使用这些信息来智能地生成适当的 GraphQL 模式、查询和变异。

示例

假设您有一个名为 users 的表,其中包含以下列:id、name、email、email_verified_at、password、remember_token、created_at、updated_at。

运行命令 php artisan ai:graphql users 将在 Laravel 项目根目录下的 graphql 目录中生成一个 users.graphql 文件。内容可能如下所示

type User {
  id: ID!
  name: String!
  email: String!
  emailVerifiedAt: DateTime
  password: String!
  rememberToken: String
  createdAt: DateTime!
  updatedAt: DateTime!
}

type Query {
  users: [User!]!
  user(id: ID!): User
}

type Mutation {
  createUser(name: String!, email: String!, password: String!): User!
  updateUser(id: ID!, name: String, email: String, password: String): User
  deleteUser(id: ID!): User
}

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件