Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@skeet-framework/ai

Package Overview
Dependencies
Maintainers
3
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@skeet-framework/ai

Skeet Framework Plugin - AI

  • 1.7.9
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
84
decreased by-20%
Maintainers
3
Weekly downloads
 
Created
Source
Skeet Framework Logo

Follow @ELSOUL_LABO2

Skeet Framework Plugin - AI

Skeet AI Plugin for Multile Chat Models.

Build generative AI apps quickly and responsibly with Model API, a simple, secure, and multiple AI models are available.

This plugin wraps the following AI models.

Fast and easy to deploy with Skeet Framework.

🧪 Dependency 🧪

Installation

$ yarn add @skeet-framework/ai

with Skeet Framework CLI

$ skeet yarn add -p @skeet-framework/ai

Initial Setup - Vertex AI (Google Cloud)

Enable API and Permissions on GCP.

if you havent installed Skeet CLI, install it.

$ gcloud auth application-default
$ npm i -g @skeet-framework/cli

and run skeet iam ai command.

$ skeet iam ai
? What's your GCP Project ID your-project-id
? Select Regions to deploy asia-east1
✔ Successfully created ./skeet-cloud.config.json 🎉
🚸 === Copy & Paste below command to your terminal === 🚸

export GCLOUD_PROJECT=your-project-id
export REGION="us-central1"

🚸 =========           END           ========= 🚸

And set environment variables following the console's output.

Note: options overwrite the environment variables

Quick Start

VertexAI

import { SkeetAI } from '@skeet-framework/ai'

const skeetAi = new SkeetAI({
  ai: 'VetexAI',
})
const result = await skeetAi.chat('Hello')
console.log(result)

OpenAI

Note: You need finished Initial Setup - Open AI (ChatGPT) to use OpenAI API

import { SkeetAI } from '@skeet-framework/ai'

const skeetAi = new SkeetAI({
  ai: 'OpenAI',
})
const result = await skeetAi.chat('Hello')
console.log(result)

Vertex AI - Prompt Example

Example app.ts

import { VertexAI, VertexPromptParams } from '@skeet-framework/ai'

const run = async () => {
  const context =
    'You are a developer familiar with the Skeet framework for building web applications.'
  const examples = [
    {
      input:
        'What is the Skeet framework and what benefits does it offer for app development?',
      output:
        'The Skeet framework is an open-source full-stack app development solution that aims to lower the development and operation cost of applications. It allows developers to focus more on the application logic and worry less about infrastructure. The framework can be assembled with a combination of SQL and NoSQL.',
    },
  ]
  const content = 'Tell me about the Skeet framework.'
  const prompt = generatePrompt(
    context,
    examples,
    content,
    'VertexAI',
  ) as VertexPromptParams

  const vertexAi = new SkeetAI({
    ai: 'VertexAI',
  })
  const response = await vertexAi.prompt(prompt)
  console.log('Question:\n', prompt.messages[0].content)
  console.log('Answer:\n', response)

  const content =
    'The Skeet framework is an open-source full-stack app development solution that aims to lower the development and operation cost of applications. It allows developers to focus more on the application logic and worry less about infrastructure. The framework can be assembled with a combination of SQL and NoSQL.'
  const promptTitle = await vertexAi.generateTitlePrompt(content)
  const title = await vertexAi.prompt(promptTitle)
  console.log('\nOriginal content:\n', content)
  console.log('\nGenerated title:\n', title)
}

run()

Run

$ npx ts-node app.ts

Initial Setup - Open AI (ChatGPT)

Create OpenAI API Key

OpenAI ChatGPT API

📕 OpenAI API Document

Usage

OpenAI

set environment variables

$ export CHAT_GPT_ORG=org-id
$ export CHAT_GPT_KEY=your-api-key

Example app.ts

import { OpenAI, OpenAIPromptParams } from '@skeet-framework/ai'

