0.0.2 • Published 9 months ago

wilannie v0.0.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
9 months ago

Why Use Wilannie?

Wilannie simplifies the process of integrating image analysis capabilities into your projects using advanced AI models. It handles the complexities of image preprocessing and API interactions, allowing you to focus on leveraging AI-powered image analysis in your applications with minimal setup.

Installation

You can install Wilannie using npm:

npm install wilannie

Or using yarn:

yarn add wilannie

Usage

Here's a basic example of how to use Wilannie:

import { aiImageAnalyzer } from 'wilannie';

async function runImageAnalysis() {
  const images = [
    {
      path: 'sample-image1.png',
      mediaType: 'image/png' as const
    },
    {
      path: 'sample-image2.png',
      mediaType: 'image/png' as const
    },
  ];

  const prompts = {
    system: "You are an AI assistant specialized in analyzing images",
    user: "Please analyze the following images and describe what you see in detail"
  };

  const analyzer = aiImageAnalyzer(
    'anthropic',
    'claude-3-5-sonnet-20240620',
    images,
    prompts,
    2000  // Optionally specify max_tokens
  );

  // Process the response in real-time
  for await (const chunk of analyzer) {
    if (chunk.type === 'partial_message') {
      process.stdout.write(chunk.content);
    }
  }

  // Or get the full response at once
  for await (const chunk of analyzer) {
    if (chunk.type === 'full_message') {
      console.log(chunk.content);
    }
  }
}

runImageAnalysis().catch(console.error);

Advanced Usage

The aiImageAnalyzer function accepts the following parameters:

ParameterTypeRequiredDefaultDescription
provider'anthropic'Yes-The AI provider (currently only Anthropic is supported)
model'claude-3-5-sonnet-20240620'Yes-The specific model to use
imagesArray of { path: string, mediaType: "image/jpeg" \| "image/png" \| "image/gif" \| "image/webp" }Yes-An array of image objects to analyze
prompts{ system?: string, user: string }Yes-Prompts for the AI, including an optional system prompt and a required user prompt
max_tokensnumberNo1024Maximum number of tokens for the response
apiKeystringNoundefinedAPI key for the provider (if not set in environment variables)

Output

The aiImageAnalyzer function returns an AsyncGenerator that yields objects of type Packet:

interface Packet {
  type: 'partial_message' | 'full_message';
  content: string;
}

You can choose to process the output in two ways:

  1. Real-time processing: Iterate over the generator and handle 'partial_message' packets to get chunks of the response as they are generated.

  2. Full response: Iterate over the generator and handle the 'full_message' packet to get the complete response at once.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Authors

  • @alokrajiv - engineering
  • @minuchoi29 - documentation
0.0.2

9 months ago

0.0.1

9 months ago