npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

judini

v2.0.5

Published

judini is a Node.js library to interact with the CodeGPTPlus API. It enables sending messages to the API and handling the responses in an efficient and easy manner. It also provides methods to check the streaming status and to stop the streaming at any ti

Downloads

22

Readme

Judini

Judini is a Node.js library designed to interact seamlessly with the CodeGPTPlus API. It simplifies the process of sending messages to the API and managing the responses in an efficient and straightforward manner.

Key Features

  • API Interaction: Judini provides a user-friendly and straightforward interface to interact with the CodeGPTPlus API. You can effortlessly send requests and receive responses from the API.

  • Response Handling: The library allows you to handle API responses efficiently. It can process the received data and convert it into a format that is easy to use and understand.

  • Streaming Control: Judini also offers methods to check the streaming status and to stop the streaming at any given moment. This gives you complete control over the streaming process.

With Judini, working with the CodeGPTPlus API becomes a hassle-free and straightforward task. Whether you are sending messages, receiving responses, or controlling the streaming, Judini makes everything more manageable and simpler.

Example of usage

Here's an example of how to use Judini to interact with the CodeGPTPlus API:

import { CodeGPTPlus } from 'judini'

async function main () {
    // Replace with your own API Key
    const codegpt = new CodeGPTPlus({ apiKey: 'YOUR_API_KEY' }) // optional orgId

    // Define the message
    const msg = [{ role: 'user', content: 'What is the capital of Australia?' }]

    // Send the message and process the response
    const res = await codegpt.chatCompletion({
        messages: msg,
        agentId: 'YOUR_AGENT_ID'
    }, (chunk) => {
        console.log(chunk) // show the streaming response
    })
    console.log({ res }) // show the final response

    codegpt.getAgents().then((res) => { // get all agents
        console.log(res)
    })

    codegpt.getAgent('YOUR_AGENT_ID').then((res) => { // get a specific agent
        console.log(res)
    })
}

main()

codegpt.chatCompletion

The chatCompletion method is a key feature of the Judini library. This function allows you to send your chat message to the CodeGPTPlus API and handle the response. Here's a brief overview of how it works:

const response = await codegpt.chatCompletion({ messages, agentId } , callback);

Parameters

  • messages: An array of message objects that you want to send to the CodeGPTPlus API. Each object should have a role (which can be 'system', 'user', or 'assistant') and content which is the actual message.

  • agentId: This parameter specifies the ID of the agent you want to use for the conversation. If no agentId is provided, the default agent is used.

  • callback: (Optional): This optional parameter is a function that will be called once the response is received from the API. The callback function is passed the response from the API as a parameter.

Return Value

The chatCompletion method returns the complete string of the response from the CodeGPTPlus API. This allows you to easily access and manipulate the API response.

Please note that the agentId and callback parameters are optional.

codegpt.getAgents

The getAgents method allows you to retrieve a list of all the agents from the CodeGPTPlus API. Here's a brief overview of how to use it:

const agents = await codegpt.getAgents();

Parameters

This method does not take any parameters.

Return Value

The getAgents method returns an array of objects, each representing an agent. Each object contains details about an agent, such as its ID, name, etc.

codegpt.getAgent

The getAgent method allows you to retrieve a specific agent from the CodeGPTPlus API. Here's a brief overview of how to use it:

const agent = await codegpt.getAgent(agentId);

Parameters

  • agentId: The ID of the agent you want to retrieve from the CodeGPTPlus API.

Return Value

The getAgent method returns an object containing details about the agent. The object contains details such as the agent's ID, name, etc.

codegpt.createAgent

The createAgent method allows you to create a new agent in the CodeGPTPlus API. Here's a brief overview of how to use it:

const agent = await codegpt.createAgent({
    name: 'My New Agent',
    topk: 5,
    model: 'gpt-3.5-turbo',
    welcome: 'Welcome to my new agent!',
    prompt: 'This is a prompt for my new agent.'
});

Parameters

  • name: The name of the new agent you want to create.
  • topk: The top-k value for the new agent (the number of context chunks to consider for the completion).
  • model: The model to be used for the new agent.
  • welcome: The welcome message for the new agent.
  • prompt: The system prompt for the new agent.

Return Value

The createAgent method returns an object containing details about the newly created agent. The object contains details such as the agent's ID, name, etc.

codegpt.updateAgent

The updateAgent method allows you to update an existing agent in the CodeGPTPlus API. Here's a brief overview of how to use it:

