@venturekit-pro/ai
v0.0.45
Published
AI utilities for VentureKit - embeddings, RAG, agents, chat completion, and image generation
Downloads
5,185
Maintainers
Readme
@venturekit-pro/ai
Warning: This package is in active development and not production-ready. APIs may change without notice.
AI utilities for VentureKit — embeddings, vector stores, RAG pipelines, and agents with tool use.
Installation
npm install @venturekit-pro/ai@devOptional Peer Dependencies
Install the providers you need:
# OpenAI (embeddings, agents)
npm install openai
# AWS Bedrock (embeddings)
npm install @aws-sdk/client-bedrock-runtime
# Pinecone (vector store)
npm install @pinecone-database/pineconeOverview
@venturekit-pro/ai provides:
- Embeddings — generate vector embeddings via OpenAI or AWS Bedrock
- Vector stores — store and query vectors with Pinecone, pgvector, or in-memory
- RAG pipelines — chunking, retrieval, and context building for retrieval-augmented generation
- Agents — AI agents with tool use via OpenAI function calling
Embeddings
import { createEmbedder } from '@venturekit-pro/ai';
const embedder = createEmbedder({
provider: 'openai',
model: 'text-embedding-3-small',
apiKey: process.env.OPENAI_API_KEY,
});
const vector = await embedder.embed('What is VentureKit?');
const vectors = await embedder.embedBatch(['Question 1', 'Question 2']);Vector Stores
import { createVectorStore } from '@venturekit-pro/ai';
const store = createVectorStore({
provider: 'pinecone',
indexName: 'my-index',
apiKey: process.env.PINECONE_API_KEY,
});
await store.upsert([{ id: 'doc-1', vector, metadata: { title: 'Guide' } }]);
const results = await store.query(queryVector, { topK: 5 });RAG Pipeline
import { createRagPipeline, chunkText } from '@venturekit-pro/ai';
const rag = createRagPipeline({
embedder,
vectorStore: store,
chunkSize: 500,
chunkOverlap: 50,
});
// Ingest documents
const chunks = chunkText(documentText, { size: 500, overlap: 50 });
await rag.ingest(chunks);
// Query with context
const context = await rag.retrieve('How do I deploy?', { topK: 3 });Agents
import { createAgent, defineTool } from '@venturekit-pro/ai';
const searchTool = defineTool({
name: 'search',
description: 'Search the knowledge base',
parameters: { query: { type: 'string', description: 'Search query' } },
handler: async ({ query }) => {
return await rag.retrieve(query);
},
});
const agent = createAgent({
model: 'gpt-4',
apiKey: process.env.OPENAI_API_KEY,
tools: [searchTool],
systemPrompt: 'You are a helpful assistant.',
});
const response = await agent.run('How do I set up authentication?');Chat Completion
Provider-neutral single- or multi-turn text completion across Anthropic,
OpenAI, and Google. Construct one client per (provider, apiKey) and call
.complete(); supply pricing to get a USD cost stamp back.
import { createChatClient } from '@venturekit-pro/ai';
const client = createChatClient({ provider: 'anthropic', apiKey: process.env.ANTHROPIC_API_KEY! });
const result = await client.complete({
model: 'claude-sonnet-4-5-20250929',
messages: [
{ role: 'system', content: 'You are a concise assistant.' },
{ role: 'user', content: 'Three words about cats.' },
],
maxTokens: 100,
pricing: { costPer1kInputUsd: 0.003, costPer1kOutputUsd: 0.015 },
});
console.log(result.output, result.usage, result.cost);Pair with withFallback / retryWithBackoff from the fallback module to add
primary→backup routing or exponential-backoff retries.
Image Generation
Provider-neutral text-to-image (currently Google Imagen), returning raw image bytes. The caller owns prompt composition (brand/style suffixes) and cost attribution — the result carries provider/model echo and latency only.
import { createImageClient } from '@venturekit-pro/ai';
const client = createImageClient({ provider: 'google', apiKey: process.env.GOOGLE_API_KEY! });
const { images } = await client.generate({
model: 'imagen-4.0-ultra-generate-001',
prompt: 'A sunlit Casablanca apartment, editorial photographic style.',
aspectRatio: '16:9',
count: 1,
});
// images[0].bytes (Uint8Array), images[0].mimeTypeAPI Reference
See the API reference for full documentation.
License
Apache-2.0 — see LICENSE for details.
