Code Monkey home page Code Monkey logo

ocular's Introduction



Ocular Logo

✨ ChatGPT meets Google Search ✨


License Issues


Launch YC: Ocular AI - Bringing enterprise search, gen AI, and actions to the workplace Ocular AI - The future of work is here | Product Hunt


The Open Core Enterprise Generative AI and Search Platform

AI Powered Search and Chat for Companies - Think ChatGPT meets Google Search but powered by your data.

Twitter | Join Our Slack | Report Bug | Request Feature

🚀 Introduction

Ocular is a set of modules and tools that allow you to build rich, reliable, and performant Generative AI-Powered Search Platforms without the need to reinvent Search Architecture.

We're help to you build you spin up customized internal search in days not months.

Dashboard

✨ Features

  • Google Like Search Interface - Find what you need.
  • App MarketPlace - Connect to all of your favorite Apps.
  • Custom Connectors - Build your own connectors to propeitary data sources.
  • Customizable Modular Infrastructure - Bring your own custom LLM's, Vector DB and more into Ocular.
  • Governance Engine - Role Based Access Control, Audit Logs etc.

🔓 Open-source vs Paid

Repo is under Elastic License 2.0 (ELv2).

If you are interested in managed Ocular Cloud of self-hosted Enterprise Offering book a meeting with us:

Getting started

🐳 Running Ocular in Docker

To run Ocular locally, you'll need to setup Docker in addition to Ocular.

Prerequsites

First, make sure you have the Docker installed on your device. You can download and install it from here.

  1. Clone the Ocular directory.

    git clone https://github.com/OcularEngineering/ocular.git && cd ocular
  2. In the home directory, open env.local add the required OPEN AI env variables

    • Required Keys

      • Open AI Keys - To run Ocular an LLM provider must be setup in the backend . By default Open AI is the LLM Provider for Ocular so please add the Open AI keys in env.local.
      • Support for other LLM providers is coming soon!
    • Optional Keys

      • Apps (Gmail|GoogleDrive|Asana|GitHub etc) - To Index Documents from Apps the Api keys have to be set up in the env.local for that specific app. Please read our docs on how to set up each app.
  3. Run Docker.

    docker compose -f docker-compose.local.yml up --build --force-recreate

This command initializes the containers specified in the docker-compose.local.yml file. It might take a few moments to complete, depending on your computer and internet connection.

Once the docker compose process completes, you should have your local version of Ocular up and running within Docker containers. You can access it at http://localhost:3001/create-account.

Remember to keep the Docker application open as long as you're working with your local Ocular instance.

🤝 Contributing

Alt

We love contributions. Check out our guide to see how to get started.

Not sure where to get started? You can:

  • Join our Slack, and ask us any questions there.

📚 Resources

  • Docs for comprehensive documentation and guides
  • Slack for discussion with the community and Ocular team.
  • GitHub for code, issues, and pull requests
  • Roadmap - Coming Soon

⭐Star History

Star History Chart

💻Core Team

✨Contributors

ocular's People

Contributors

aidenzich avatar eltociear avatar hiteshwadhwani avatar khareyash05 avatar louismurerwa avatar michaelmoyomushabati avatar pranay-0512 avatar vivek-lahole 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

ocular's Issues

feat : 🚀 Stable Version of Bitbucket Connector with API Token Auth Strategy

🎯 Goal

Develop a stable version of the Bitbucket connector that supports API Token authentication. This feature aims to enhance security and simplify the authentication process for users.

📋 Detailed Description

API Token Authentication

The Bitbucket connector should support API Token authentication to enhance security. Users can generate their API tokens from Bitbucket and use them to authenticate their sessions. This method is not only more secure but also reduces the hassle of managing passwords.

API Token UI for User Input

Develop a user-friendly interface where users can input their API Tokens. This UI should be intuitive, guiding users through the process of copying their API token from Bitbucket and pasting it into the connector configuration. Clear instructions and error messages should be provided to ensure a seamless experience.

🔍 Example Usage

  1. User Interface:

    • Users navigate to the settings page and find the API Token input field.
    • Users enter their API Token and save the configuration.
  2. Authentication:

    • The connector uses the provided API Token to authenticate requests to Bitbucket.
  3. Error Handling:

    • If an error occurs, the system logs the error

Additional context

📄 Note for Contributors

Contributors are encouraged to take reference from other apps for file naming, folder structure, and coding style. Following consistent practices ensures code readability, maintainability, and a seamless development experience.

