8000 GitHub - lucasliet/duckduckgo-ai-provider: duckduckgo ai provider compatible with vercel ai sdk
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Jun 2, 2025. It is now read-only.

lucasliet/duckduckgo-ai-provider

Repository files navigation

DuckDuckGo AI Provider

Um provedor para o Vercel AI SDK que permite integrar facilmente o modelo de IA do DuckDuckGo em suas aplicações JavaScript/TypeScript.

License JSR @lucasliet tests publish JSR Version NPM

Características

  • Compatível com o Vercel AI SDK (implementa LanguageModelV1)
  • Suporta chat e geração de texto via DuckDuckGo
  • Suporte para ESM, CommonJS, UMD e Deno
  • Streaming de respostas em tempo real
  • Mínima dependência externa

Instalação

npm/Node.js

npm install duckduckgo-ai-provider

Deno (via JSR)

import { DuckDuckGoAIService } from "jsr:@lucasliet/duckduckgo-ai-provider";

Uso Básico

import { DuckDuckGoAIService } from "duckduckgo-ai-provider";
import { generateText } from "ai";

export async function POST(req: Request) {
  const { messages } = await req.json();
  
  const { text } = await generateText({
    model: new DuckDuckGoAIService(),
    messages,
  });
  
  return text;
}

Uso Direto (sem Vercel AI SDK)

import { DuckDuckGoAIService } from "duckduckgo-ai-provider";

// Uso síncrono
async function askQuestion() {
  const ddg = new DuckDuckGoAIService();
  const response = await ddg.chat([
    { role: "user", content: "Qual é a capital da Suécia?" }
  ]);
  console.log(response); // "A capital da Suécia é Estocolmo."
}

// Uso com reader
async function askQuestionWithReader() {
  const ddg = new DuckDuckGoAIService();
  const reader = await ddg.chatReader([
    { role: "user", content: "Explique brevemente o que é inteligência artificial." }
  ]);
  
  // Ler resposta em partes
  const decoder = new TextDecoder();
  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    console.log(decoder.decode(value));
  }
}

// Uso com streaming
async function askQuestionWithStreaming() {
  const ddg = new DuckDuckGoAIService();
  const stream = await ddg.chatStream([
    { role: "user", content: "Explique brevemente o que é inteligência artificial." }
  ]);
  
  for await (const chunk of stream) {
    console.log(chunk);
  }
}

Opções Avançadas

Modelos

O DuckDuckGo tem diferentes modelos disponíveis. Por padrão, usamos o "o3-mini":

// Use o modelo o3-mini (padrão)
const model = new DuckDuckGoAIService();

// Ou especifique outro modelo
const model = new DuckDuckGoAIService("gpt-4o-mini");

Compatibilidade

Este pacote funciona em:

  • Node.js (ESM e CommonJS)
  • Navegadores (ESM e UMD)
  • Deno (via JSR)
  • Bun
  • Ambientes edge (Vercel Edge Runtime, Cloudflare Workers, etc.)

About

duckduckgo ai provider compatible with vercel ai sdk

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 
0