10 March 2024

Websites offering ChatGPT type of functionality without needing to login

Being able to use ChatGPT for free is cool. It does get annoying that one has to login to use it. When you are in a hurry, and want to ask something to an LLM, there are some websites you can quickly access by keeping them bookmarked.

ChatGPT 

https://chatgpt.com/

As of July 2024, ChatGPT started offering its chat interface without needing to login. 

 

DeepAI Chat

https://deepai.org/chat

This has a simple, usable interface.

 

Talk AI

 

https://talkai.info/chat/

This begins with a slightly irritating human verification that needs a manual input, and has a 30 prompt limit, but the chat interface is ok.

 

Pi AI

https://pi.ai/onboarding


This is said to be an LLM trained to be emotionally intelligent. The good part about it is that it reads out its responses in a natural-sounding human voice. So you don't have to keep your eyes open during the chat.

 

HuggingChat and HuggingFaces Spaces (needs login now)

 

https://huggingface.co/chat/ and https://huggingface.co/spaces/olivierdehaene/chat-llm-streaming

HuggingChat is a page that opens without much of a hassle, but it allows only 3 prompts. In settings you can choose from various models.

HuggingFaces spaces allows typing more prompts and even allows you to easily change the "p mass", which appears to be the temperature, but might be top p.


Chat AI GPT (site not working)

https://chataigpt.org/

Even this begins with a human verification, but it automatically disappears. The chat interface is ok.


LM Sys

https://chat.lmsys.org/

This site has the annoying human verification delay and needs you to click on a usage terms agreement. The good part is that it allows you to compare models and allows changing various parameters like temperature, top P and max output tokens.


Therapist AI

 

https://therapy.feynmanpi.com/app/

I came across this from a comment by someone on a person's AMA (Ask Me Anything) on a website. It's not necessary to ask this AI questions about therapy. I asked it to explain the Fourier transform and write a poem about it, and it happily did so. I even asked it if it'd explain things other than therapy, and it replied that it would, and listed the topics it'd be willing to discuss.


Given the existence of Therapist AI and it's propensity to answer any question, I'm quite sure there would be many more LLM's deployed on various websites for specific purposes, but could be used for ordinary questions about anything else. AI still has a long way to go to be built correctly.

 

-----------------------


Vercel's AI playground (needs login now)

https://sdk.vercel.ai/

This used to be my favourite, but as of July 2024, they stopped offering the option to use it without login. It not only uses ChatGPT, it simultaneously generates an output with Llama too.

28 February 2024

Use a free, local LLM instead of GitHub CoPilot

There was a time when Google and StackOverflow replaced the need to buy books to refer documentation. Now we have entered the era of LLM's (Large Language Models) replacing Google and StackOverflow for coding. We've also entered the era of frameworks like SkyPilot assisting with batch jobs on the cloud. Choosing an LLM itself is like choosing an ice cream in a buffet of ice creams. To ease my programming, I decided to try a few VS Code extensions similar to GitHub CoPilot. The objective was to find extensions that worked locally without sending any of my data to an external server, and were free to use. 

CAUTION: VSCode extensions aren't checked by anyone for safety, so install it only if you really trust the creator of the extension. Even for the ones mentioned below, check first.

There's a leaderboard of how well models can write code. 

Instruct model versus base model

  • Base models: These aren't designed for answering questions. These are meant to provide completions. If you prompt it with "What is the capital of India", it'll respond with "?indiacapitalisdelhi#code ends here". Notice how it outputs the question mark. It only generates a completion based on the data it was trained with. Base models are used to generate code while you type.
  • Instruct models: The instruction tuned models are designed to answer questions. Asking it for the capital of India would return something like "The capital of India is New Delhi. It serves as the center of government for the country and...". The instruct models are used for question-answer type of interaction with the LLM.

 

Using Ollama for the local LLM instead of OpenAI's API

