Skip to content

Conversation

@yyualvin
Copy link
Member

@yyualvin yyualvin commented Jun 5, 2025

Demo Video

Screen.Recording.2025-06-13.at.3.16.17.PM.mov

How this Works

Graph names and their descriptions are encoded as vectors in a Milvus vector database. When a user enters a query, a vector search will be initiated on the database, and the top 5 results are returned.

Graphs must be specified in graphs.json in this exact format.

{
        "name" : "File Language By File",
        "about" : "Visualizes the percent of files or lines of code by language.",
        "id" : "gc_code_language"
},

Deployment

You must specify these environmental variables in the env.list file (the embeddings model endpoint, and the credentials). Please do not use a different endpoint.

NOMIC_API_KEY=<Secret API Key>
NOMIC_URL=https://nomic-embed-text-v1-5-maas-apicast-production.apps.prod.rhoai.rh-aiservices-bu.com/v1/embeddings

@yyualvin yyualvin changed the title feat: Added AI Chatbot to suggest graphs to users Add AI Chatbot to suggest graphs to users Jun 5, 2025
@yyualvin yyualvin marked this pull request as draft June 5, 2025 15:30
@yyualvin yyualvin marked this pull request as ready for review June 11, 2025 12:14
@yyualvin yyualvin changed the title Add AI Chatbot to suggest graphs to users Add Graph Recommendation Engine Jun 13, 2025
yyualvin added 3 commits June 13, 2025 15:20
Allows hot reloading of the app server so that a rebuild is not necessary for small changes in the Python Dash Application.
@yyualvin yyualvin changed the base branch from dev to ai-chat-bot-dev June 16, 2025 17:59
@cdolfi cdolfi requested a review from EngCaioFonseca June 20, 2025 18:34
@cdolfi cdolfi moved this from Backlog to Testing | Waiting on PR response | Blocked in Aspen Project Board Jun 20, 2025
Copy link
Collaborator

@cdolfi cdolfi left a comment

Choose a reason for hiding this comment

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

please squash commits down, I have a few questions, and work with @EngCaioFonseca on if these changes would be compatible with a production environment and if not what needs to be iterated on

8Knot/prompt.md Outdated
@@ -0,0 +1,13 @@
## Background
Copy link
Collaborator

Choose a reason for hiding this comment

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

what is the purpose of this file and why is it where it is?

Copy link
Member Author

Choose a reason for hiding this comment

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

That was the prompt file for when I was using an LLM to select the graphs. I'll remove this since now I'm using an embeddings model.

- ./env.list
environment:
- EIGHTKNOT_SEARCHBAR_OPTS_SORT=shortest # Try different options: shortest, longest, alphabetical
- EIGHTKNOT_SEARCHBAR_OPTS_MAX_RESULTS=5500 # Maximum number of results to return (org and repo)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you provide context to these changes?

@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi9/python-39:latest
FROM registry.access.redhat.com/ubi9/python-311:latest
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does it need to be at python 11? If so we will need to check to make sure everything else is compatible with this change

Copy link
Member Author

Choose a reason for hiding this comment

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

I believe llamastack requires a Python version higher than 3.9, however I can revert it back as llamastack isn't being used currently.

# top-level required modules w/o pinned dependencies
# DON'T ADD NEW DEPENDENCIES TO REQUIREMENTS.TXT MANUALLY
# ADD THEM TO REQUIREMENTS-BASE.TXT, THEN RUN
# pip3 freeze -r requirement-base.txt > requirements.txt
Copy link
Collaborator

Choose a reason for hiding this comment

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

@EngCaioFonseca Is this still accurate post moving over to uv?

Copy link
Contributor

@EngCaioFonseca EngCaioFonseca Jun 23, 2025

Choose a reason for hiding this comment

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

@cdolfi no, you're right. It should be moved from pip3 to uv pip

@cdolfi cdolfi requested a review from MichaelClifford July 7, 2025 17:52
@cdolfi
Copy link
Collaborator

cdolfi commented Jul 9, 2025

@yyualvin Please add instructions to this on how to generate an API key and further description on how this works

@MoralCode
Copy link
Contributor

MoralCode commented Jul 11, 2025

I feel like it would also be super nice to have this just fail gracefully too - i.e. if no API key is specified, the "Chat" tab just doesnt appear in the running 8Knot (i.e. without preventing it running)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants