
AI.js é a maneira mais fácil de adicionar texto, imagens, incorporação e pesquisa vetorial de IA ao seu aplicativo Node.js.
await AI ( "the color of the sky is" ) ; // blue
await AI . Image ( "a red rose" ) ; // <image buffer: red rose>
await AI . Image . Concept ( "a red rose" ) ; // {prompt: a red rose in realist style, watercolor ...", <image buffer>}
await AI . Embeddings ( "hello world" ) ; // Array(384)
const db = new AI . VectorDB ( ) ;
await db . add ( "red" ) ;
await db . add ( "blue" ) ;
await db . search ( "redish" ) // red Sob o capô AI.js integra perfeitamente as APIs locais e remotas
GPT-4 , Gemini , Claude , Mistral ou LLaMa na mesma interface simplesStable Diffusion e serviços remotos como Replicate e Stability AIlocal , OpenAI ou Mistral Instale AI.js via npm
npm install @themaximalist/ai.js Habilite pelo menos um serviço definindo seu ambiente API_KEY
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=sk-ant-...
export STABILITY_API_KEY=sk-...
export REPLICATE_API_KEY=sk-....
export MISTRAL_API_KEY=... A interface padrão é o texto. AI.js permite enviar solicitações únicas ou criar históricos de mensagens complexos com o Modelo de Linguagem Grande (LLM).
const AI = require ( "@themaximalist/ai.js" ) ;
await AI ( "what is the codeword?" ) ; // i don't know any codewords
const ai = new AI ( "the codeword is blue" ) ;
await ai . chat ( "what is the codeword?" ) ; // blue O modo AI.js padrão é LLM e está sendo executado no topo da LLM.JS. Consulte esse site para obter documentação completa, que também se aplica ao AI.js
Existem muitos recursos suportados em dezenas de modelos populares, como streaming, suporte JSON, max_tokens, temperatura, sementes e muito mais.
AI.js fornece funções poderosas de geração de imagens através Automatic1111 , StabilityAI e Replicate . Verifique se você tem cada configuração de serviço conforme necessário, executando localmente ou uma variável de ambiente válida.
const image = await AI . Image ( "a red rose" ) ;
fs . writeFileSync ( "rose.png" , image ) ;Veja Imagine.js para toda a documentação do gerador de imagens.
AI.js também fornece um gerador de conceitos - uma maneira de usar o LLMS juntamente com os geradores de imagens.
const { prompt , buffer } = await AI . Image . Concept ( "a red rose" ) ;
console . log ( prompt ) ; // a red rose in realist style, watercolor ..."
fs . writeFileSync ( "complex-rose.png" , buffer ) ; Isso atinge seu provedor LLM e gera um prompt de imagem complexo antes de enviá -lo para o serviço de geração de imagens.
AI.js permite gerar facilmente incorporações locais ou remotas usando Embeddings.js .
const embeddings = await AI . Embeddings ( "hello world" ) ; // embedding arrayFunciona com incorporações locais, Openai e Mistral.
As incorporações podem ser usadas em qualquer banco de dados vetorial como Pinecone, Chroma, PG Vector, etc ...
Consulte o incorpddings.js para todas as opções.
AI.js Vamos encontrar rapidamente seqüências de texto semelhantes usando um banco de dados vetorial.
Ele é executado na memória e pode usar incorporações do AI.js
Para encontrar seqüências semelhantes, adicione algumas ao banco de dados e pesquise.
const db = new AI . VectorDB ( ) ;
await db . add ( "orange" ) ;
await db . add ( "blue" ) ;
const result = await db . search ( "light orange" ) ;
// [ { input: 'orange', distance: 0.3109036684036255 } ]Consulte Vectordb.js para obter documentação completa.
AI.js inclui estes subprojetos:
Confira cada projeto individual para documentação completa da API.
Eles podem ser usados individualmente ou juntos, como no AI.js
AI.js usa o módulo NPM debug em todos os seus subprojetos.
O espaço para nome é a versão minúscula do nome do projeto.
Veja os logs de depuração configurando a variável do ambiente DEBUG .
> DEBUG=llm.js *
> node src/run_ai.js
# debug logsVocê pode combinar vários logs com uma vírgula.
> DEBUG=llm.js * ,imagine.js * ,embeddings.js * ,vectordb.js *
> node src/run_ai.js
# debug all logs AI.js está atualmente usado nos seguintes projetos:
Mit
Criado pelo maximalista, consulte nossos projetos de código aberto.