# Below is the API document ## GradioChatBot GradioChatBot is a class for interacting with Gradio models. It can pass in some options through the constructor, then call the chat method to start a conversation, or call the `reset` method to reset the conversation history. ### Constructor ``` import { GradioChatBot } from 'gradio-chatbot'; const bot = new GradioChatBot(options); ``` * options: A string or an object, containing the following optional properties: * url: A string, or an index number of [spaces.json](./src/spaces.json). Indicates the space URL to be docked, defaulting to the first item in [spaces.json](./src/spaces.json). * endpoint: Optional. Huggingface space domain name (this domain name must end with `hf.space`). * historySize: Optional. A number, indicating the maximum length of the conversation history. Default is `10`. * fnIndex: Optional. A number, indicating the function index of the Gradio model. * args: Optional. An array, indicating the function arguments of the Gradio model. Default is an empty array. * inputIndex: Optional. A number, indicating the input argument index of the Gradio model. * parseHtml: Optional. A boolean value, indicating whether to convert the `html` output by the Gradio model to `markdown`. Default is `true`. * session_hash: Optional. A string, indicating the unique identifier of the session. Default is a randomly generated hash value. * hf_token: Optional. A string, indicating the API token of `Hugging Face`. Default is an empty string. > When `options` is a string, it means the `url` property. ### chat Start a conversation ``` await bot.chat(input, options); ``` * input: A string, indicating the user's input content. * options: An object, containing the following optional properties: * onMessage: The callback function when receiving streaming output from the Gradio model. Receives a string parameter, indicating the content of the streaming output. * onError: The callback function when an error occurs. Receives a string parameter, indicating the error message. ### reset Clears the conversation history and regenerates the session identifier. ``` await bot.reset(); ``` ## Example ```ts import { GradioChatBot } from 'gradio-chatbot'; // Create a GradioChatBot instance const bot = new GradioChatBot({ url: '0', historySize: 5, }); // Start a conversation const response = await bot.chat("Hi, how are you?", { onMessage: (msg) => { console.log("Bot:", msg); // Bot: I'm fine, thank you. How can I help you? }, }); // Start another conversation await bot.chat("What can you do?", { onMessage: (msg) => { console.log("Bot:", msg); // Bot: I can chat with you and answer some questions. }, }); // Reset conversation history await bot.reset(); ``` ## generateHash A utility method for generating session IDs. When you need to manually control the session ID, and the session record, you can use this method to generate a random ID. ``` import { generateHash } from 'gradio-chatbot'; const session_hash =generateHash(); const bot = new GradioChatBot({ url: '0', historySize: 5, session_hash, }); ```