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

@singlestore/ai

Package Overview
Dependencies
Maintainers
0
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@singlestore/ai - npm Package Compare versions

Comparing version 0.0.22 to 0.0.23

2

package.json
{
"name": "@singlestore/ai",
"version": "0.0.22",
"version": "0.0.23",
"license": "Apache-2.0",

@@ -5,0 +5,0 @@ "sideEffects": false,

@@ -1,212 +0,3 @@

# @singlestore/ai
# SingleStoreAI
`@singlestore/ai` is a module of the `@singlestore/client` package that provides AI capabilities,
including chat completions and embeddings, integrated with OpenAI models. Additionally, it offers flexibility for users to integrate their own AI models and tools.
## Features
- [Chat Completions](#chat-completions): Leverage OpenAI's chat models to generate completions, manage tools, and handle streams of chat data. Alternatively, integrate your own AI models.
- [Embeddings](#embeddings): Generate text embeddings using OpenAI's embedding models to power various AI-driven functionalities, or use your custom embedding models.
## Installation
To install the `@singlestore/ai` module, use npm:
```bash
npm install @singlestore/client
```
## Usage
### Basic Setup
First, initialize the AI module with your OpenAI API key or your custom AI instance:
```typescript
import { AI } from "@singlestore/ai";
const ai = new AI({
openAIApiKey: "your-openai-api-key", // or your custom AI instance
});
```
### Custom AI Models and Tools
You can provide your own AI models and tools instead of using OpenAI. For example:
```typescript
import { AI, ChatCompletionTool } from "@singlestore/ai";
const customTool = new ChatCompletionTool({
name: "CustomTool",
description: "A custom tool for chat completion",
params: {},
call: async (params) => {
// Custom tool logic
},
});
const ai = new AI({
chatCompletionTools: [customTool],
embeddings: new CustomEmbeddings(), // Your custom embeddings class
});
```
### Chat Completions
Create chat completions with integrated tools and streaming capabilities:
```typescript
const completion = await ai.chatCompletions.create({
prompt: "Tell me a joke.",
systemRole: "You are a helpful assistant.",
stream: false,
});
console.log(completion.content);
```
### Embeddings
Generate embeddings for your text:
```typescript
const embeddings = await ai.embeddings.create("This is a sample text.");
console.log(embeddings);
```
## API Reference
The following section describes the main classes and methods available in the `@singlestore/ai` module.
### AI
The main class that provides access to chat completions and embeddings.
#### Constructor
```typescript
new AI(config: AIConfig)
```
##### Parameters:
- `config.openAIApiKey` (string): Your OpenAI API key.
- `config.chatCompletionTools` (ChatCompletionTool[] | undefined): An optional array of tools to be used in chat completions.
- `config.embeddings` (Embeddings | undefined): An optional custom embeddings instance.
### ChatCompletions
Handles creating chat completions and managing the stream of chat data.
#### Methods:
##### `async create(params: OpenAICreateChatCompletionParams)`
Creates a chat completion with optional support for tools and streaming.
###### Parameters:
- `prompt` (string | undefined): The initial user prompt.
- `systemRole` (string | undefined): The system role for the AI.
- `messages` (ChatMessage[] | undefined): An array of messages in the chat.
- `stream` (boolean | undefined): If true, returns an async generator for streaming completions.
- `tools` (ChatCompletionTool[] | undefined): Tools to be used during chat completion.
- `toolCallHandlers` (ToolCallHandlers | undefined): Handlers for tool calls.
- `toolCallResultHandlers` (ToolCallResultHandlers | undefined): Handlers for tool call results.
###### Returns:
- `Promise<ChatCompletion | AsyncGenerator<ChatCompletionStream>>`: A promise that resolves to either a single chat completion or a stream of chat completions.
##### `initTools(tools: ChatCompletionTool[])`
Initializes tools to be used in chat completions.
###### Parameters:
- `tools` (ChatCompletionTool[]): An array of tools.
### Embeddings
Handles generating text embeddings using OpenAI models.
#### Methods:
##### `async create(input: string | string[], params?: OpenAICreateEmbeddingsParams)`
Generates embeddings for the provided input text.
###### Parameters:
- `input` (string | string[]): The input text or array of texts to generate embeddings for.
- `params` (OpenAICreateEmbeddingsParams | undefined): Optional parameters for creating embeddings.
###### Returns:
- `Promise<Embedding[]>`: A promise that resolves to an array of embedding vectors generated by OpenAI.
## Data Types
### ChatCompletion
An object representing a chat completion.
#### Properties:
- `content` (string): The content of the chat completion.
### ChatCompletionStream
An async generator that yields chunks of chat completions.
### Embedding
An object representing a text embedding.
#### Properties:
- `embedding` (number[]): An array of numbers representing the embedding vector.
### ChatMessage
An object representing a message in the chat.
#### Properties:
- `role` (string): The role of the message sender (e.g., 'system', 'user', 'assistant').
- `content` (string): The content of the message.
### ChatCompletionTool
An object representing a tool used in chat completions.
#### Properties:
- `name` (string): The name of the tool.
- `description` (string): A description of what the tool does.
- `params` (object | undefined): Parameters required by the tool.
- `call` (function): The function that executes the tool.
### OpenAICreateChatCompletionParams
Parameters used for creating a chat completion.
#### Properties:
- `model` (string): The model to use for the chat completion (e.g., 'gpt-4').
- `temperature` (number | undefined): Sampling temperature for randomness in outputs.
- `prompt` (string | undefined): The initial user prompt.
- `systemRole` (string | undefined): The system role for the AI.
- `messages` (ChatMessage[] | undefined): An array of messages in the chat.
- `stream` (boolean | undefined): If true, returns an async generator for streaming completions.
- `tools` (ChatCompletionTool[] | undefined): Tools to be used during chat completion.
### OpenAICreateEmbeddingsParams
Parameters used for creating embeddings.
#### Properties:
- `model` (string): The model to use for generating embeddings (e.g., 'text-embedding-ada-002').
- `input` (string | string[]): The input text or array of texts to generate embeddings for.
The official SingleStore AI client.
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