New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

inflection-ai-sdk-provider

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inflection-ai-sdk-provider

The **[unofficial Inflection AI provider](https://www.npmjs.com/package/inflection-ai-sdk-provider)** for the [AI SDK](https://sdk.vercel.ai/docs) contains language model support for the [Inflection AI API](https://developers.inflection.ai/).

  • 1.0.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
193
decreased by-37.13%
Maintainers
0
Weekly downloads
 
Created
Source

Unofficial Community Provider for AI SDK - Inflection AI

The unofficial Inflection AI provider for the AI SDK contains language model support for the Inflection AI API.

Setup

The Inflection AI provider is available in the inflection-ai-sdk-provider module on npm. You can install it with

npm i inflection-ai-sdk-provider

Provider Instance

You can import the default provider instance inflection from inflection-ai-sdk-provider:

import { inflection } from "inflection-ai-sdk-provider";

Example

import { inflection } from "inflection-ai-sdk-provider";
import { generateText } from "ai";

// Basic text generation
const { text } = await generateText({
  model: inflection("inflection_3_with_tools"),
  prompt: "how can I make quick chicken pho?",
});

// Using tool calls
const { text: weatherText, toolCalls } = await generateText({
  model: inflection("inflection_3_with_tools"),
  prompt: "what's the weather in San Francisco?",
  tools: [
    {
      type: "function",
      name: "get_weather",
      description: "Get the current weather in a location",
      parameters: {
        type: "object",
        properties: {
          location: {
            type: "string",
            description: "The city and state, e.g. San Francisco, CA",
          },
        },
        required: ["location"],
      },
    },
  ],
});

Models

The following models are supported:

  • inflection_3_pi - "the model powering our Pi experience, including a backstory, emotional intelligence, productivity, and safety. It excels in scenarios such as customer support chatbots."
  • inflection_3_productivity- "the model optimized for following instructions. It is better for tasks requiring JSON output or precise adherence to provided guidelines."
  • inflection_3_with_tools - Model that supports function calling capabilities, allowing it to interact with external tools and APIs through a structured interface.
ModelText GenerationStreamingImage InputObject GenerationTool UsageTool Streaming
inflection_3_pi
inflection_3_productivity
inflection_3_with_tools

Tool Calling Support

The inflection_3_with_tools model supports function calling through the standard AI SDK tools interface. You can provide a list of tools when making requests, and the model can choose to call these tools as part of its response. Both streaming and non-streaming tool calls are supported.

Object Generation

All Inflection models support structured object generation through the generateObject function. This allows you to generate JSON objects that conform to a specific schema, arrays of objects, or enum values for classification tasks.

Basic Object Generation

import { inflection, generateObject } from "inflection-ai-sdk-provider";
import { z } from "zod";

// Define a schema for the object you want to generate
const recipeSchema = z.object({
  recipe: z.object({
    name: z.string(),
    ingredients: z.array(
      z.object({
        name: z.string(),
        amount: z.string(),
      })
    ),
    steps: z.array(z.string()),
  }),
});

// Generate a structured recipe object
const { object } = await generateObject({
  model: inflection("inflection_3_productivity"),
  schema: recipeSchema,
  prompt: [
    {
      role: "user",
      content: [{ type: "text", text: "Generate a lasagna recipe" }],
    },
  ],
});

// object will be typed and validated according to the schema
console.log(object.recipe.name);
console.log(object.recipe.ingredients);
console.log(object.recipe.steps);

Array Generation

import { inflection, generateObject } from "inflection-ai-sdk-provider";
import { z } from "zod";

const heroSchema = z.object({
  name: z.string(),
  class: z.string().describe("Character class, e.g. warrior, mage, or thief."),
  description: z.string(),
});

const { object: heroes } = await generateObject({
  model: inflection("inflection_3_pi"),
  output: "array",
  schema: heroSchema,
  prompt: [
    {
      role: "user",
      content: [
        {
          type: "text",
          text: "Generate 3 hero descriptions for a fantasy game",
        },
      ],
    },
  ],
});

// heroes will be an array of objects matching the schema
heroes.forEach((hero) => {
  console.log(`${hero.name} - ${hero.class}`);
  console.log(hero.description);
});

Classification with Enum Output

import { inflection, generateObject } from "inflection-ai-sdk-provider";

const { object: genre } = await generateObject({
  model: inflection("inflection_3_with_tools"),
  output: "enum",
  enum: ["action", "comedy", "drama", "horror", "sci-fi"],
  prompt: [
    {
      role: "user",
      content: [
        {
          type: "text",
          text: 'Classify the genre of this movie plot: "A group of astronauts travel through a wormhole in search of a new habitable planet for humanity."',
        },
      ],
    },
  ],
});

// genre will be one of the provided enum values
console.log(`Movie genre: ${genre}`);

No-Schema Output

When you don't need to validate the structure of the generated JSON:

import { inflection, generateObject } from "inflection-ai-sdk-provider";

const { object } = await generateObject({
  model: inflection("inflection_3_productivity"),
  output: "no-schema",
  prompt: [
    {
      role: "user",
      content: [{ type: "text", text: "Generate a simple recipe" }],
    },
  ],
});

// object will be the parsed JSON without validation
console.log(object);

Documentation

Please check out Inflection AI's API Documentation for more information.

You can find the source code for this provider here on GitHub.

Keywords

FAQs

Package last updated on 14 Feb 2025

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