Closed4

memo @240209*

nakamotonakamoto

https://jsr.io/waitlist

将来的にnpmを置き換えるようなものになるかも。名前的にもjsr(JavaScript Repository )の方がnpm(node package manager)よりも適切。npmはもともとNode.jsのパッケージマネージャーということでNode.jsのものだった。JSが元々サーバーサイドで動くようなものではなかったけどもサーバーサイドでも動くようにしようと生まれたのがNode.jsでそのときに他の人が作ったものを簡単に使い回せるような仕組みとしてレジストリが必要として作られたのがnpmだった。そしてNode.jsは仕様的に特殊で普通のJavaScriptじゃない仕様も入っててそういう環境差異をなくそうと生まれたのがECMAScriptES Modulesの形式にするのがいまは当たり前になってるし、そうなるとNode.jsという言葉に違和感がある。いまはReactのライブラリとかも基本的にはnpmを介してインストールするけどもNode.jsじゃない。Node.jsのものもあるけどもブラウザ側でしか使用しないようなものもnpmからダウンロードするというのは名前的におかしいしjsrの方が今を表してる。

nakamotonakamoto

Vercel

https://vercel.com/blog/ai-integrations

Vercel SDKのアップデータのお知らせ。
Vercelの管理画面にAIのプレイグラウンドが出た。
Vercel AI SDKを使って簡単にAIモデルを使用できる。
具体的にはNext.jsを使ってPerplexity APIと疎通したかったらこのように書ける。
Vercel AI SDKはAIモデルのORMのようなもの。統一された記法によってAIモデルと接続できる。

app/api/chat/route.ts
import { OpenAIStream, StreamingTextResponse } from 'ai';
import OpenAI from 'openai';

const perplexity = new OpenAI({
  apiKey: process.env.PERPLEXITY_API_KEY || '',
  baseUrl: 'https://api.perplexity.ai',
});

export async function POST(req: Request) {
  const { messages } = await req.json();

  // Generated a chat completion based on the prompt
  const response = await perplexity.chat.completions.create({
    model: 'pplx-7b-chat',
    stream: true,
    messages: messages,
  });

  // Convert the response into a friendly text-stream
  const stream = OpenAIStream(response);

  // Respond with the stream
  return new StreamingTextResponse(stream);
}
このスクラップは2024/02/09にクローズされました