Coder Social home page Coder Social logo

jackschedel / koalaclient Goto Github PK

View Code? Open in Web Editor NEW
26.0 3.0 8.0 9.84 MB

The best LLM API Playground Interface (for me)

Home Page: https://client.koaladev.io/

License: Creative Commons Zero v1.0 Universal

JavaScript 2.64% TypeScript 93.94% CSS 2.90% HTML 0.36% Dockerfile 0.15%
azure-openai azure-openai-api claude-api openai openai-api openai-playground chatgpt desktop-app website

koalaclient's People

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

Watchers

 avatar  avatar  avatar

koalaclient's Issues

max token pop alert

image

the other software named "better chatgpt" is ok and will not pop error

I build the latest version of KoalaClient , which pop this alert.

flush out Whisper functionality

  • spinwait icon change on processing
  • auto-stop and wait for process end on "save and submit"
  • separate record+submit button
  • option to auto-stop after 5s of silence (slider?)
  • add usage to API cost

Token length bugs?

Is anybody having bugs like:

  • image
    With settings such as:
  • image

This is annoying and I will take a look at it soon ๐Ÿ˜‹

Clicking "Stop Generating" before response receipt doesn't abort request

If the timing is just right, the "Stop Generating" button can cause some wacky behavior - such as two responses being written at once to the same message, or the response stream getting appended to the last user message (rather than a new assistant message).


Usually this happens when I quickly edit and re-send a message (in under a second).

I think the reproduction trigger is pressing the "Stop Generating" button after the request is sent, but before a response stream has been received.

A simple fix might be to not show the button until the response has been received, although it might be better to also abort the request with the button.

Has anyone experienced this, and am I understanding correctly?

Claude API

Do you have any plans on integrating Claude API not just OpenAI in your fork?

Thank you.

Max context setting - minor bugs

A couple small things to be ironed out with the max content setting calculations.

max_token calculation

If I'm understanding this correctly, the API considers max_tokens to be the context and the response combined. So there shouldn't be a need to subtract the max context setting from the max token setting.

Currently we are calculating the parameter like this:
max_tokens = (maxTokenSetting - maxContextSetting)

We should simply do this before each request:

  • set the maxTokenSetting directly as the parameter in the request
  • trim the messages by the maxContextSetting

Or, to calculate on the fly similar to this, we'd have to introduce a third setting, like I described in another issue:
max_tokens = (maxContextSettings - desiredMaxResponseSetting) (with the maxTokenSetting still serving to cap this at a maximum)


Other likely manifestations of this bug:

  • Sometimes requests are sent with a max_token value that is too large to be allowed:

image
(response is an error because the maximum value for max_token on gpt4 is ~8000).

Settings menu for custom model names

Feature Request

Summary:
Allow users to input custom model names in the model selection dropdown or within the settings when choosing which AI model to interact with.

Problem:
Certain proxies for OpenAI services have been experiencing issues where the /models endpoint might be malfunctioning or is not populating the model selection list as expected. This results in users being unable to select from the full range of available models, potentially limiting their access to specific or preferred AI models that are otherwise operational.

Proposed Solution:
Implement a feature within the chat interface that enables a user to add custom model names directly to the model selection dropdown. This could take the form of an input box within the dropdown itself, allowing for direct typing of the model name. Alternatively, a small section in the settings could be dedicated to managing custom model names where users could add or remove model names that they frequently use or wish to test.

Benefits:

  • Provides a workaround for when the model list is not automatically populated.
  • Offers flexibility to advanced users who are aware of model names that are not listed but are available for use.
  • Ensures continuity of user experience by enabling access to all models, regardless of potential temporary proxy endpoint issues.

implement "Configure Default Chat" per-individual folder

I've had an idea for a while now:

Similar to the 'Model Swap' button you've added, I also frequently adjust temperature, top_p, and _ presence penalty_ from my defaults l, according to my needs at the time.

For example:

  • when referencing an obscure programming language, we want accurate and deterministic chat settings.
  • when writing a short story, accuracy becomes less important, but we want a creative chat.

Perhaps:

  • the user could set up a few configurations of settings
  • to quickly switch between them (like the Model Swap button in this fork)
  • eventually each setting option could even have checkbox to omit changing from the default?

Title generation max_token count

Sometimes the max_token parameter for the title generation is negative:
image
The response is something like:

{
  "error": {
    "message": "-228 is less than the minimum of 1 - 'max_tokens'",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}

And other time it is way too long, and I get titles that are an entire paragraph.

"Max-Tokens" API setting isn't getting included in the chat request body

Just notice that the "Max-Tokens" API setting isn't getting included in the chat request body, even though it appears to be a user configuration setting, and is likely being stored.

image


  • Max Tokens parameter is a control for the maximum number of tokens that can be generated in a single call to the GPT model

(feature idea) Automatically set model according to settings & chat size

Automatically set model according to settings & chat size

Proposed feature:

This would be best implemented as an optional setting, that a user could opt into. If enabled, the only models to choose from in the chat config would be:

  • gpt-3.5-turbo
  • gpt-4

The token length models could then be automatically selected only when required, determined by these factors:

  • Chat config settings:
    • Max tokens
    • Max context
  • The size of the message (for example, it is not necessary to use the gpt-3.5-turbo-16k model if you are well under the 4000 token limit for gpt-3.5-turbo-16k)

SHIFT + ENTER behavior (when editing a message)

SHIFT + ENTER behavior when editing existing chat messages.

I am frequently editing existing System/User/Assistant chat messages. It is a useful technique to:

  • establish context
  • reduce API token usage (cost)
  • "rewind" the conversation to a previous state, perhaps after a tangent

Notice that:

  • When composing a NEW message:

    • Pressing just the ENTER key sends the message
    • SHIFT + ENTER creates a new line without sending the message.
      • this is common already (e.g. Facebook Messenger, etc.), and many users will already intuitively understand it.
  • However, when editing an EXISTING message:

    • Pressing just the ENTER key creates a new line
    • SHIFT + ENTER will send the message

Because SHIFT + ENTER explicitly sends the HTTP request, it seems like this might've been deliberate by the original author? But I can't see any reason as to why!

I've even been using a UserScript to accomplish this for a few weeks now, so I feel familiar with each UX.

But if there is a good reason for the inconsistency, it could be implemented as something that the user could toggle on or off, in the configuration settings.

Inconsistent Chat Title Naming Behaviour on Creating New Chat

Steps to Reproduce:

  • Click on the "New Chat" button without sending any messages in the existing chat.
  • Observe that the existing chat is renamed to "New Chat 1."
  • Repeat steps 2 and 3, and note that subsequent existing chats are renamed incrementally (e.g., "New Chat 2," "New Chat 3," etc.).
  • Rename the chat to anything and send a message
  • Click on the "New Chat"
Koala.Client.mov

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.