Code Monkey home page Code Monkey logo

axflow's Introduction

Axflow banner

The TypeScript framework for AI development

Github CI Slack Learn this repo using Greptile

Axflow is a collection of modules for building robust natural language powered applications. These modules can be adopted incrementally, thus providing a modular and scalable solution. Used together, they form an end-to-end framework for developing AI applications.

Modules

  • @axflow/models — A zero-dependency, modular SDK for building robust natural language applications. Includes React hooks and streaming utilities that make building AI applications a breeze.
  • axgen — A framework for connecting your data to large language models
  • axeval — A framework for evaluating LLM output quality

In addition to the above modules, we're working on the following modules:

  • extract: A library for efficient data processing, particularly loading, transforming, and chunking documents from arbitrary sources. Most useful for applications that need to load and preprocess data for vector search.
  • serve: A serving framework to run any LLM model (OSS or otherwise). It will also provide middleware options for user throttling, analytics, and logging
  • finetune: A library focused on fine-tuning models

Goals

Axflow aspires to deconstruct the complex paradigms of working with LLMs into manageable and intuitive components. Our library takes a code-first approach, emphasizing the importance of flexibility and control for developers. As a foundational framework, Axflow empowers developers to build higher-level TypeScript AI features and products seamlessly.

Examples

Here is an example open source UI showcasing what our first module, axgen, can do, with a short video walkthrough.

License

MIT

axflow's People

Contributors

benjreinhart avatar nichochar avatar ricki-epsilla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

axflow's Issues

Add Chroma?

Hi there, would you be open to adding Chroma as a vector store option?

Support additional formats

I have some unstructured text (paragraphs) as well as some JSON I could flatten to unstructured.

My other data sources are YouTube auto subtitles and "random" site scrapes.

Be amazing to not have to string all that gather/process work myself.

openAIChat.streamTokens() doesn't stream the tokens when the response is a function_call (tool_call)

A chunk from when getting a tool response looks like this:

      {
        id: 'chatcmpl-8LOwr2AcOfQU0zPGdCKkyYIlnz30B',
        object: 'chat.completion.chunk',
        created: 1700111481,
        model: 'gpt-4-1106-preview',
        system_fingerprint: 'fp_a24b4d720c',
        choices: [
          {
            index: 0,
            delta: {
              tool_calls: [ { index: 1, function: { arguments: ', Jap' } } ]
            },
            finish_reason: null
          }
        ]
      }

Our library doesn't expect the delta to be tool_calls, so returns an empty string.

here's another chunk, with the function name:

      {
        id: 'chatcmpl-8LOwr2AcOfQU0zPGdCKkyYIlnz30B',
        object: 'chat.completion.chunk',
        created: 1700111481,
        model: 'gpt-4-1106-preview',
        system_fingerprint: 'fp_a24b4d720c',
        choices: [
          {
            index: 0,
            delta: {
              tool_calls: [
                {
                  index: 2,
                  id: 'call_ucviJGsYAwobgBAMamh5mGb3',
                  type: 'function',
                  function: { name: 'get_current_weather', arguments: '' }
                }
              ]
            },
            finish_reason: null
          }
        ]
      }

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.