Skip to content

[Observability AI Assistant] Update README.md#163769

Merged
dgieselaar merged 4 commits intomainfrom
dgieselaar-patch-1
Aug 13, 2023
Merged

[Observability AI Assistant] Update README.md#163769
dgieselaar merged 4 commits intomainfrom
dgieselaar-patch-1

Conversation

@dgieselaar
Copy link
Contributor

Adds a README file for the Observability AI Assistant (or rather adds some actual content)

@dgieselaar dgieselaar added release_note:skip Skip the PR/issue when compiling release notes v8.10.0 labels Aug 12, 2023
@dgieselaar dgieselaar requested a review from a team as a code owner August 12, 2023 17:17
@ghost
Copy link

ghost commented Aug 12, 2023

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • /oblt-deploy-serverless : Deploy a serverless Kibana instance using the Observability test environments.
  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

Copy link

@SeanHeelan SeanHeelan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!


Conversations with the AI Assistant are powered by three foundational components: the LLM (currently only OpenAI flavors), the knowledge base, and function calling.

The LLM essentially sits between the product and the user. Its purpose is to interpret both the messages from the user and the response from the functions called, and offer its conclusions and suggest next steps. It can suggest functions on its own, and it has read and write access to the knowledge base.
Copy link

@SeanHeelan SeanHeelan Aug 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One somewhat random comment on The LLM essentially sits between the product and the user: A few days ago I was using GPT-4 to interpret the output of Linux CLI commands. The use case I was experimenting is akin to having a bash shell in which every time you execute a command you get the output enriched with analysis/commentary from the LLM. At one point I executed a ls command in a directory and then tried to execute a program that was in that directory according to the output of ls, but I couldn't. The executable wasn't there any more. I then lost 30 mins thinking I was going insane and had somehow deleted the executable, or run the ls command on a different host via ssh without realising or something. Anyway, long story short ... I was the victim of the LLM hallucinating and instead of just adding commentary when presenting me with the output of ls it was totally rewriting the output and making up files/directories. The reason I mention this is that we need to make sure we protect users from this happening. If the LLM is sitting in the middle, we need to make sure any time we're presenting the output of a function to the user we try to minimize the chances of a hallucination taking place (i.e. by including stuff like "product the output verbatim" in the prompt), and we also need to ensure that users have a way to get to the raw command output if they need to, so they can at least check if a hallucination has taken place.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed, do you think allowing the user to inspect the function response (which is directly from the "system", and only then sent over to the LLM for interpretation) covers that?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So think we want to have the default mode of operation be minimal friction, and I don't think it's feasible/desirable to have the user eye-balling the data going back and forth. I think the solution is likely:

  1. Ensure we are clear in our prompts about how the LLM is supposed to handle the input data, and expectations around echo'ing content verbatim if that's what we want.
  2. Instead of having the user sit in the middle and eyeball data each time it's sent back and forth, give the user the ability to see the raw data, function calls etc, after the fact if they want to. e.g. via 'More info' drop down on the chat message it relates to, or something similar.

@dgieselaar
Copy link
Contributor Author

dgieselaar commented Aug 12, 2023 via email

Copy link
Contributor

@CoenWarmer CoenWarmer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great write up. Two small typos.

dgieselaar and others added 2 commits August 13, 2023 09:59
Co-authored-by: Coen Warmer <coen.warmer@gmail.com>
Co-authored-by: Coen Warmer <coen.warmer@gmail.com>
@dgieselaar dgieselaar enabled auto-merge (squash) August 13, 2023 07:59
@dgieselaar
Copy link
Contributor Author

@CoenWarmer thx, addressed (will dismiss your review and merge)

@dgieselaar dgieselaar dismissed CoenWarmer’s stale review August 13, 2023 08:00

changes addressed

@dgieselaar dgieselaar merged commit 384a1f1 into main Aug 13, 2023
@kibana-ci
Copy link

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@dgieselaar dgieselaar deleted the dgieselaar-patch-1 branch August 13, 2023 09:01
@kibanamachine kibanamachine added the backport:skip This PR does not require backporting label Aug 13, 2023
jughosta pushed a commit to jughosta/kibana that referenced this pull request Aug 14, 2023
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Coen Warmer <coen.warmer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes v8.10.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants