Grab your coffee. Here are this week’s highlights.
📅 Today’s Picks
kotaemon – Build Private Document QA with Citations
Problem
ChatGPT’s file upload is useful for quick questions, but it is not built for shared document workflows.
Teams often need page-level citations, shared document collections, user access control, and a way to keep sensitive files inside their own infrastructure.
Solution
kotaemon provides a self-hosted document QA interface for that. It lets teams ask questions across documents, verify answers in a built-in PDF viewer, and organize files into private or public collections.
Key benefits:
Finds answers with both keyword search and semantic search
Reasons across multiple documents for more complex questions
Runs on your own infrastructure with one Docker command
Works with OpenAI, Anthropic, and local models
Graphify – Query a Codebase as a Knowledge Graph
Problem
When asking repo-level questions, the usual workflow is to search with grep, jump between definitions, read docs, and paste context back into the chat.
But this workflow takes time, makes indirect connections easy to miss, and forces the assistant to load more context than needed.
Solution
Graphify turns a project folder into a local knowledge graph that maps those relationships, so follow-up questions become cheaper and easier to answer accurately.
The following example shows how Graphify traces the shortest path between two scikit-learn components without manually opening files.
Stay Current with CodeCut
Actionable Python tips, curated for busy data pros. Skim in under 2 minutes, three times a week.
.codecut-subscribe-form .codecut-input {
background: #2F2D2E !important;
border: 1px solid #72BEFA !important;
color: #FFFFFF !important;
}
.codecut-subscribe-form .codecut-input::placeholder {
color: #999999 !important;
}
.codecut-subscribe-form .codecut-subscribe-btn {
background: #72BEFA !important;
color: #2F2D2E !important;
}
.codecut-subscribe-form .codecut-subscribe-btn:hover {
background: #5aa8e8 !important;
}
.codecut-subscribe-form {
max-width: 650px;
display: flex;
flex-direction: column;
gap: 8px;
}
.codecut-input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: #FFFFFF;
border-radius: 8px !important;
padding: 8px 12px;
font-family: 'Comfortaa', sans-serif !important;
font-size: 14px !important;
color: #333333;
border: none !important;
outline: none;
width: 100%;
box-sizing: border-box;
}
input[type="email"].codecut-input {
border-radius: 8px !important;
}
.codecut-input::placeholder {
color: #666666;
}
.codecut-email-row {
display: flex;
align-items: stretch;
height: 36px;
gap: 8px;
}
.codecut-email-row .codecut-input {
flex: 1;
}
.codecut-subscribe-btn {
background: #72BEFA;
color: #2F2D2E;
border: none;
border-radius: 8px;
padding: 8px 14px;
font-family: 'Comfortaa', sans-serif;
font-size: 14px;
font-weight: 500;
cursor: pointer;
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.3s ease;
}
.codecut-subscribe-btn:hover {
background: #5aa8e8;
}
.codecut-subscribe-btn:disabled {
background: #999;
cursor: not-allowed;
}
.codecut-message {
font-family: 'Comfortaa', sans-serif;
font-size: 12px;
padding: 8px;
border-radius: 6px;
display: none;
}
.codecut-message.success {
background: #d4edda;
color: #155724;
display: block;
}
@media (max-width: 480px) {
.codecut-email-row {
flex-direction: column;
height: auto;
gap: 8px;
}
.codecut-input {
border-radius: 8px;
height: 36px;
}
.codecut-subscribe-btn {
width: 100%;
text-align: center;
border-radius: 8px;
height: 36px;
}
}
The post [Graphify – Query a Codebase as a Knowledge Graph](https://codecut.ai/graphify-query-a-codebase-as-a-knowledge-graph/) appeared first on [CodeCut](https://codecut.ai).