Code Monkey home page Code Monkey logo

dabbu-knowledge-platform / intel-api-server Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 1.39 MB

An implementation of the Dabbu Intel API that helps in extraction of and one pagers/summaries of all knowledge around a certain topic, person or place based on information/data from multiple providers

Home Page: https://dabbu-knowledge-platform.github.io/

License: GNU General Public License v3.0

Shell 24.55% TypeScript 75.45%
dabbu-api knowledge topic-extraction summarization place-extraction email-extraction dabbu dabbu-server

intel-api-server's Introduction

Dabbu Intel API Server

NodeJS CI Platforms: Alpine Linux MacOS Windows

With the Dabbu Knowledge Platform, we aim to rethink the way we organize and traverse large amounts of knowledge, no matter where it is stored.

Dabbu allows you to access any of your personal information (Gmail, Google Drive, OneDrive, your hard drive, ...) as simple files and folders from Dabbu CLI.

It not only allows you to seamlessly search/traverse your information across these sources (as simple as cd, list), but also move information around between drives (copy) - yes even your Gmail messages in a thread get copied to your hard drive as .md files in a zip if you do a c:/$ cp m:/INBOX/* ./"My Emails".

You can also go into the special knowledge drive where you can pivot information by topics/people/places e.g. k:/$ cd austin (will return you all your information from Gmail, Google Drive, OneDrive that has a reference to the place Austin). You can further narrow your search by doing k:/austin$ cd [email protected] (yes it even extracts people and allows you to pivot information by them). This would show you all emails and files that are related to Austin and from/to [email protected].

All of this has been implemented by abstracting access to providers (you can add more providers as modules) and exposing a unified API for information (no matter where and what form it takes).

The only way to use Dabbu (at the moment) is through a command-line interface (CLI). A desktop app is in the works.

This is an implementation of the Dabbu Intel API. This repository does not house the code for the CLI. Information on the CLI, including installation process and setup, can be found here.

Using the Intel API Server

The Intel API Server can be used in any application to extract topics, people and places from a given document. It can (work in progress) also extract pieces of text relevant to a certain topic in a document. To get started on using the Intel API Server in your app, look at the getting started guide.

Supported File Types

  • PDF (.pdf)
  • MS Word (.docx)
  • MS PowerPoint (.pptx)
  • MS Excel (.xlsx)
  • Plain text content

Issues and pull requests

You can contribute to Dabbu by reporting bugs, fixing bugs, adding features, and spreading the word! If you want to report a bug, create an issue by clicking here. While creating an issue, try to follow the Bug report or Feature request template.

Please read contributing.md for a detailed guide to setting up your environment and making changes to the code.

Also, if you need any help on the code, please do ask on this Github discussion. We will only be glad to help :)

Legal stuff

License - GNU GPL v3

All projects of the Dabbu Knowledge Platform are copyrighted (C) 2021 Dabbu Knowledge Platform [email protected] and licensed under the GNU GPLv3 license. See license.md for a copy of the license file.

intel-api-server's People

Contributors

dependabot-preview[bot] avatar gamemaker1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

intel-api-server's Issues

[CODE]: Add tests

Describe the issue
There are currently no tests written to check API behaviour when changes are made.

How could it be made better?
Adding tests using a test runner like Ava.
Screenshots
If applicable, add screenshots to help explain the benefits of your changes.

Additional context
It would be better to do this now, since the implementation is still underway.

[FEAT]: User-specified keywords that are considered a topic

Is your feature request related to a problem? Please describe.

Sometimes there are files with certain keywords that I would like to be associated with a certain topic. These files, though they are related to that topic, do not get listed under that topic.

Describe the solution you'd like

Allow the user to specify certain keywords and the topic they should be associated with to the extract-info method. At the end of the current extraction process, each file will be searched for that keyword. If the keyword exists, the file will be associated with the specified topic.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

[CODE]: Migrate to Typescript

Describe the issue
The code currently has no typing. It should be strongly typed, especially since this is an API implementation and shoud return results in a specific format.

How could it be made better?
Migrating existing code to Typescript. Also, creating separate models for objects like topics, people and places would help in consistency with the API.

Screenshots
If applicable, add screenshots to help explain the benefits of your changes.

Additional context
Add any other context about the problem here.

[FEAT]: Accept URLs to files

Is your feature request related to a problem? Please describe.

Currently the API accepts only a list of files. It would be more convenient for some applications (web apps) to supply a URL instead as they don't have easy access to temporary file storage.

Describe the solution you'd like

Accept a list of URLs instead of files in the content field of the request body.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

[FEAT]: Add one pager functionality

Is your feature request related to a problem? Please describe.

The one pager/summary function is present in the API specification but not implemented in the API.

Describe the solution you'd like

Add the one pager/summary function to the API implementation.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

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.