fix(citations): use all sub-question sources for citation lookup
LLMs may cite chunks from one sub-question's context inside another sub-question's answer section. Previously, processCitationsForSubq only looked up the current sub-question's sources, leaving cross-referenced citations unlinked. Now SubQuestionSection passes all sub-question sources and uses processCitations with a combined flat lookup. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
48e15f8232
commit
4058c7dffe
|
|
@ -70,13 +70,18 @@ function SubQuestionSection({
|
||||||
index,
|
index,
|
||||||
subQuestion,
|
subQuestion,
|
||||||
answerSection,
|
answerSection,
|
||||||
|
allSubQuestionSources,
|
||||||
}: {
|
}: {
|
||||||
index: number
|
index: number
|
||||||
subQuestion: SubQuestionSources
|
subQuestion: SubQuestionSources
|
||||||
answerSection: string
|
answerSection: string
|
||||||
|
allSubQuestionSources: SubQuestionSources[]
|
||||||
}) {
|
}) {
|
||||||
const [expanded, setExpanded] = useState(false)
|
const [expanded, setExpanded] = useState(false)
|
||||||
const processedAnswer = processCitationsForSubq(answerSection, [subQuestion], 0)
|
// Look up citations across ALL sub-questions' sources because the LLM
|
||||||
|
// may cite chunks from other sub-questions' contexts.
|
||||||
|
const allSources = allSubQuestionSources.flatMap(sq => sq.sources)
|
||||||
|
const processedAnswer = processCitations(answerSection, allSources)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
|
@ -211,6 +216,7 @@ function SubQuestionSections({
|
||||||
index={index}
|
index={index}
|
||||||
subQuestion={subQuestion}
|
subQuestion={subQuestion}
|
||||||
answerSection={sections[index] ?? ''}
|
answerSection={sections[index] ?? ''}
|
||||||
|
allSubQuestionSources={subQuestionSources}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue