Home

Awesome

Odin Runes

<img src="docs/img/odin-logo-382023.png" alt="ODIN Logo" width="20%">

Welcome to Odin Runes, a powerful GPT (Generative Pre-trained Transformer) client that revolutionizes the way you interact with GPT models. With Odin Runes, you can seamlessly integrate with various GPT providers, overcoming vendor lock-in and unlocking the true potential of natural language processing. Through a simple and intuitive GUI, Odin Runes enables you to chat with your chosen GPT right through your favorite text editor. It also empowers you to capture context from various sources, such as clipboard, OCR from a region on the screen, and OCR from an entire scrollable region on the screen, providing valuable context to GPT models for more accurate and meaningful responses. This comprehensive README.md will guide you through the features, advantages, setup, usage, configuration, and resources of Odin Runes. (stay tuned for Demo video!)

docsdocs

Odin Runes Wiki

For a quick peek at the various use cases and capabilities of Odin Runes, feel free to explore Odin Runes Wiki. The wiki contains many short gif demos that showcase the unique features and functionality of Odin Runes. It is regularly updated with new content to keep you informed about the latest advancements and possibilities with Odin Runes.

Demo Video

Experience the power of OdinRunes in action with an engaging demo. Click the play button below to witness how this useful java tool, driven by GPTs, boosts your productivity and saves you valuable time. For more up to date and shorter demos check the wiki above, since the demo video below does not contain the latest updates and added features.

Odin Runes Demo Video

Major Updates

Table of Contents

Features

Odin Runes offers a range of powerful features that enhance your interaction with GPT models:

Advantages of Using Odin Runes

Odin Runes offers several advantages over traditional GPT clients:

Installation

To install and set up Odin Runes, follow these steps:

  1. Clone the repository to your local machine:

    git clone https://github.com/leonid20000/OdinRunes.git
    
  2. Navigate to the project directory:

    cd OdinRunes
    
  3. Build the project using Maven:

    mvn clean install
    
  4. Ensure that the necessary dependencies are installed and added to your project. You can find the list of dependencies in the pom.xml file. (Maven helps you with this)

  5. Set up the required environment variables:

    • GCLOUD_VERTEX_AI_ACCESS_TOKEN: Set this environment variable to the access token for the Google Cloud Vertex AI. It is needed to authenticate requests to the Vertex AI API. (Required for using Google's GPT APIs.)

    • OPENAI_API_KEY_ODIN_FIRST: Set this environment variable to the API key for OpenAI. (Required for using OpenAI's GPT APIs.)

    • TESSDATA_PREFIX: Set this environment variable to the path where Tesseract's tessdata folder is located. It is needed for Tesseract to locate the necessary language data for OCR.

    • VERTEXAI_API_ENDPOINT: Set this environment variable to the API endpoint for Google Cloud Vertex AI. It specifies the location of the Vertex AI service for making API requests. (Required for using Google's GPT APIs.)

    • VERTEXAI_PROJECT_ID: Set this environment variable to the project ID for your Google Cloud project. It is required to make API requests to the Vertex AI service. (Required for using Google's GPT APIs.)

  6. Once the installation and setup are complete, you can run Odin Runes. You can run Odin Runes by double-clicking on the JAR file target/OdinRunes-1.5-SNAPSHOT-jar-with-dependencies.jar or alternatively by using the following command:

    java -jar target/OdinRunes-1.5-SNAPSHOT-jar-with-dependencies.jar
    

    This will start the Odin Runes application.

Congratulations! You have successfully installed and set up Odin Runes. Refer to the Usage section in the README.md file for instructions on how to use Odin Runes to interact with GPT models.

Dependencies

To leverage the capabilities of Odin Runes, you will need to set up the necessary dependencies (Maven will help you with most parts):

Usage

Using Odin Runes to interact with GPT models is straightforward. The usage can be divided into different scenarios:

1. Capturing Context

Before or during a chat session with a desired GPT model, you can capture and add relevant context from different sources. Odin Runes provides the following context capture options (stay tuned for more options):

1.1. Capture context from Clipboard

Click the "Add context from Clipboard" button to capture text from the clipboard. The captured text will be displayed in the "Context" section of the Settings panel.

1.2. Capture context from Region

Click the "Add context from Regionshot" button to capture text from a specific region on the screen using OCR. This allows you to provide precise context from a specific area of your screen.

1.3. Capture context from Scrollable Region

Click the "Add context from Scrollshot" button to capture text from a scrollable region on the screen using OCR. This captures the entire content visible within the scrollable region, virtually enabling you to capture context from anywhere.

1.4. Capture context from File

Click the "Add context from File" button to dynamically add context from a file. Any changes made to the file thereafter will be automatically reflected in the context. Please be aware that currently, only plaintext files are supported. Support for other file formats such as PDF or Word documents is under development, so please stay tuned for updates regarding these file types.

2. Choosing a GPT Provider

When using Odin Runes, you have the flexibility to choose the GPT provider that best suits your needs.

Odin Runes currently integrates with several GPT providers, including OpenAI's gpt-3.5-turbo, Google's gemini-pro, chat-bison via GCP's Vertex AI, and Ollama. Ollama is an open-source tool available at https://github.com/ollama/ollama that facilitates the local execution of multiple open-source LLMs (Language Model Models).

To choose a GPT provider, navigate to the settings panel in Odin Runes and configure the provider by providing the necessary parameters.

3. Initiating a Chat

To start a chat session, click on the "Chat" button, which will open your favorite text editor. You can now initiate a conversation with the GPT model.

4. Appending Prompts

You can append prompts to the chat using your text editor. Simply type your desired prompts and questions, and then click the "Chat" button again in Odin Runes to process the prompt. The GPT model's responses will be appended to the chat history in real-time (so you can tail the chat history using your favorite editor to see the results in real-time).

5. Saving Context

Save the current context to a file using the "Save Context" button in the settings panel. This allows you to reuse the context in different conversations.

6. Loading Context

Load a previously saved context using the "Load Context" button in the settings panel whenever required. This facilitates the active usage of different pre-captured contexts in various chat sessions.

Contributors

License

This project is licensed under the MIT License.

Resources

To enhance your understanding and optimize your usage of Odin Runes, consider referring to the following resources:

Light Up the Night

Odin Runes is an open-source labour of love, a weekend project embracing the power of community. Consider giving it a star 🌟, if you think it deserves one. Your star helps acknowledge the collective effort behind this project and motivates further improvements.

Thank you for being a part of our open source community! 🌟