Usage

Running Cultura.js

Start by creating a Cultura client that interacts with Deepseek’s API.

Example Code

javascriptCopyconst { Cultura } = require('deepseek-cultura-node');

const client = new Cultura(process.env.DEEPSEEK_API_KEY);
client.run();

The run() function in Cultura.js is similar to Deepseek's chat.completions.create() function but with additional features like agent function execution, handoffs, context variables, and multi-turn conversations.

Arguments

Response Fields

Agents

An Agent encapsulates instructions and functions (tools). These agents drive the conversation and can decide whether to hand off to another agent.

Example Code

javascriptCopyconst agentA = new Agent({
  name: "Agent A",
  instructions: "You are a helpful agent.",
});

Functions

Functions enable agents to perform actions like processing transactions, looking up information, or transferring control to other agents. Functions are called when the agent needs to perform a specific task.

Example Code

javascriptCopyconst transferToAgentB = () => agentB;

const agentA = new Agent({
  name: "Agent A",
  instructions: "You are a helpful agent.",
  tools: [{ name: 'transferToAgentB', fn: transferToAgentB }],
});

Handoffs and Context Variables

Agents can transfer control to other agents or update contextVariables based on the conversation flow.

Example Code

javascriptCopyconst salesAgent = new Agent({ name: "Sales Agent" });

const agent = new Agent({
  functions: [
    () => new Result({ agent: salesAgent, contextVariables: { department: "sales" } }),
  ],
});

Function Schemas

Cultura.js automatically converts functions into JSON schemas, allowing Deepseek’s API to call the appropriate function based on the tool name.

Example Code

javascriptCopyfunction lookUpItem(searchQuery) {
    /**
     * @description Use to find item ID. Search query can be a description or keywords.
     * @param {string} searchQuery - Description or keywords to search for the item.
     * @returns {string} - The found item ID.
     */

    return console.log(`Searching for item: ${searchQuery}`);
}

Streaming

You can enable streaming in Cultura.js to receive real-time responses from agents.

Example Code

javascriptCopyconst stream = client.run({ agent, messages, stream: true });
for await (const chunk of stream) {
    console.log(chunk);
}

Evaluations

Cultura.js supports various evaluation methods to test and validate your multi-agent systems. You can find example evaluations in the /examples directory.

Utils

Use the run_demo_loop utility to test your agents interactively in a REPL environment.

Example Code

javascriptCopyconst { run_demo_loop } = require('deepseek-cultura-node/utils');

run_demo_loop(agent);

Core Contributors

  • Pulkit Garg (Node.js adaptation)

  • Deepseek (original Python framework)

This README now emphasizes that Cultura.js is a Node.js implementation of Deepseek, while maintaining a high standard for documentation and usage clarity.

Last updated