const run = async () => {
  const context = 'You are a developer familiar with the Skeet framework for building web applications.'
  const examples = [
    {
      input:
        'What is the Skeet framework and what benefits does it offer for app development?',
      output:
        'The Skeet framework is an open-source full-stack app development solution that aims to lower the development and operation cost of applications. It allows developers to focus more on the application logic and worry less about infrastructure. The framework can be assembled with a combination of SQL and NoSQL.',
    },
  ]
  const content = 'Tell me about the Skeet framework.'
  const prompt = generatePrompt(
    context,
    examples,
    content,
    'OpenAI'
  ) as OpenAIPromptParams

  const openAi = new SkeetAI({
    ai: 'OpenAI',
  })
  const response = await openAi.prompt(prompt)
  console.log('Question:\n', prompt.messages[0].content)
  console.log('Answer:\n', response)

  const content =
    'The Skeet framework is an open-source full-stack app development solution that aims to lower the development and operation cost of applications. It allows developers to focus more on the application logic and worry less about infrastructure. The framework can be assembled with a combination of SQL and NoSQL.'
  const promptTitle = await openAi.generateTitlePrompt(content)
  const title = await openAi.prompt(promptTitle)
  console.log('\nOriginal content:\n', content)
  console.log('\nGenerated title:\n', title)

Run

$ npx ts-node app.ts

Fine-tuning

Fine-tuning is a technique that allows you to customize the model to your specific use case by providing examples of the desired behavior.

Fine-tuning - OpenAI

Create a JSONL file with the following format.

./fine-tuning.jsonl

{"messages":[{"role":"system","content":"You are a senior engineer specialized in assisting developers."},{"role":"user","content":"Give an example of what the Skeet framework could be used for?"},{"role":"assistant","content":"The Skeet framework can be used for a variety of web applications, such as building a Chatbot"}]}
{"messages":[{"role":"system","content":"You are a senior engineer specialized in assisting developers."},{"role":"user","content":"I got a credentials error while trying to use the Skeet framework. What should I do?"},{"role":"assistant","content":"The Skeet framework uses Google Cloud. You might need to login using `gcloud auth application-default login` to use the framework."}]}

Example tuning.ts

import { OpenAI } from '@skeet-framework/ai'

const openAi = new SkeetAI({
  ai: 'OpenAI',
})

// Upload JSONL file
const filePath = './fine-tuning.jsonl'
const uploadFile = await openAi.uploadFile(filePath)

// Create Fine-tuning Job
const model = 'gpt-3.5-turbo-0613'
const job = await openAi.createFineTuningJob(uploadFile.id, model)

// Check Fine-tuning Job Status
const jobStatus = await openAi.showFineTuningJob(job.id)
console.log(jobStatus)

You can use the fine-tuned model after the job is completed.

Skeet AI Transration

This method is used to translate .json/.md files from one language to another.

import { SkeetAI } from '@skeet-framework/ai'

const skeetAi = new SkeetAI()

const translatePaths = {
  paths: ['./README.md', './doc.json'],
  langFrom: 'en',
  langTo: 'ja',
}

await skeetAi.translates(
  translatePaths.paths,
  translatePaths.langFrom,
  translatePaths.langTo,
)

This function will generate a translated file in the same directory as the original file.

Skeet AI Docs

Skeet Framework Document

Skeet TypeScript Serverless Framework

GraphQL, CloudSQL, Cloud Functions, TypeScript, Jest Test, Google Cloud Load Balancer, Cloud Armor

What's Skeet?

TypeScript Serverless Framework 'Skeet'.

The Skeet project was launched with the goal of reducing software development, operation, and maintenance costs.

Build Serverless Apps faster. Powered by TAI, Cloud Functions, Typesaurus, Jest, Prettier, and Google Cloud.

Dependency

$ npm i -g @skeet-framework/cli
$ skeet create web-app

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/elsoul/skeet This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The package is available as open source under the terms of the Apache-2.0 License.

Code of Conduct

Everyone interacting in the SKEET project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Keywords

FAQs

Package last updated on 22 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc