Implement KB features with codex
This commit is contained in:
@@ -988,10 +988,21 @@ export const DebugDrawer: React.FC<{
|
||||
isOpen: boolean;
|
||||
onClose: () => void;
|
||||
assistant: Assistant;
|
||||
voices: Voice[];
|
||||
llmModels: LLMModel[];
|
||||
asrModels: ASRModel[];
|
||||
}> = ({ isOpen, onClose, assistant, voices, llmModels, asrModels }) => {
|
||||
voices?: Voice[];
|
||||
llmModels?: LLMModel[];
|
||||
asrModels?: ASRModel[];
|
||||
sessionMetadataExtras?: Record<string, any>;
|
||||
onProtocolEvent?: (event: Record<string, any>) => void;
|
||||
}> = ({
|
||||
isOpen,
|
||||
onClose,
|
||||
assistant,
|
||||
voices = [],
|
||||
llmModels = [],
|
||||
asrModels = [],
|
||||
sessionMetadataExtras,
|
||||
onProtocolEvent,
|
||||
}) => {
|
||||
const TARGET_SAMPLE_RATE = 16000;
|
||||
const downsampleTo16k = (input: Float32Array, inputSampleRate: number): Float32Array => {
|
||||
if (inputSampleRate === TARGET_SAMPLE_RATE) return input;
|
||||
@@ -1474,6 +1485,10 @@ export const DebugDrawer: React.FC<{
|
||||
const warnings: string[] = [];
|
||||
const services: Record<string, any> = {};
|
||||
const isExternalLlm = assistant.configMode === 'dify' || assistant.configMode === 'fastgpt';
|
||||
const knowledgeBaseId = String(assistant.knowledgeBaseId || '').trim();
|
||||
const knowledge = knowledgeBaseId
|
||||
? { enabled: true, kbId: knowledgeBaseId, nResults: 5 }
|
||||
: { enabled: false };
|
||||
|
||||
if (isExternalLlm) {
|
||||
services.llm = {
|
||||
@@ -1541,6 +1556,8 @@ export const DebugDrawer: React.FC<{
|
||||
sessionStartMetadata: {
|
||||
systemPrompt: assistant.prompt || '',
|
||||
greeting: assistant.opener || '',
|
||||
knowledgeBaseId,
|
||||
knowledge,
|
||||
services,
|
||||
history: {
|
||||
assistantId: assistant.id,
|
||||
@@ -1556,7 +1573,10 @@ export const DebugDrawer: React.FC<{
|
||||
const fetchRuntimeMetadata = async (): Promise<Record<string, any>> => {
|
||||
const localResolved = buildLocalResolvedRuntime();
|
||||
setResolvedConfigView(JSON.stringify(localResolved, null, 2));
|
||||
return localResolved.sessionStartMetadata;
|
||||
return {
|
||||
...localResolved.sessionStartMetadata,
|
||||
...(sessionMetadataExtras || {}),
|
||||
};
|
||||
};
|
||||
|
||||
const closeWs = () => {
|
||||
@@ -1622,6 +1642,9 @@ export const DebugDrawer: React.FC<{
|
||||
}
|
||||
|
||||
const type = payload?.type;
|
||||
if (onProtocolEvent) {
|
||||
onProtocolEvent(payload);
|
||||
}
|
||||
if (type === 'hello.ack') {
|
||||
ws.send(
|
||||
JSON.stringify({
|
||||
|
||||
Reference in New Issue
Block a user