{"id":22825313,"url":"https://github.com/elsoul/skeet-ai","last_synced_at":"2025-06-14T12:05:07.376Z","repository":{"id":186100238,"uuid":"674642314","full_name":"elsoul/skeet-ai","owner":"elsoul","description":"🛠 Skeet Framework Plugin - AI tools🤖","archived":false,"fork":false,"pushed_at":"2024-02-08T08:25:03.000Z","size":12623,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T16:01:44.646Z","etag":null,"topics":["ai","chatgpt","cloud","firebase","google","google-cloud","gpt-4","javascript","npm","open-source","openai","serverless","typescript","vertex-ai"],"latest_commit_sha":null,"homepage":"https://skeet.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elsoul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-04T12:46:01.000Z","updated_at":"2024-01-03T04:41:48.000Z","dependencies_parsed_at":"2023-12-15T14:06:05.694Z","dependency_job_id":"fe4cf425-4237-4e00-9ae9-580d40ef3a57","html_url":"https://github.com/elsoul/skeet-ai","commit_stats":{"total_commits":132,"total_committers":2,"mean_commits":66.0,"dds":"0.12878787878787878","last_synced_commit":"8840bb8304e3f79eed4ef255fbb806fc1acf14e7"},"previous_names":["elsoul/skeet-ai"],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/elsoul/skeet-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elsoul","download_url":"https://codeload.github.com/elsoul/skeet-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-ai/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259812972,"owners_count":22915195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","cloud","firebase","google","google-cloud","gpt-4","javascript","npm","open-source","openai","serverless","typescript","vertex-ai"],"created_at":"2024-12-12T17:10:10.055Z","updated_at":"2025-06-14T12:05:07.358Z","avatar_url":"https://github.com/elsoul.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://skeet.dev\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/20677823/221215449-93a7b5a8-5f33-4da8-9dd4-d0713db0a280.png\" alt=\"Skeet Framework Logo\"\u003e\n\u003c/a\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://twitter.com/intent/follow?screen_name=SkeetDev\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/ELSOUL_LABO2.svg?label=Follow%20@ELSOUL_LABO2\" alt=\"Follow @ELSOUL_LABO2\" /\u003e\n  \u003c/a\u003e\n  \u003cbr/\u003e\n\n  \u003ca aria-label=\"npm version\" href=\"https://www.npmjs.com/package/@skeet-framework/ai\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/npm/v/@skeet-framework/ai\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"Downloads Number\" href=\"https://www.npmjs.com/package/@skeet-framework/ai\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/npm/dt/@skeet-framework/ai\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"License\" href=\"https://github.com/elsoul/skeet-ai/blob/master/LICENSE.txt\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/badge/license/Apache/blue\"\u003e\n  \u003c/a\u003e\n    \u003ca aria-label=\"Code of Conduct\" href=\"https://github.com/elsoul/skeet-ai/blob/master/CODE_OF_CONDUCT.md\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Skeet Framework Plugin - AI\n\nSkeet AI Plugin for Multile Chat Models.\n\nBuild generative AI apps quickly and responsibly with Model API, a simple, secure, and multiple AI models are available.\n\nThis plugin wraps the following AI models.\n\n- [Vertex AI(Google Cloud)](https://cloud.google.com/vertex-ai/)\n- [Open AI(ChatGPT)](https://openai.com/)\n\nFast and easy to deploy with Skeet Framework.\n\n## 🧪 Dependency 🧪\n\n- [TypeScript](https://www.typescriptlang.org/) ^5.0.0\n- [Node.js](https://nodejs.org/ja/) ^18.16.0\n- [Yarn](https://yarnpkg.com/) ^1.22.19\n- [Google Cloud SDK](https://cloud.google.com/sdk/docs/install) ^430.0.0\n\n## Installation\n\n```bash\n$ yarn add @skeet-framework/ai\n```\n\nwith Skeet Framework CLI\n\n```bash\n$ skeet yarn add -p @skeet-framework/ai\n```\n\n# Initial Setup - Vertex AI (Google Cloud)\n\nEnable API and Permissions on GCP.\n\nif you havent installed Skeet CLI, install it.\n\n```bash\n$ gcloud auth application-default\n$ npm i -g @skeet-framework/cli\n```\n\nand run `skeet iam ai` command.\n\n```bash\n$ skeet iam ai\n? What's your GCP Project ID your-project-id\n? Select Regions to deploy asia-east1\n✔ Successfully created ./skeet-cloud.config.json 🎉\n🚸 === Copy \u0026 Paste below command to your terminal === 🚸\n\nexport GCLOUD_PROJECT=your-project-id\nexport REGION=\"us-central1\"\n\n🚸 =========           END           ========= 🚸\n```\n\nAnd set environment variables following the console's output.\n\n**Note: options overwrite the environment variables**\n\n## Quick Start\n\nVertexAI\n\n```ts\nimport { SkeetAI } from '@skeet-framework/ai'\n\nconst skeetAi = new SkeetAI({\n  ai: 'VetexAI',\n})\nconst result = await skeetAi.chat('Hello')\nconsole.log(result)\n```\n\nOpenAI\n\n**Note: You need finished [Initial Setup - Open AI (ChatGPT)](/README.md#initial-setup---open-ai-chatgpt) to use OpenAI API**\n\n```ts\nimport { SkeetAI } from '@skeet-framework/ai'\n\nconst skeetAi = new SkeetAI({\n  ai: 'OpenAI',\n})\nconst result = await skeetAi.chat('Hello')\nconsole.log(result)\n```\n\n## Vertex AI - Prompt Example\n\nExample `app.ts`\n\n```ts\nimport { VertexAI, VertexPromptParams } from '@skeet-framework/ai'\n\nconst run = async () =\u003e {\n  const context =\n    'You are a developer familiar with the Skeet framework for building web applications.'\n  const examples = [\n    {\n      input:\n        'What is the Skeet framework and what benefits does it offer for app development?',\n      output:\n        '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.',\n    },\n  ]\n  const content = 'Tell me about the Skeet framework.'\n  const prompt = generatePrompt(\n    context,\n    examples,\n    content,\n    'VertexAI',\n  ) as VertexPromptParams\n\n  const vertexAi = new SkeetAI({\n    ai: 'VertexAI',\n  })\n  const response = await vertexAi.prompt(prompt)\n  console.log('Question:\\n', prompt.messages[0].content)\n  console.log('Answer:\\n', response)\n\n  const content =\n    '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.'\n  const promptTitle = await vertexAi.generateTitlePrompt(content)\n  const title = await vertexAi.prompt(promptTitle)\n  console.log('\\nOriginal content:\\n', content)\n  console.log('\\nGenerated title:\\n', title)\n}\n\nrun()\n```\n\nRun\n\n```bash\n$ npx ts-node app.ts\n```\n\n# Initial Setup - Open AI (ChatGPT)\n\n## Create OpenAI API Key\n\n- [https://beta.openai.com/](https://beta.openai.com/)\n\n![OpenAI ChatGPT API](https://storage.googleapis.com/skeet-assets/imgs/backend/openai-api-key.png)\n\n📕 [OpenAI API Document](https://platform.openai.com/docs/introduction)\n\n# Usage\n\n## OpenAI\n\nset environment variables\n\n```bash\n$ export CHAT_GPT_ORG=org-id\n$ export CHAT_GPT_KEY=your-api-key\n```\n\nExample `app.ts`\n\n```ts\nimport { OpenAI, OpenAIPromptParams } from '@skeet-framework/ai'\n\nconst run = async () =\u003e {\n  const context = 'You are a developer familiar with the Skeet framework for building web applications.'\n  const examples = [\n    {\n      input:\n        'What is the Skeet framework and what benefits does it offer for app development?',\n      output:\n        '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.',\n    },\n  ]\n  const content = 'Tell me about the Skeet framework.'\n  const prompt = generatePrompt(\n    context,\n    examples,\n    content,\n    'OpenAI'\n  ) as OpenAIPromptParams\n\n  const openAi = new SkeetAI({\n    ai: 'OpenAI',\n  })\n  const response = await openAi.prompt(prompt)\n  console.log('Question:\\n', prompt.messages[0].content)\n  console.log('Answer:\\n', response)\n\n  const content =\n    '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.'\n  const promptTitle = await openAi.generateTitlePrompt(content)\n  const title = await openAi.prompt(promptTitle)\n  console.log('\\nOriginal content:\\n', content)\n  console.log('\\nGenerated title:\\n', title)\n```\n\nRun\n\n```bash\n$ npx ts-node app.ts\n```\n\n## Fine-tuning\n\nFine-tuning is a technique that allows you to customize the model to your specific use case by providing examples of the desired behavior.\n\n### Fine-tuning - OpenAI\n\nCreate a JSONL file with the following format.\n\n_./fine-tuning.jsonl_\n\n```jsonl\n{\"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\"}]}\n{\"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.\"}]}\n```\n\nExample `tuning.ts`\n\n```ts\nimport { OpenAI } from '@skeet-framework/ai'\n\nconst openAi = new SkeetAI({\n  ai: 'OpenAI',\n})\n\n// Upload JSONL file\nconst filePath = './fine-tuning.jsonl'\nconst uploadFile = await openAi.uploadFile(filePath)\n\n// Create Fine-tuning Job\nconst model = 'gpt-3.5-turbo-0613'\nconst job = await openAi.createFineTuningJob(uploadFile.id, model)\n\n// Check Fine-tuning Job Status\nconst jobStatus = await openAi.showFineTuningJob(job.id)\nconsole.log(jobStatus)\n```\n\nYou can use the fine-tuned model after the job is completed.\n\n## Skeet AI Transration\n\nThis method is used to translate .json/.md files from one language to another.\n\n```ts\nimport { SkeetAI } from '@skeet-framework/ai'\n\nconst skeetAi = new SkeetAI()\n\nconst translatePaths = {\n  paths: ['./README.md', './doc.json'],\n  langFrom: 'en',\n  langTo: 'ja',\n}\n\nawait skeetAi.translates(\n  translatePaths.paths,\n  translatePaths.langFrom,\n  translatePaths.langTo,\n)\n```\n\nThis function will generate a translated file in the same directory as the original file.\n\n# Skeet AI Docs\n\n- [Skeet AI TypeDoc](https://elsoul.github.io/skeet-ai/)\n\n## Skeet Framework Document\n\n- [https://skeet.dev](https://skeet.dev)\n\n## Skeet TypeScript Serverless Framework\n\nGraphQL, CloudSQL, Cloud Functions, TypeScript, Jest Test, Google Cloud Load Balancer, Cloud Armor\n\n## What's Skeet?\n\nTypeScript Serverless Framework 'Skeet'.\n\nThe Skeet project was launched with the goal of reducing software development, operation, and maintenance costs.\n\nBuild Serverless Apps faster.\nPowered by TAI, Cloud Functions, Typesaurus, Jest, Prettier, and Google Cloud.\n\n## Dependency\n\n- [TypeScript](https://www.typescriptlang.org/)\n- [Node](https://nodejs.org/)\n- [Yarn](https://yarnpkg.com/)\n- [Google SDK](https://cloud.google.com/sdk/docs)\n- [GitHub CLI](https://cli.github.com/)\n\n```bash\n$ npm i -g @skeet-framework/cli\n$ skeet create web-app\n```\n\n## Contributing\n\nBug 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](http://contributor-covenant.org) code of conduct.\n\n## License\n\nThe package is available as open source under the terms of the [Apache-2.0 License](https://www.apache.org/licenses/LICENSE-2.0).\n\n## Code of Conduct\n\nEveryone interacting in the SKEET project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/elsoul/skeet-cli/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felsoul%2Fskeet-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felsoul%2Fskeet-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felsoul%2Fskeet-ai/lists"}