-
Notifications
You must be signed in to change notification settings - Fork 72
Add Graph Recommendation Engine #791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ai-chat-bot-dev
Are you sure you want to change the base?
Conversation
…per repo graphs as of now.
…from their respective folders
feat: Added a Chatbot Interface
For some reason the reasoning model isn't great at parsing out indicies from a JSON.
feat: Used Qwen3 reasoning model instead of llama3.2
chore: Added graphs that don't require per repository settings.
feat: Use embeddings model instead of reasoning model
Allows hot reloading of the app server so that a rebuild is not necessary for small changes in the Python Dash Application.
…ents in PR assignment visualization
Styling Contributors Section based on Figma Template
Revert "Styling Contributors Section based on Figma Template"
cdolfi
left a comment
There was a problem hiding this 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 | |||
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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 | |||
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
|
@yyualvin Please add instructions to this on how to generate an API key and further description on how this works |
|
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) |
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.