Dropstone Support

Démarrage rapide du SDK Dropstone

Installez le SDK Dropstone, effectuez un appel API sans interface avec une clé API, et lancez une session d'agent locale qui conserve la mémoire de votre compte. Inclut le streaming, la sortie structurée et l'utilisation du SDK OpenAI avec Dropstone.

Deux clients, deux premiers appels. Choisissez celui qui correspond à l'endroit où votre code s'exécute ; la vue d'ensemble du SDK explique la différence.


Sans interface : un appel depuis n'importe où

  1. Créez une clé API dans Settings, sous API keys, dans votre tableau de bord. Elle ressemble à dsk_live_... et n'est affichée qu'une seule fois.
  2. Installez le SDK : npm install @blankline/dropstone-sdk.
  3. Placez la clé dans l'environnement, sous DROPSTONE_API_KEY. Traitez-la comme un mot de passe : ne la committez jamais et ne l'embarquez jamais dans un bundle navigateur.
  4. Appelez-la. Le client lit la variable d'environnement tout seul.
import { createDropstoneApi } from "@blankline/dropstone-sdk"

const dropstone = createDropstoneApi()

const resp = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  messages: [{ role: "user", content: "Résume cette entrée de changelog." }],
})

console.log(resp.choices[0].message.content)

Ajoutez stream: true et le même appel renvoie un itérateur asynchrone de morceaux, ce qui est ce qu'il vous faut dans une interface utilisateur ou pour une réponse longue :

const stream = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  stream: true,
  messages: [{ role: "user", content: "Compte jusqu'à cinq." }],
})

for await (const chunk of stream) {
  process.stdout.write(chunk.choices?.[0]?.delta?.content ?? "")
}

Le point de terminaison est compatible OpenAI, donc un client existant fonctionne en le pointant vers Dropstone :

import OpenAI from "openai"

const openai = new OpenAI({
  baseURL: "https://api.dropstone.io/api/v1",
  apiKey: process.env.DROPSTONE_API_KEY,
})

Les requêtes avec clé API sont facturées à l'usage depuis votre solde de crédits, et non depuis une allocation de forfait, et une clé avec un solde vide est refusée avec un lien de rechargement. Voir Utiliser l'API avec votre forfait.


Local : l'agent, dans votre processus

Le client local démarre un processus dropstone serve, vous remet un client typé pointé vers lui, et le ferme lorsque vous avez terminé. Comme il s'exécute en tant que votre compte, les sessions conservent votre mémoire.

  1. Installez le CLI Dropstone et connectez-vous avec dropstone login. Le SDK lit la même connexion.
  2. Créez une session, puis envoyez-lui une invite.
import { createDropstone } from "@blankline/dropstone-sdk"

const { client, server } = await createDropstone()

const session = await client.session.create({
  body: { agent: "build", model: { providerID: "dropstone", modelID: "dropstone-pro" } },
})

const reply = await client.session.prompt({
  path: { id: session.data.id },
  body: { parts: [{ type: "text", text: "Bonjour, qui êtes-vous ?" }] },
})

console.log(reply.data)
await server.close()

Si un serveur est déjà en cours d'exécution, ignorez le lancement :

import { createDropstoneClient } from "@blankline/dropstone-sdk"

const client = createDropstoneClient({ baseUrl: "http://127.0.0.1:4096" })

Conseils

  • Épinglez la plage de versions. Le SDK est publié à un rythme rapide, donc basez-vous sur une plage que vous avez testée plutôt que sur la dernière étiquette.
  • Utilisez v2 pour le nouveau code. @blankline/dropstone-sdk/v2 est la surface sur laquelle les nouveaux points de terminaison arrivent ; v1 reste pour les intégrations existantes.
  • Gardez l'apprentissage d'un pipeline hors de votre propre mémoire. Un appel sans interface n'a aucune mémoire attachée, et une session locale utilise le compte avec lequel vous vous êtes connecté. Si une intégration doit avoir sa propre mémoire, donnez-lui son propre compte. Voir Une mémoire sur chaque surface.

Limitations

  • Le client local nécessite le CLI sur la même machine ; un hôte sans celui-ci doit utiliser le client sans interface.
  • Le point de terminaison sans interface est la complétion de chat. La boucle d'agent, les opérations sur fichiers et les outils d'espace de travail sont sur le client local.

Related articles

Ctrl+I