4.6.8-alpha (#804)
* perf: redirect request and err log replace perf: dataset openapi feat: session fix: retry input error feat: 468 doc sub page feat: standard sub perf: rerank tip perf: rerank tip perf: api sdk perf: openapi sub plan perf: sub ui fix: ts * perf: init log * fix: variable select * sub page * icon * perf: llm model config * perf: menu ux * perf: system store * perf: publish app name * fix: init data * perf: flow edit ux * fix: value type format and ux * fix prompt editor default value (#13) * fix prompt editor default value * fix prompt editor update when not focus * add key with variable --------- Co-authored-by: Archer <545436317@qq.com> * fix: value type * doc * i18n * import path * home page * perf: mongo session running * fix: ts * perf: use toast * perf: flow edit * perf: sse response * slider ui * fetch error * fix prompt editor rerender when not focus by key defaultvalue (#14) * perf: prompt editor * feat: dataset search concat * perf: doc * fix:ts * perf: doc * fix json editor onblur value (#15) * faq * vector model default config * ipv6 --------- Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
This commit is contained in:
@@ -58,9 +58,7 @@ export const appModule2FlowNode = ({
|
||||
moduleTemplatesFlat.find((template) => template.flowType === item.flowType) || UserInputModule;
|
||||
|
||||
const concatInputs = template.inputs.concat(
|
||||
item.inputs.filter(
|
||||
(input) => input.label && !template.inputs.find((item) => item.key === input.key)
|
||||
)
|
||||
item.inputs.filter((input) => !template.inputs.find((item) => item.key === input.key))
|
||||
);
|
||||
const concatOutputs = item.outputs.concat(
|
||||
template.outputs.filter(
|
||||
@@ -72,6 +70,7 @@ export const appModule2FlowNode = ({
|
||||
const moduleItem: FlowModuleItemType = {
|
||||
...template,
|
||||
...item,
|
||||
avatar: template?.avatar || item.avatar,
|
||||
inputs: concatInputs.map((templateInput) => {
|
||||
// use latest inputs
|
||||
const itemInput = item.inputs.find((item) => item.key === templateInput.key) || templateInput;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
const decoder = new TextDecoder();
|
||||
|
||||
export const parseStreamChunk = (value: BufferSource) => {
|
||||
const chunk = decoder.decode(value);
|
||||
const chunkLines = chunk.split('\n\n').filter(Boolean);
|
||||
const chunkResponse = chunkLines.map((item) => {
|
||||
const splitEvent = item.split('\n');
|
||||
if (splitEvent.length === 2) {
|
||||
return {
|
||||
event: splitEvent[0].replace('event: ', ''),
|
||||
data: splitEvent[1].replace('data: ', '')
|
||||
};
|
||||
}
|
||||
return {
|
||||
event: '',
|
||||
data: splitEvent[0].replace('data: ', '')
|
||||
};
|
||||
});
|
||||
|
||||
return chunkResponse;
|
||||
};
|
||||
|
||||
export class SSEParseData {
|
||||
storeReadData = '';
|
||||
storeEventName = '';
|
||||
|
||||
parse(item: { event: string; data: string }) {
|
||||
if (item.data === '[DONE]') return { eventName: item.event, data: item.data };
|
||||
|
||||
if (item.event) {
|
||||
this.storeEventName = item.event;
|
||||
}
|
||||
|
||||
try {
|
||||
const formatData = this.storeReadData + item.data;
|
||||
const parseData = JSON.parse(formatData);
|
||||
const eventName = this.storeEventName;
|
||||
|
||||
this.storeReadData = '';
|
||||
this.storeEventName = '';
|
||||
|
||||
return {
|
||||
eventName,
|
||||
data: parseData
|
||||
};
|
||||
} catch (error) {
|
||||
if (typeof item.data === 'string' && !item.data.startsWith(': ping')) {
|
||||
this.storeReadData += item.data;
|
||||
} else {
|
||||
this.storeReadData = '';
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user