feat(ai): Rename package to @mariozechner/pi-ai and improve documentation
- Changed package name from @mariozechner/ai to @mariozechner/pi-ai - Fixed generate-models.ts to fetch from models.dev API instead of local file - Completely rewrote README with practical examples: - Image input with base64 encoding - Proper tool calling with context management - Streaming with completion indicators - Abort signal usage - Provider-specific options (reasoning/thinking) - Custom model definitions for local/self-hosted LLMs - Environment variables explanation - Bumped version to 0.5.9 and published
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env tsx
|
||||
|
||||
import { readFileSync, writeFileSync } from "fs";
|
||||
import { writeFileSync } from "fs";
|
||||
import { join, dirname } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
@@ -164,10 +164,11 @@ async function fetchOpenRouterModels(): Promise<NormalizedModel[]> {
|
||||
}
|
||||
}
|
||||
|
||||
function loadModelsDevData(): NormalizedModel[] {
|
||||
async function loadModelsDevData(): Promise<NormalizedModel[]> {
|
||||
try {
|
||||
console.log("Loading models from models.json...");
|
||||
const data = JSON.parse(readFileSync(join(packageRoot, "src/models.json"), "utf-8"));
|
||||
console.log("Fetching models from models.dev API...");
|
||||
const response = await fetch("https://models.dev/api.json");
|
||||
const data = await response.json();
|
||||
|
||||
const models: NormalizedModel[] = [];
|
||||
|
||||
@@ -232,7 +233,7 @@ function loadModelsDevData(): NormalizedModel[] {
|
||||
async function generateModels() {
|
||||
// Fetch all models
|
||||
const openRouterModels = await fetchOpenRouterModels();
|
||||
const modelsDevModels = loadModelsDevData();
|
||||
const modelsDevModels = await loadModelsDevData();
|
||||
|
||||
// Combine models (models.dev takes priority for Groq/Cerebras)
|
||||
const allModels = [...modelsDevModels, ...openRouterModels];
|
||||
|
||||
Reference in New Issue
Block a user