This library provides convenient access to the ChainGPT General Chat REST API from TypeScript or JavaScript.
npm install --save @chaingpt/generalchat
# or
yarn add generalchat
Retrieve a chat response as a stream:
import { GeneralChat } from '@chaingpt/generalchat';
const generalchat = new GeneralChat({
apiKey: 'Your ChainGPT API Key',
});
async function main() {
const stream = await generalchat.createChatStream({
question: 'Explain quantum computing in simple terms',
chatHistory: "off"
});
stream.on('data', (chunk: any)=>console.log(chunk.toString()));
stream.on('end', () => console.log("Stream ended"));
}
main();
Retrieve a chat response as a blob:
import { GeneralChat } from '@chaingpt/generalchat';
const generalchat = new GeneralChat({
apiKey: 'Your ChainGPT API Key',
});
async function main() {
const response = await generalchat.createChatBlob({
question: 'Explain quantum computing in simple terms',
chatHistory: "on"
})
console.log(response.data.bot);
}
main();
Retrieve chat history:
import { GeneralChat } from '@chaingpt/generalchat';
const generalchat = new GeneralChat({
apiKey: 'Your ChainGPT API Key',
});
async function main() {
const response = await generalchat.getChatHistory({
limit: 10,
offset: 0,
sortBy: "createdAt",
sortOrder: "ASC"
})
console.log(response.data.rows);
}
main();
When the library is unable to connect to the API,
or if the API returns a non-success status code (i.e., 4xx or 5xx response),
and error of the class GeneralChatError
will be thrown:
import { Errors } from '@chaingpt/generalchat';
async function main() {
try {
const stream = await generalchat.createChatStream({
question: 'Explain quantum computing in simple terms',
chatHistory: "off"
});
stream.on('data', (chunk: any)=>console.log(chunk.toString()));
stream.on('end', () => console.log("Stream ended"));
} catch(error) {
if(error instanceof Errors.GeneralChatError) {
console.log(error.message)
}
}
}
main();