tropir
v2.1.8
Published
A thin client for tracing LLM calls
Readme
Tropir TypeScript Client
A thin client for tracing LLM calls, designed for TypeScript/JavaScript applications.
Installation
npm install tropirUsage
Using with Fetch API
import { prepareRequestHeaders, createTropirFetch } from 'tropir';
// Option 1: Use prepareRequestHeaders with your own headers
const headers = new Headers({
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`
});
prepareRequestHeaders(headers);
fetch('https://api.tropir.com/openai/v1/chat/completions', {
method: 'POST',
headers,
body: JSON.stringify({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello' }]
})
});
// Option 2: Use the createTropirFetch helper
const tropirFetch = createTropirFetch();
tropirFetch('https://api.tropir.com/openai/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`
},
body: JSON.stringify({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello' }]
})
});Using with LangChain
import { ChatOpenAI } from '@langchain/openai';
import { createTropirFetch } from 'tropir';
const model = new ChatOpenAI({
openAIApiKey: process.env.OPENAI_API_KEY,
modelName: 'gpt-4o',
temperature: 0.7,
configuration: {
baseURL: 'https://api.tropir.com/openai/v1',
fetch: createTropirFetch()
}
});Session Management
You can manage tracing sessions:
import { setSessionId, getSessionId, clearSessionId } from 'tropir';
// Set a custom session ID
setSessionId('my-custom-session-id');
// Get current session ID
const sessionId = getSessionId();
// Clear session ID (reverts to default)
clearSessionId();