LangDB
LangDB is a high-performance enterprise AI gateway built in Rust, designed to govern, secure, and optimize AI traffic.
LangDB provides OpenAI-compatible APIs, enabling developers to connect with multiple LLMs by changing just two lines of code. With LangDB, you can:
- Provide access to all major LLMs
- Enable plug-and-play functionality using any framework like Langchain, Vercel AI SDK, CrewAI, etc., for easy adoption.
- Simplify implementation of tracing and cost optimization features, ensuring streamlined operations.
- Dynamically route requests to the most suitable LLM based on predefined parameters.
Setup
The LangDB provider is available via the @langdb/vercel-provider
module. You can install it with:
pnpm add @langdb/vercel-provider
Provider Instance
To create a LangDB provider instance, use the createLangDB
function:
import { createLangDB } from '@langdb/vercel-provider';
const langdb = createLangDB({ apiKey: process.env.LANGDB_API_KEY, // Required projectId: 'your-project-id', // Required threadId: uuidv4(), // Optional runId: uuidv4(), // Optional label: 'code-agent', // Optional headers: { 'Custom-Header': 'value' }, // Optional});
You can find your LangDB API key in the LangDB dashboard.
Examples
You can use LangDB with the generateText
or streamText
function:
generateText
import { createLangDB } from '@langdb/vercel-provider';import { generateText } from 'ai';
const langdb = createLangDB({ apiKey: process.env.LANGDB_API_KEY, projectId: 'your-project-id',});
export async function generateTextExample() { const { text } = await generateText({ model: langdb('openai/gpt-4o-mini'), prompt: 'Write a Python function that sorts a list:', });
console.log(text);}
generateImage
import { createLangDB } from '@langdb/vercel-provider';import { experimental_generateImage as generateImage } from 'ai';import fs from 'fs';import path from 'path';
const langdb = createLangDB({ apiKey: process.env.LANGDB_API_KEY, projectId: 'your-project-id',});
export async function generateImageExample() { const { images } = await generateImage({ model: langdb.image('openai/dall-e-3'), prompt: 'A delighted resplendent quetzal mid-flight amidst raindrops', });
const imagePath = path.join(__dirname, 'generated-image.png'); fs.writeFileSync(imagePath, images[0].uint8Array); console.log(`Image saved to: ${imagePath}`);}
embed
import { createLangDB } from '@langdb/vercel-provider';import { embed } from 'ai';
const langdb = createLangDB({ apiKey: process.env.LANGDB_API_KEY, projectId: 'your-project-id',});
export async function generateEmbeddings() { const { embedding } = await embed({ model: langdb.textEmbeddingModel('text-embedding-3-small'), value: 'sunny day at the beach', });
console.log('Embedding:', embedding);}
Supported Models
LangDB supports over 250+ models, enabling seamless interaction with a wide range of AI capabilities.
Checkout the model list for more information.
For more information, visit the LangDB documentation.