Skip to content

Commit

Permalink
Update docs to include support for Ollama
Browse files Browse the repository at this point in the history
  • Loading branch information
leonid20000 committed Feb 9, 2024
1 parent 5559fbf commit f2dbb00
Show file tree
Hide file tree
Showing 37 changed files with 398 additions and 96 deletions.
34 changes: 23 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ Experience the power of OdinRunes in action with an engaging demo. Click the pla

[![Odin Runes Demo Video](https://img.youtube.com/vi/8BPGULLC3Os/0.jpg)](https://www.youtube.com/watch?v=8BPGULLC3Os)

## Latest Updates

- **Support for Ollama** (OdinRunes-1.2-SNAPSHOT February 9, 2024): Odin Runes now includes support for Ollama, an open-source tool available at [https://github.com/ollama/ollama](https://github.com/ollama/ollama). Ollama facilitates the local execution of multiple open-source LLMs (Language Model Models).

## Table of Contents
- [Features](#features)
Expand All @@ -26,10 +28,11 @@ Experience the power of OdinRunes in action with an engaging demo. Click the pla
- [1.2. Capture context from Region](#12-capture-context-from-region)
- [1.3. Capture context from Scrollable Region](#13-capture-context-from-scrollable-region)
- [1.4. Capture context from File](#14-capture-context-from-file)
- [2. Initiating a Chat](#2-initiating-a-chat)
- [3. Appending Prompts](#3-appending-prompts)
- [4. Saving Context](#4-saving-context)
- [5. Loading Context](#5-loading-context)
- [2. Choosing a GPT Provider](#2-choosing-a-gpt-provider)
- [3. Initiating a Chat](#3-initiating-a-chat)
- [4. Appending Prompts](#4-appending-prompts)
- [5. Saving Context](#5-saving-context)
- [6. Loading Context](#6-loading-context)
- [Contributors](#contributors)
- [License](#license)
- [Resources](#resources)
Expand All @@ -40,7 +43,7 @@ Odin Runes offers a range of powerful features that enhance your interaction wit

- Interact with your desired GPT right through your favorite text editor
- Avoid vendor lock-in with a multi-cloud approach
- Switch to the GPT provider of your choice seamlessly
- Switch to the GPT provider of your choice seamlessly, including locally deployed open-source LLMs.
- Capture context from various sources such as clipboard, OCR from a region on the screen, OCR from an entire scrollable region on the screen, and dynamically from a file
- Save context and load it in different conversations
- Save chats independently from their context for greater flexibility
Expand All @@ -58,7 +61,8 @@ Odin Runes offers several advantages over traditional GPT clients:
- **Effortless Context and Chat Management**: With Odin Runes, managing context and chats becomes seamless. You can save and load context independently, facilitating the reuse of previously saved context across multiple conversations. Furthermore, saving and loading chats independently allows for greater flexibility and control over the conversations. This effortless context and chat management streamlines your workflow and enables efficient interaction with GPT models.

- **Easy Integration with New Models**: Odin Runes' modular design provides a solid foundation for integrating new GPT models and providers. Adding support for new models is made easier by extending the existing codebase and implementing the custom GPT interface. As the landscape of GPT models evolves, you can effortlessly integrate and experiment with emerging models without the need to rework the entire application.


- **Flexibility with Open-Source LLMs**: Odin Runes now allows you to leverage Ollama to execute multiple open-source LLMs locally. By integrating Ollama into Odin Runes, you can take advantage of the diverse range of open-source LLMs available in the Ollama repository, expanding your options for language model models.

## Installation

Expand Down Expand Up @@ -99,7 +103,7 @@ To install and set up Odin Runes, follow these steps:
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.1-SNAPSHOT-jar-with-dependencies.jar` or alternatively by using the following command:

```
java -jar target/OdinRunes-1.1-SNAPSHOT-jar-with-dependencies.jar
java -jar target/OdinRunes-1.2-SNAPSHOT-jar-with-dependencies.jar
```

This will start the Odin Runes application.
Expand Down Expand Up @@ -141,20 +145,28 @@ Click the "Add context from Scrollshot" button to capture text from a scrollable

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](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.


### 2. Initiating a Chat
### 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.

### 3. Appending Prompts
### 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).

### 4. Saving Context
### 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.

### 5. Loading Context
### 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.

Expand Down
21 changes: 13 additions & 8 deletions docs/allclasses-index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>All Classes and Interfaces</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down Expand Up @@ -89,17 +89,22 @@ <h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces<
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">The Main class is the entry point of the application.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/odinware/odinrunes/OpenAIWellsOfWisdom.html" title="class in org.odinware.odinrunes">OpenAIWellsOfWisdom</a></div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/odinware/odinrunes/OllamaWellsOfWisdom.html" title="class in org.odinware.odinrunes">OllamaWellsOfWisdom</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">The <code>OpenAIWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
to the OpenAI gpt-3.5-turbo API for chat completions.</div>
<div class="block">The <code>OllamaWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
to the Ollama API for chat completions.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/odinware/odinrunes/TextHelper.html" title="class in org.odinware.odinrunes">TextHelper</a></div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/odinware/odinrunes/OpenAIWellsOfWisdom.html" title="class in org.odinware.odinrunes">OpenAIWellsOfWisdom</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">The <code>OllamaWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
to the OpenAI gpt-3.5-turbo API for chat completions.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/odinware/odinrunes/TextHelper.html" title="class in org.odinware.odinrunes">TextHelper</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">The TextHelper class provides utility methods for working with text files.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/odinware/odinrunes/WellsOfWisdom.html" title="interface in org.odinware.odinrunes">WellsOfWisdom</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/odinware/odinrunes/WellsOfWisdom.html" title="interface in org.odinware.odinrunes">WellsOfWisdom</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">The WellsOfWisdom interface represents a builder for creating a HTTP request object
used for making API requests.</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/allpackages-index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>All Packages</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/help-doc.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>API Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/index-files/index-1.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>A-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: A">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down
13 changes: 10 additions & 3 deletions docs/index-files/index-10.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>O-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: O">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down Expand Up @@ -52,9 +52,16 @@ <h1>Index</h1>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">M</a>&nbsp;<a href="index-10.html">O</a>&nbsp;<a href="index-11.html">R</a>&nbsp;<a href="index-12.html">S</a>&nbsp;<a href="index-13.html">T</a>&nbsp;<a href="index-14.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a>
<h2 class="title" id="I:O">O</h2>
<dl class="index">
<dt><a href="../org/odinware/odinrunes/OllamaWellsOfWisdom.html" class="type-name-link" title="class in org.odinware.odinrunes">OllamaWellsOfWisdom</a> - Class in <a href="../org/odinware/odinrunes/package-summary.html">org.odinware.odinrunes</a></dt>
<dd>
<div class="block">The <code>OllamaWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
to the Ollama API for chat completions.</div>
</dd>
<dt><a href="../org/odinware/odinrunes/OllamaWellsOfWisdom.html#%3Cinit%3E()" class="member-name-link">OllamaWellsOfWisdom()</a> - Constructor for class org.odinware.odinrunes.<a href="../org/odinware/odinrunes/OllamaWellsOfWisdom.html" title="class in org.odinware.odinrunes">OllamaWellsOfWisdom</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/odinware/odinrunes/OpenAIWellsOfWisdom.html" class="type-name-link" title="class in org.odinware.odinrunes">OpenAIWellsOfWisdom</a> - Class in <a href="../org/odinware/odinrunes/package-summary.html">org.odinware.odinrunes</a></dt>
<dd>
<div class="block">The <code>OpenAIWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
<div class="block">The <code>OllamaWellsOfWisdom</code> class is responsible for constructing a valid HTTP request
to the OpenAI gpt-3.5-turbo API for chat completions.</div>
</dd>
<dt><a href="../org/odinware/odinrunes/OpenAIWellsOfWisdom.html#%3Cinit%3E()" class="member-name-link">OpenAIWellsOfWisdom()</a> - Constructor for class org.odinware.odinrunes.<a href="../org/odinware/odinrunes/OpenAIWellsOfWisdom.html" title="class in org.odinware.odinrunes">OpenAIWellsOfWisdom</a></dt>
Expand Down
8 changes: 6 additions & 2 deletions docs/index-files/index-11.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>R-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: R">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down Expand Up @@ -60,12 +60,16 @@ <h2 class="title" id="I:R">R</h2>
<dd>
<div class="block">Reads from the Response object.</div>
</dd>
<dt><a href="../org/odinware/odinrunes/OllamaWellsOfWisdom.html#readFromResponseStream(okhttp3.Response)" class="member-name-link">readFromResponseStream(Response)</a> - Method in class org.odinware.odinrunes.<a href="../org/odinware/odinrunes/OllamaWellsOfWisdom.html" title="class in org.odinware.odinrunes">OllamaWellsOfWisdom</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/odinware/odinrunes/OpenAIWellsOfWisdom.html#readFromResponseStream(okhttp3.Response)" class="member-name-link">readFromResponseStream(Response)</a> - Method in class org.odinware.odinrunes.<a href="../org/odinware/odinrunes/OpenAIWellsOfWisdom.html" title="class in org.odinware.odinrunes">OpenAIWellsOfWisdom</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/odinware/odinrunes/WellsOfWisdom.html#readFromResponseStream(okhttp3.Response)" class="member-name-link">readFromResponseStream(Response)</a> - Method in interface org.odinware.odinrunes.<a href="../org/odinware/odinrunes/WellsOfWisdom.html" title="interface in org.odinware.odinrunes">WellsOfWisdom</a></dt>
<dd>
<div class="block">Reads from the Response object.</div>
</dd>
<dt><a href="../org/odinware/odinrunes/TextHelper.html#readIntoString(java.lang.String)" class="member-name-link">readIntoString(String)</a> - Static method in class org.odinware.odinrunes.<a href="../org/odinware/odinrunes/TextHelper.html" title="class in org.odinware.odinrunes">TextHelper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">M</a>&nbsp;<a href="index-10.html">O</a>&nbsp;<a href="index-11.html">R</a>&nbsp;<a href="index-12.html">S</a>&nbsp;<a href="index-13.html">T</a>&nbsp;<a href="index-14.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../serialized-form.html">Serialized&nbsp;Form</a></main>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/index-files/index-12.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>S-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: S">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/index-files/index-13.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>T-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: T">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/index-files/index-14.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Sun Dec 24 14:38:55 SGT 2023 -->
<!-- Generated by javadoc (18) on Fri Feb 09 23:10:28 SGT 2024 -->
<title>W-Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-12-24">
<meta name="dc.created" content="2024-02-09">
<meta name="description" content="index: W">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
Expand Down
Loading

0 comments on commit f2dbb00

Please sign in to comment.