Commit Graph
12853 Commits
Author SHA1 Message Date
Max Brunsfeld 851d7d0bc4 Rename NewNotification proto message to AddNotification 2023-10-19 13:29:14 -07:00
Kyle Caverly 9c49191031 decrease temperature for inline assist on code content (#3145)
"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.
2023-10-19 16:11:29 -04:00
Max Brunsfeld 33f06d3104 Index notifications to allow faster lookup by kind, entity id 2023-10-19 13:03:27 -07:00
Max Brunsfeld 841cfac1f8 Fix filtering when providing non-admins info about channel members 2023-10-19 12:54:47 -07:00
KCaverly 71fb23f769 decrease temperature for inline assist on code content 2023-10-19 15:44:49 -04:00
Max Brunsfeld 150ed641ae Render read notifications in a different color 2023-10-19 12:40:10 -07:00
Max Brunsfeld 5b90507310 Navigate to chat messages when clicking them in the notification panel 2023-10-19 12:31:45 -07:00
Kyle Caverly e45491d2f8 Introduction of PromptTemplate and PromptChains (#3139)
(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.
2023-10-19 14:44:43 -04:00
KCaverly 19c2df4822 outlined when truncation is taking place in the prompt 2023-10-19 14:33:52 -04:00
Max BrunsfeldandPiotr d62f114c02 Create notifications for mentioned users
Co-authored-by: Piotr <piotr@zed.dev>
2023-10-19 10:52:40 -07:00
Kirill Bulatov 999e9c3d5d Sort hint request ranges before asserting to avoid flackiness (#3142) 2023-10-19 11:11:47 +03:00
Kirill Bulatov 40104c06e2 Sort hint request ranges before asserting to avoid flackiness 2023-10-19 11:05:47 +03:00
Julia 36731ba6b3 Magic incantations for Tailwind autocomplete in Svelte, Elixir ~H, Heex 2023-10-19 01:54:42 -04:00
Conrad Irwin 9d07561d99 Merge branch 'main' into pixel-columns 2023-10-18 23:00:56 -06:00
Conrad Irwin 3eb8aa8085 Refactor TextLayoutDetails construction 2023-10-18 22:56:11 -06:00
Conrad Irwin 138fa45ecb recert config change 2023-10-18 22:23:38 -06:00
Conrad Irwin cb76b2a6ad Make vim visual block work better 2023-10-18 22:23:06 -06:00
Max Brunsfeld 5257fb8533 Fix compile error in db seed executable 2023-10-18 18:05:51 -07:00
Max Brunsfeld ac54d2b927 Fix possibility of extra mention insertion on nonce collision 2023-10-18 18:04:56 -07:00
Max Brunsfeld b07f9fe3b5 Merge branch 'main' into notifications 2023-10-18 17:20:04 -07:00
Max Brunsfeld d05404a4df Persist chat mentions 2023-10-18 16:56:03 -07:00
KCaverly 178a84bcf6 progress on smarter truncation strategy for file context 2023-10-18 17:56:59 -04:00
KCaverly 587fd707ba added smarter error handling for file_context prompts without provided buffers 2023-10-18 16:40:09 -04:00
KCaverly f59f2eccd5 added dumb truncation strategies to file_context and generate 2023-10-18 16:32:14 -04:00
KCaverly a0e01e075d fix for error when truncating a length less than the string length 2023-10-18 16:31:29 -04:00
KCaverly 32853c2044 added initial placeholder for truncation without a valid strategy 2023-10-18 16:23:53 -04:00
KCaverly 473067db31 update PromptPriority to accomodate for both Mandatory and Ordered prompts 2023-10-18 15:56:39 -04:00
Max Brunsfeld 199740902a Fix possibility of infinite loop in selections_with_autoclose_regions (#3138)
Previously, that method could loop forever if the editor's autoclose
regions had unexpected selection ids.

Something must have changed recently that allowed this invariant to be
violated, but regardless, this code should not have relied on that
invariant to terminate like this.
2023-10-18 11:34:35 -07:00
KCaverly aa1825681c update the assistant panel to use new prompt templates 2023-10-18 14:20:12 -04:00
Max BrunsfeldandPiotr 655c9ece2d Fix possibility of infinite loop in selections_with_autoclose_regions
Previously, that method could loop forever if the editor's autoclose
regions had unexpected selection ids.

Co-authored-by: Piotr <piotr@zed.dev>
2023-10-18 11:16:14 -07:00
Joseph T. Lyons 4e68b588be collab 0.25.0 2023-10-18 13:17:17 -04:00
KCaverly b9bb27512c fix template ordering during prompt chain generation 2023-10-18 13:10:31 -04:00
KCaverly fa61c1b9c1 add prompt template for generate inline content 2023-10-18 13:03:11 -04:00
Joseph T. Lyons cf429ba284 v0.110.x dev 2023-10-18 12:31:12 -04:00
KCaverly 178a79fc47 added prompt template for file context without truncation 2023-10-18 12:29:10 -04:00
Piotr Osiewicz 99121ad5cd buffer_search: Discard empty search suggestions. (#3136)
Now when buffer_search::Deploy action is triggered (with cmd-f), we'll
keep the previous query in query_editor (if there was one) instead of
replacing it with empty query.

This addresses this bit of feedback from Jose:
> If no text is selected, `cmd + f` should not delete the text in the
search bar when refocusing

Release Notes:
- Improved buffer search by not clearing out query editor when no text
is selected and "buffer search: deploy" (default keybind: cmd-f) is
triggered.
2023-10-18 18:05:13 +02:00
KCaverly 4b8771f3e2 Merge branch 'main' of github.com:zed-industries/zed into prompt_template 2023-10-18 10:42:16 -04:00
Kyle Caverly fea6d70d4d return code inside a markdown block during inline assist (#3137)
Reverted prior small change in inline prompting.
We should now only return code in a markdown block during inline
assists.
2023-10-18 10:40:53 -04:00
KCaverly ed8a2c8793 revert change to return only the text and inside return all text inside markdown blocks 2023-10-18 10:35:11 -04:00
Max Brunsfeld 821419ee5b Add a unit test for the mention-searching logic in MessageEditor 2023-10-17 20:15:49 -07:00
Max Brunsfeld ee87ac2f9b Start work on chat mentions 2023-10-17 17:59:42 -07:00
Max Brunsfeld 660021f5e5 Fix more issues with the channels panel
* Put the newest notifications at the top
* Have at most 1 notification toast, which is non-interactive,
  but focuses the notification panel on click, and auto-dismisses
  on a timer.
2023-10-17 15:43:06 -07:00
KCaverly 02853bbd60 added prompt template for repository context 2023-10-17 17:29:07 -04:00
KCaverly a874a09b7e added openai language model tokenizer and LanguageModel trait 2023-10-17 16:21:03 -04:00
Joseph T. Lyons 13c7bbbac6 Shorten GitHub release message 2023-10-17 15:47:17 -04:00
Conrad Irwin cc390ba862 Start writing role to database (#3120)
Scaffolding for guest members in channels

Release notes:
- You can now set channels to "public" which will allow anyone to join
and become a member. In a future release guests joining public channels
will have reduced permissions.
2023-10-17 13:40:58 -06:00
Conrad Irwin 04a28fe831 Fix lint errors 2023-10-17 13:32:08 -06:00
Conrad Irwin 1c5e07f4a2 update sidebar for public channels 2023-10-17 13:30:09 -06:00
Kyle Caverly 2795091f0c Introduce Context Retrieval in Inline Assistant (#3097)
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
2023-10-17 15:04:36 -04:00
Kirill Bulatov c380d437c6 Cap every language server logs (#3134)
* on opening a language server's logs, a new editor for server logs is
now created from `\n`-joined `VecDeque` elements instead of a buffer, as
before
* every `VecDeque` entry is a log line we receiver out of stderr or LSP
server, and their general amount is capped with `let
MAX_STORED_LOG_ENTRIES: usize = 2000;`
* currently opened editor with logs (`Editor::multi_line`) keeps getting
log lines appended and may get over this cap, but only last stored 2000
entries will be restored on reopen
* similarly, cap rpc message logs

Release Notes:

- Improved memory usage by storing less language LSP server and rpc logs
2023-10-17 21:51:21 +03:00