Git Product home page Git Product logo

duochat's Introduction

DuoChat

DuoChat is an advanced language model interaction framework, designed to allow one model to execute a task and another model to verify or refine that task through a set number of rounds. This iterative process promotes the generation of more refined content by engaging two models in a back-and-forth conversation.

Inspiration

This project is inspired by and extends the concepts from TypeChat. We would like to express our gratitude to the original TypeChat project by Microsoft for laying the groundwork.

Features

  • Dual Model Interactions: One model as the executor, the other as the verifier.
  • Iterative Refinement: Multiple rounds of task refinement to improve accuracy and quality.
  • Configurable Rounds: Adjust the number of refinement rounds as per your needs.
  • Debug Mode: Enhanced logging for debugging and insight purposes.

How to Use

To use DuoChat, you need to:

  1. Initialize your executor and verifier models.
  2. Define your task.
  3. Call the perform method to get the models to interact and refine the task solution.

Installation

npm install duochat

Example

import path from "path";
import dotenv from "dotenv";

dotenv.config({ path: path.join(__dirname, "../../../.env") });

import { createLanguageModel, DuoChatLanguageModel } from 'duochat';
import { createDuoChat, DuoChat } from 'duochat';

// Create executor and verifier
const executor: DuoChatLanguageModel = createLanguageModel(process.env);
const verifier: DuoChatLanguageModel = createLanguageModel(process.env);

// Create DuoChat instance
const duochat: DuoChat = createDuoChat(executor, verifier);
duochat.debug = true;

// Define task description
const taskDescription = 'Write an introduction for a blog post about the importance of digital privacy.';

// Run DuoChat
async function main(): Promise<void> {
  const result = await duochat.perform(taskDescription);
  console.log('Final result:\n', result);
}

main();

Acknowledgements

Special thanks to TypeChat for providing the foundational ideas and structure for this project.

License

MIT License

duochat's People

Contributors

zachqin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.