@robinpath/ai
Advanced tools
+104
| # @robinpath/ai | ||
| > LLM integration: chat, complete, summarize, extract, classify, translate, sentiment analysis, and embeddings | ||
|     | ||
| ## Why use this module? | ||
| The `ai` module lets you: | ||
| - Send a chat message and get a response | ||
| - Get a simple text completion (returns just the text) | ||
| - Summarize text using AI | ||
| - Extract structured data from text using AI | ||
| - Classify text into one of given categories | ||
| All functions are callable directly from RobinPath scripts with a simple, consistent API. | ||
| ## Installation | ||
| ```bash | ||
| npm install @robinpath/ai | ||
| ``` | ||
| ## Quick Start | ||
| **1. Set up credentials** | ||
| ```robinpath | ||
| ai.configure "openai" {"provider": "openai", "apiKey": $key} | ||
| ``` | ||
| **2. Send a chat message and get a response** | ||
| ```robinpath | ||
| ai.chat "openai" "Explain quantum computing" {"system": "You are a teacher"} | ||
| ``` | ||
| ## Available Functions | ||
| | Function | Description | | ||
| |----------|-------------| | ||
| | `ai.configure` | Configure an AI provider (OpenAI, Anthropic, or custom) | | ||
| | `ai.chat` | Send a chat message and get a response | | ||
| | `ai.complete` | Get a simple text completion (returns just the text) | | ||
| | `ai.summarize` | Summarize text using AI | | ||
| | `ai.extract` | Extract structured data from text using AI | | ||
| | `ai.classify` | Classify text into one of given categories | | ||
| | `ai.translate` | Translate text to a target language | | ||
| | `ai.sentiment` | Analyze the sentiment of text | | ||
| | `ai.generateJson` | Generate structured JSON from a prompt | | ||
| | `ai.embedding` | Generate text embeddings (OpenAI only) | | ||
| ## Examples | ||
| ### Send a chat message and get a response | ||
| ```robinpath | ||
| ai.chat "openai" "Explain quantum computing" {"system": "You are a teacher"} | ||
| ``` | ||
| ### Get a simple text completion (returns just the text) | ||
| ```robinpath | ||
| ai.complete "openai" "Write a haiku about automation" | ||
| ``` | ||
| ### Summarize text using AI | ||
| ```robinpath | ||
| ai.summarize "openai" $longText {"maxLength": 100} | ||
| ``` | ||
| ## Integration with RobinPath | ||
| ```typescript | ||
| import { RobinPath } from "@wiredwp/robinpath"; | ||
| import Module from "@robinpath/ai"; | ||
| const rp = new RobinPath(); | ||
| rp.registerModule(Module.name, Module.functions); | ||
| rp.registerModuleMeta(Module.name, Module.functionMetadata); | ||
| const result = await rp.executeScript(` | ||
| ai.configure "openai" {"provider": "openai", "apiKey": $key} | ||
| ai.chat "openai" "Explain quantum computing" {"system": "You are a teacher"} | ||
| `); | ||
| ``` | ||
| ## Full API Reference | ||
| See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples. | ||
| ## Related Modules | ||
| - [`@robinpath/openai`](../openai) — OpenAI module for complementary functionality | ||
| - [`@robinpath/anthropic`](../anthropic) — Anthropic module for complementary functionality | ||
| - [`@robinpath/deepl`](../deepl) — DeepL module for complementary functionality | ||
| - [`@robinpath/translate`](../translate) — Translate module for complementary functionality | ||
| - [`@robinpath/json`](../json) — JSON module for complementary functionality | ||
| ## License | ||
| MIT |
+25
-7
| { | ||
| "name": "@robinpath/ai", | ||
| "version": "0.1.0", | ||
| "version": "0.1.1", | ||
| "description": "LLM integration for OpenAI, Anthropic, and compatible APIs", | ||
| "publishConfig": { "access": "public" }, | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "type": "module", | ||
| "main": "dist/index.js", | ||
| "types": "dist/index.d.ts", | ||
| "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } }, | ||
| "files": ["dist"], | ||
| "scripts": { "build": "tsc", "test": "node --import tsx --test tests/*.test.ts" }, | ||
| "peerDependencies": { "@wiredwp/robinpath": ">=0.20.0" }, | ||
| "devDependencies": { "@wiredwp/robinpath": "^0.30.1", "tsx": "^4.19.0", "typescript": "^5.6.0" } | ||
| "exports": { | ||
| ".": { | ||
| "import": "./dist/index.js", | ||
| "types": "./dist/index.d.ts" | ||
| } | ||
| }, | ||
| "files": [ | ||
| "dist" | ||
| ], | ||
| "scripts": { | ||
| "build": "tsc", | ||
| "test": "node --import tsx --test tests/*.test.ts" | ||
| }, | ||
| "peerDependencies": { | ||
| "@wiredwp/robinpath": ">=0.20.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@wiredwp/robinpath": "^0.30.1", | ||
| "tsx": "^4.19.0", | ||
| "typescript": "^5.6.0" | ||
| } | ||
| } |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
41544
8.56%10
11.11%0
-100%105
Infinity%4
33.33%