Download and install Ollama using `curl -fsSL https://ollama.com/install.sh | sh`. It installs to `/usr/local/bin` and creates a systemd service. You can also build ollama and take advantage of ROCm for AMD inbuilt GPUs. There are some ways to stop the service. Downloaded models get stored in `usr/share/ollama/.ollama/models/blobs`, and you can change the directory by changing the OLLAMA_MODELS environment variable. You can access it on localhost via port 11434. Some other commands:

  • systemctl list-unit-files | grep ollama will show you if it's running.
  • systemctl status ollama will show you more info about the process.
  • sudo systemctl stop ollama.service will stop the process.
  • sudo systemctl disable ollama.service will disable auto-startup.
  • sudo systemctl start ollama.service to start the process.
  • sudo systemctl enable ollama.service will enable auto-startup.
  • ollama list will show a list of the downloaded models.
  • ollama pull <modelname> will download any model listed here. Remember to use a smaller model for getting a faster response. This is especially important when you are using only CPU.
  • ollama rm <modelname> will delete a downloaded model.

 

Twinny 

So far, Twinny has been the only local LLM that has worked fine, is well designed and supports multiple models. You can open Twinny's sidebar by pressing Ctrl+Shift+t. You can use the Alt+\ key combo to generate code completions. You can stop the code generation using Ctrl+Shift+/. The code completions are called FIM (Fill In Middle). Do take note that to generate code completions, you need to use models called "base models". Don't use "instruct models" for code completions. To make the suggested code in grey become actual code, you need to press Tab.

Here, the stable-code model is used for fill-in-middle code suggestions

You can also use the Twinny sidebar to chat with it, similar to how you chat with ChatGPT. For this, you need to use "instruct models". You can even highlight code in the main editor and ask Twinny to explain the code or generate code based on the highlighted code. For this functionality, the model specified in Chat is used. Chat can sometimes not understand the User or it produces incomplete outputs. This depends on how the model is prompted, which model is used and how much processing power is available. I'll update this section if I find out more.

For this chat, the `codellama:latest` model was used.

 

There is also a way to use models from HuggingFace.


Continue

The other almost-good extension I found was this. It can work by connecting to one of Continue's servers, or you can configure it to work with a local LLM too. Continue sends telemetry data to its server, so you need to go into the settings to disable it.

Continue didn't account for the entire code when adding new code

As shown in the screenshot above, I selected a function and asked Continue to add an error message if a file was not found. It did a poor job of adding new code. The entire code barely had 30 lines. This showed me that Continue was poorly programmed. There is of course a sidebar where you can type prompts and have code explained or generated, but I uninstalled Continue.

It connects to this server:

Running `nslookup node-proxy-server-blue-l6vsfbzhba-uw.a.run.app` showed the server it connected to


Continue still has many bugs that need to be resolved. Also, I couldn't fully trust it to run entirely locally, so I uninstalled it.


Other local LLM extensions

  • Wingman-AI: It's good, but it didn't support the `stable-code` model, so I uninstalled it.
  • Backseat pilot: Poorly explained on how to use. Meant to use llama cpp python. Uninstalled it immediately
  • Open copilot: Needs cody and llama cpp. Uninstalled it.
  • Local pilot: Requires a Github copilot account.
  • llama coder: Didn't generate anything. No interface to work with.
  • Tabby: Needs Docker Tabby server. Works on CPU and CUDA.
  • Your copilot: Doesn't work out-of-the-box. Meant for OpenAI API. Giving it Ollama's URLs didn't work.
  • Ollama autocoder: No interface. Not straightforward to use. Auto completion didn't work with the default space+pause or ctrl+space.
  • Wingman: Uses LM Studio or Openai APIs. Can't use at work without their permission. Likely uses telemetery. Has a nice set of prompt UIs for mode, prompt, placeholders. caters to general programming, creative writing and technical writing. The appimage didn't work on Linux.
  • Ollama copilot: Incompatible with latest vscode version.
  • Refact.ai: The local version needs docker with NVidia GPU.


If you don't want to pay for an OpenAI API but still want to use ChatGPT3.5's free chat, a person created Headless ChatGPT.