const agent = await codegpt.updateAgent(agentId, {
    name: 'My Updated Agent',
    model: 'gpt-3.5-turbo',
    prompt: 'This is an updated prompt for my agent.',
    topk: 10,
    welcome: 'Welcome to my updated agent!',
    is_public: true,
    pincode: '1234'
});

Parameters

  • agentId: The ID of the agent you want to update in the CodeGPTPlus API.
  • agent: An object containing the updated values for the agent. The object can contain the following properties:
    • name: The updated name of the agent.
    • model: The updated model to be used by the agent. For example, 'gpt-3.5-turbo'.
    • prompt: The updated prompt of the agent.
    • topk: The updated number of tokens to consider for each step.
    • welcome: The updated welcome message of the agent.
    • is_public: The updated visibility of the agent. If true, the agent is public.
    • pincode: The updated pincode of the agent.

Return Value

The updateAgent method returns an object containing details about the updated agent. The object contains details such as the agent's ID, name, etc.

codegpt.deleteAgent

The deleteAgent method allows you to delete an existing agent from the CodeGPTPlus API. Here's a brief overview of how to use it:

const message = await codegpt.deleteAgent(agentId);

Parameters

  • agentId: The ID of the agent you want to delete from the CodeGPTPlus API.

Return Value

The deleteAgent method returns a message indicating that the deletion was successful.

codegpt.updateAgentDocuments

The updateAgentDocuments method allows you to update the documents of an existing agent in the CodeGPTPlus API. Here's a brief overview of how to use it:

const agent = await codegpt.updateAgentDocuments(agentId, [
    'documentId1',
    'documentId2'
]);

Parameters

  • agentId: The ID of the agent whose documents you want to update in the CodeGPTPlus API.
  • documents: An array of document IDs to be associated with the agent.

Return Value

The updateAgentDocuments method returns an object containing details about the updated agent. The object contains details such as the agent's ID, name, etc.

codegpt.getDocument

The getDocument method allows you to retrieve a specific document from the CodeGPTPlus API. Here's a brief overview of how to use it:

const document = await codegpt.getDocument(documentId);

Parameters

  • documentId: The ID of the document you want to retrieve from the CodeGPTPlus API.

Return Value

The getDocument method returns an object containing details about the document. The object contains details such as the document's ID, name, etc.

codegpt.getDocuments

The getDocuments method allows you to retrieve a list of all the documents from the CodeGPTPlus API. Here's a brief overview of how to use it:

const documents = await codegpt.getDocuments();

Parameters

This method does not take any parameters.

Return Value

The getDocuments method returns an array of objects, each representing a document. Each object contains details about a document, such as its ID, name, etc.

codegpt.deleteDocument

The deleteDocument method allows you to delete an existing document from the CodeGPTPlus API. Here's a brief overview of how to use it:

const message = await codegpt.deleteDocument(documentId);

Parameters

  • documentId: The ID of the document you want to delete from the CodeGPTPlus API.

Return Value

The deleteDocument method returns a message indicating that the deletion was successful.

codegpt.experimental_AIStream

The experimental_AIStream method is a feature of the Judini library, which allows you to stream messages to the CodeGPTPlus API and handle the streaming response. This method is particularly useful for applications that require real-time and dynamic interaction with the API. It's important to note that this method relies on the Vercel AI SDK to function.

The Vercel AI SDK provides the StreamingTextResponse class, which is used to return the streaming response from the experimental_AIStream method. This SDK is designed to work with various frameworks such as React/Next.js, Svelte/SvelteKit, Vue/Nuxt, Node.js, Serverless, and the Edge Runtime, making it a versatile tool for many different types of applications.

Here's a brief overview of how to use it:

import { StreamingTextResponse } from 'ai'
import { CodeGPTPlus } from 'judini'

export async function POST(req){
    const { messages, agentId } = await req.json()
  
    const codegpt = new CodeGPTPlus({ apiKey: 'YOUR_API_KEY' }) // optional orgId
    const stream = await codegpt.experimental_AIStream({ messages, agentId });
    
    return new StreamingTextResponse(stream)
}

Parameters

  • messages: An array of message objects that you want to stream to the CodeGPTPlus API. Each object should have a role (which can be 'system', 'user', or 'assistant') and content which is the actual message.
  • agentId: This parameter specifies the ID of the agent you want to use for the conversation. If no agentId is provided, the default agent is used.

Return Value

The experimental_AIStream method returns a ReadableStream object that can be used to handle the streaming response from the CodeGPTPlus API. This object can be used to process the streaming response and convert it into a format that is easy to use and understand.