📁 File Naming and Folder Structure

  • Consistency: Maintain a consistent naming convention across files and folders.
  • Clarity: Choose names that clearly describe the purpose and contents of the files or folders.
  • Organization: Structure folders logically to group related files together.

💻 Coding Style

  • Readability: Write clean and readable code, following established coding standards.
  • Documentation: Include comments and documentation where necessary to explain complex logic.
  • Best Practices: Adhere to best practices in coding to ensure code quality and maintainability.

🔍 Examples

To ensure uniformity, look at examples from other well-structured apps within the project. These can provide valuable insights into effective file naming, folder structuring, and coding styles.

📢 Communication

If you have any questions or need further clarification, feel free to reach out to the team. Collaboration and open communication are key to successful project development.

Thank you for your contributions and efforts in maintaining high standards!

✨ Happy Coding! ✨

Local setup fails because of `db_entities` not found

ocular-db-migration | Resolution path: db_entities
ocular-db-migration | at Object.resolve (/usr/src/app/node_modules/awilix/lib/container.js:252:23)
ocular-db-migration | at /usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:50:38
ocular-db-migration | at step (/usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:33:23)
ocular-db-migration | at Object.next (/usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:14:53)
ocular-db-migration | at /usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:8:71
ocular-db-migration | at new Promise ()
ocular-db-migration | at __awaiter (/usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:4:12)
ocular-db-migration | at /usr/src/app/packages/ocular/dist/ocular/src/loaders/database.js:43:43
ocular-db-migration | at /usr/src/app/packages/ocular/dist/ocular/src/data-source.js:77:61
ocular-db-migration | at step (/usr/src/app/packages/ocular/dist/ocular/src/data-source.js:33:23)
ocular-db-migration | npm ERR! Lifecycle script typeorm failed with error:
ocular-db-migration | npm ERR! Error: command failed
ocular-db-migration | npm ERR! in workspace: @ocular/[email protected]
ocular-db-migration | npm ERR! at location: /usr/src/app/packages/ocular
ocular-db-migration exited with code 1

feat: 🚀 API Endpoint for Editing Title and Description of Web-Connector Indexable Links

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

✨ Feature Request: API Endpoint for Editing Web-Connector Indexable Links metadata

Objective:
Develop an API endpoint to enable the editing of titles and descriptions for web-connector indexable links. This will enhance the flexibility and control over the metadata associated with indexed web content.

Benefits:

  • 🛠️ Enhanced Content Management: Allows users to keep their indexed data relevant and up-to-date, improving overall content quality.
  • 🔄 Flexibility: Provides the ability to quickly and easily make changes to the indexed links without the need for re-indexing.

Describe the solution (or solutions) you'd like

API Endpoint Details:

  • Endpoint URL: /web-connector/{link_id}
  • HTTP Method: PUT
  • Request Payload:
    {
      "linkId": "string",
      "title": "string",
      "description": "string"
    }
    

Describe alternatives you've considered and rejected

No response

Additional context

No response

bug: Clicking Slack Icon Does Not Open Slack Page

Describe the bug

When users click on the Slack icon in the footer, instead of redirecting to the Slack page as expected, the click event redirects the user to the same page they are currently on.

URL of the page where the issue is observed.

https://www.useocular.com/

Steps To Reproduce

  1. Navigate to the page containing the Slack icon in the footer.
  2. Click on the Slack icon.

Expected Behavior

Clicking the Slack icon should open the Slack page in a new tab or the current window, depending on the implementation.

Screenshots/Videos

image

Operating System

No response

Additional context

No response

bug: Double Indexing of Web-Connector App Indexable Documents

Describe the bug

Ideal Behavior

  • The web-connector should schedule job only once and index docs

Bug Behavior

  • Currently the web-connector scheduled job run twice to scrap data and index docs

URL of the page where the issue is observed.

http://localhost:3001/dashboard/marketplace/web-connector

Steps To Reproduce

  1. Navigate to marketplace
  2. Install Web-Connector App
  3. Submit a link to index scrapped data from provide base_url
  4. Observe the backend console to see double indexing of docs

Expected Behavior

Ideal Behavior

  • The web-connector should schedule job only once and index docs

Bug Behavior

  • Currently the web-connector scheduled job run twice to scrap data and index docs

Screenshots/Videos

No response

Operating System

Windows

Additional context

No response

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.