remove keychain request during init
Release Notes:
- Move keychain request to inside indexing.
- Move install_default_formatters to a no op during tests
Use the keychain for authenticating as fallback when api_key is not
present in environment variables.
Release Notes:
- Add consistency between OPENAI_API_KEY management in Semantic Search
and Assistant
"Temperature" is a parameter in OpenAI GPT models, to control for
randomess in the generated content. To decrease the probability of
either escaping the markdown blocks and creating invalid code, we
decreased temperature for all Non-Prose files. For Markdown or Plain
Text, in which more creativity may be a good thing, we increase the
temperature to allow for more randomness. Along with this, we ask the
generate inline prompt to include only the code and not markdown blocks,
as it appears that lower temperature may decrease the probability of
introducing random markdown blocks.
Release Notes (Internal Only):
- Decrease temperature for inline assist on code content.
(This PR was written 100% by the Inline Assistant)
This PR brings in new components into our ai and assistant crates namely
PromptTemplate and PromptChains. They offer a new way to generate
prompts that allow for a more flexible and dynamic approach than before.
Release Notes:
- Introduced PromptTemplate: an abstract base for individual parts of
the prompt.
- Added PromptChains: manage multiple PromptTemplates, sort them based
on priority and regulate the output size based on tokens.
- Provided new PromptArguments structure to encapsulate arguments needed
for PromptTemplate.
- Extended repository_context to include PromptCodeSnippet.
This PR introduces a new Inline Assistant feature "Retrieve Context", to
dynamically fill the content in your generation prompt based on relevant
results returned from the Semantic Search for the Prompt.
Release Notes:
- Introduce "Retrieve Context" button in Inline Assistant
add scheme as a parseable file type in semantic index.
Each file will operate as a single embedding, in which no real scheme
syntax or tree-sitter level data is stored.
Release Notes:
- Added scheme to Semantic Index
Transition generate prompt for inline assist to leverage outline as
opposed to full file.
This enables, us to leverage the inline assist for large files.
Release Notes:
- Change inline assist to use tree-sitter based outlines for code
generation instead of full files
Reorganized assistant/semantic_index crates and introduced AI crate to
include shared functionality.
Release Notes:
- Moved most of the Assistant functionality from ai crate to assistant
crate
- Moved interaction with embedding providers from semantic_index to ai
crate
Update project search semantic ui to accommodate for users who have not
set the OPENAI_API_KEY in their environment variables.
Release Notes:
- Expand Semantic Index status to include status for non authenticated
users
- Update Search UI to illustrate this status.
Enable keyboard shortcuts for Project Search modes, and ensure project
search settings are persisted search to search.
Release Notes:
- Added alt-cmd-s to Toggle Semantic Search Mode
- Added alt-cmd-g to Toggle Regex Search Mode
- Added alt-cmd-x to Toggle Text Search Mode
- Defaulted new project searches to using last used search mode and
settings.
v0 of the Semantic Index evaluate test suite
Release Notes:
- Added eval.rs as an example to the semantic-index crates
- Generates test metrics for two small projects, as a starting point to
systematically evaluate retrieval quality
Remove Release channel filters from semantic_index allowing the index to
be released to stable.
Release Notes:
- Remove Release channel filters in enabled and semantic_index
initialization