Loading...
Loading...
Complete reference for the Galileo AI platform TypeScript/JS SDK for evaluating, observing, and protecting GenAI applications. Use when building Node.js or TypeScript applications that need LLM evaluation, production observability, tracing, or runtime guardrails with Galileo.
npx skill4agent add gyanesh-m/skills galileo-typescript-sdk@rungalileo/galileonpm install @rungalileo/galileoyarn add @rungalileo/galileo
pnpm add @rungalileo/galileoimport { GalileoObserveWorkflow } from "@rungalileo/galileo";
const workflow = new GalileoObserveWorkflow("my-observe-project");
await workflow.init();
workflow.addWorkflow({ input: "What is quantum computing?" });
workflow.addLlmStep({
input: "What is quantum computing?",
output: "Quantum computing uses quantum bits...",
durationNs: 1500000000,
model: "gpt-4o",
});
workflow.concludeWorkflow("Quantum computing uses quantum bits...");
await workflow.uploadWorkflows();.envGALILEO_API_KEY="your-api-key" # Required — from Galileo console
GALILEO_CONSOLE_URL="https://app.galileo.ai" # Console URL (or self-hosted)GALILEO_USERNAME="your-username"
GALILEO_PASSWORD="your-password"import { GalileoObserveWorkflow } from "@rungalileo/galileo";
const workflow = new GalileoObserveWorkflow("my-project");
await workflow.init();
workflow.addWorkflow({ input: "User question here" });
workflow.addLlmStep({
input: "User question here",
output: "LLM response text",
durationNs: 1200000000,
model: "gpt-4o",
});
workflow.concludeWorkflow("LLM response text");
await workflow.uploadWorkflows();workflow.addWorkflow({ input: "What are the benefits of RAG?" });
workflow.addRetrieverStep({
input: "What are the benefits of RAG?",
output: ["Document 1 content", "Document 2 content"],
});
workflow.addLlmStep({
input: "Based on the context, explain RAG benefits.",
output: "RAG provides improved accuracy by...",
durationNs: 2000000000,
model: "gpt-4o",
});
workflow.concludeWorkflow("RAG provides improved accuracy by...");workflow.addWorkflow({ input: "Calculate 15 * 42" });
workflow.addToolStep({
input: "15 * 42",
output: "630",
durationNs: 50000000,
});
workflow.addLlmStep({
input: "The calculator returned 630. Respond to the user.",
output: "15 multiplied by 42 equals 630.",
durationNs: 800000000,
model: "gpt-4o",
});
workflow.concludeWorkflow("15 multiplied by 42 equals 630.");import { GalileoEvaluateWorkflow } from "@rungalileo/galileo";
const evaluateWorkflow = new GalileoEvaluateWorkflow("eval-project");
await evaluateWorkflow.init();
const testCases = [
{ input: "What is ML?", expected: "Machine learning is..." },
{ input: "Explain AI", expected: "Artificial intelligence is..." },
];
for (const testCase of testCases) {
evaluateWorkflow.addWorkflow({ input: testCase.input });
const response = await callYourLLM(testCase.input);
evaluateWorkflow.addLlmStep({
input: testCase.input,
output: response,
durationNs: 1000000000,
model: "gpt-4o",
});
evaluateWorkflow.concludeWorkflow(response);
}
await evaluateWorkflow.uploadWorkflows({
context_adherence: true,
completeness: true,
toxicity: true,
});const evaluateWorkflow = new GalileoEvaluateWorkflow("rag-eval");
await evaluateWorkflow.init();
evaluateWorkflow.addWorkflow({ input: "How does photosynthesis work?" });
evaluateWorkflow.addRetrieverStep({
input: "How does photosynthesis work?",
output: ["Photosynthesis is the process by which plants..."],
});
evaluateWorkflow.addLlmStep({
input: "Using the context, explain photosynthesis.",
output: "Photosynthesis is a process used by plants...",
durationNs: 1500000000,
model: "gpt-4o",
});
evaluateWorkflow.concludeWorkflow("Photosynthesis is a process used by plants...");
await evaluateWorkflow.uploadWorkflows({
context_adherence: true,
chunk_attribution: true,
});const workflow = new GalileoObserveWorkflow("batch-project");
await workflow.init();
const queries = ["Question 1", "Question 2", "Question 3"];
for (const query of queries) {
workflow.addWorkflow({ input: query });
const response = await callYourLLM(query);
workflow.addLlmStep({
input: query,
output: response,
durationNs: 1000000000,
model: "gpt-4o",
});
workflow.concludeWorkflow(response);
}
await workflow.uploadWorkflows();const workflow = new GalileoObserveWorkflow("agent-project");
await workflow.init();
workflow.addWorkflow({ input: "Research and summarize quantum computing" });
workflow.addToolStep({
input: "search: quantum computing overview",
output: "Search results...",
durationNs: 200000000,
});
workflow.addRetrieverStep({
input: "quantum computing",
output: ["Doc1: Quantum bits...", "Doc2: Superposition..."],
});
workflow.addLlmStep({
input: "Summarize the following research on quantum computing...",
output: "Quantum computing leverages quantum mechanical phenomena...",
durationNs: 2500000000,
model: "gpt-4o",
});
workflow.concludeWorkflow(
"Quantum computing leverages quantum mechanical phenomena..."
);
await workflow.uploadWorkflows();init()concludeWorkflow()uploadWorkflows()durationNs.envGalileoEvaluateWorkflowGalileoObserveWorkflowuploadWorkflows()