ChatWindow
The chatbot tool window designed to integrate Large Language Models directly into your favorite IDE. With ChatWindow, you can leverage both the advanced coding capabilities of LLMs, and the native features of your IDE to get the most effective coding experience.
Key Features:
Context of Your Code:
- The AI can see the contents of any files you have opened.
- Optionally restrict which files are being read, and/or what portions of each file get read.
FREE Unlimited GPT-3.5-Turbo, Groq Mixtral 8x7b, and Gemini Pro 1.0 Usage:
- Use GPT-3.5-Turbo, Groq's Mixtral 8x7b, and Gemini Pro 1.0 as much as you'd like for no additional cost.
Integrations With a Wide Range of Providers:
- Bring your own API key, and you can use any models available to your account for OpenAI, Anthropic, Mistral, Google, and Cohere. This includes any fine-tuned models you have created.
- Toggle on the Use Ollama setting, and access any Ollama models you have downloaded.
Tailor to Your Environment With Custom Instructions:
- Set custom instructions for the AI such as details about you, details about your project, or how you want it to act.
Speech-to-Text:
- Tired of typing? Use STT to prompt the AI.
Fine Grained Control Over Your Interactions:
- Tired of the AI speaking to fast or choppy? Alter the output speed to your liking.
- AI keeps giving the same, incorrect response? Increase the temperature to encourage the AI to think outside the box.
- Want to alter your conversation a little? Edit, delete, or regenerate messages freely.
- Want to be cautious on usage, or just prevent flooding the context window? Set your max messages to keep, to restrict the conversation to a reasonable range of messages.
- Caught the AI going down the wrong direction? Pause the output to determine what to do next, or just stop the output in its tracks.
Log Your Conversation:
- Optionally log your conversation as a JSON file, which you can later use for various tasks such as model training.
User Guide
Appendix:
Setting Up Your Environment
This section refers to configurations you can set for the plugin. To access the settings referenced below:
- Got to settings (cmd +, on Mac; ctrl + alt + s on Windows)
- Search for ChatWindow Configuration
Using Additional Models
Upon installation, you should be able to instantly use the plugin with the free models. These models work well for fairly simple tasks, but you may want to use stronger or different models. ChatWindow provides integrations for using models through OpenAI, Anthropic, Mistral, Google, Cohere, and Ollama. To use models through any of these integrations:
- For OpenAI, Anthropic, Mistral, Google, or Cohere, enter your API key in the associated field for the provider. This will give you access to use the models for those providers through your account.
- For Ollama, just check the box "Use Ollama". This will allow you to use all Ollama models you have downloaded.
To swap models, simply click the model name in the top right of the plugin, and switch to the desired model. Your next message will use that model.
Setting Custom Instructions
You can set the system message for your model by filling in the Custom Instructions field in the configuration. Here you can define:
- How you want the model to respond (e.g. reply concisely, fill in all code, etc)
- Anything the model should know about your project (e.g. you are using xyz, this project is , etc)
- Anything else you want the model to know/remember (e.g. Don't use xyz, always attempt to use more updated packages, etc)
It is highly recommended to fill in this field, as it is very powerful.
Setting a Message Limit
As conversations grow, so does the amount of input you send to the model per message. By not having some kind of limit on this, you run the risk of:
- Increasing the cost of API calls exponentially. API calls to models are charged based on the amount of input you give it per message, and how much output it gives you. Many models have a very large context window, and pushing these limits can become **very** expensive.
- Receiving poor responses from the model. The model's answer quality largely depends on the relevance of the input you give it. If the input incorporates many irrelevant messages from previous topics, the model will begin to produce poor quality responses in return.
- Having slower responses. More input also means the model has to process more. This can impact the speed of which a model will respond to your message
By default, the message limit is capped at 16.
Controls in the ChatWindow
This section refers to the components you will find in the actual chat window you interact with.
Managing Context of Files
By default, all files you currently have open will be included in your next message. To deselect files, click the Files
button at the top left, and uncheck the box for the associated file.
If you want more granularity of what context the AI is getting in a file, you can use the Custom Highlighter Tool
. To use this, highlight some code, right click, and select the Apply Custom Highlight
option. You can do this on as many areas as you'd like in a file, and only the contents of the highlighted portion will be read by the AI in your next message.
Adjusting Output Speed
You can alter the speed in which the model responds to you. This can give a smoother experience interacting with the model, and can help you stop a model in its tracks to interrupt it before it goes too far down the wrong track. To adjust this:
- Click the `settings` logo at the top right
- Slide the output speed to the desired position
If the slider is turned up all the way, this will not restrict the AI's output at all and let it flow freely. If the slider is turned down all the way, you can pause the AI's responses completely. By default, this is turned up all the way.
Adjusting the Model's Temperature
The temperature setting controls the randomness of a model's output. The lower the temperature, the lower the randomness factor will be. Adjusting the temperature can be useful in scenarios such as if the model is giving the same response over and over. Here you can raise the temperature, and it will be more likely to divert and answer your question differently. On the other hand, a higher temperature can produce lower quality outputs by encouraging the model to take routes it typically wouldn't. To adjust this:
- Click the `settings` logo at the top right
- Slide the temperature to the desired position
By default, this is set to 0.
Speech-to-Text
You can use speech to text for generating input. To do this you can either:
- Click the microphone icon in the right hand side of the input area
- Press `ctrl` + `option` + `t` on your keyboard
Log Your Conversation
ChatWindow gives you the option to log your current conversation to your computer. To do this, press ctrl
+ option
+ l
on your keyboard. The conversation will be saved to your current project under _chatwindow/chatMessages_{timestamp}.json
. This can be useful for scenarios such as generating authentic training data.
Privacy
ChatWindow does not collect any of your code, or any of your conversation. Application metrics are collected, in which the following are collected:
When you send a message
- Which provider/model you sent a message to
- How many tokens were sent
- How many tokens the model responds with
When Speech-to-Text was used
- How long it was used for
- How many total words were transcribed (just the count is logged, not contents)
Details about your environment
- What OS and version of it you are using
- Which IDE and version of it you are using
- Which version of ChatWindow you are using
If there was an application error, what the error message was
What time the event occurred
Though ChatWindow does not do anything with your data, we have no control over what the model providers do with it. Below is a list of each model provider's link to their data policy:
Ollama is all run locally, so no data leaves your computer at all.
---
For any issues or support, please submit a ticket
here or message me directly at julianshalaby96@gmail.com