mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-11-22 04:58:15 +00:00
Compare commits
3 Commits
203ab6215b
...
4b2aa0b2ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4b2aa0b2ad | ||
|
|
78878313da | ||
|
|
f37686189e |
@@ -19,6 +19,8 @@ class LineOutputParser extends BaseOutputParser<string> {
|
|||||||
lc_namespace = ['langchain', 'output_parsers', 'line_output_parser'];
|
lc_namespace = ['langchain', 'output_parsers', 'line_output_parser'];
|
||||||
|
|
||||||
async parse(text: string): Promise<string> {
|
async parse(text: string): Promise<string> {
|
||||||
|
text = text.trim() || '';
|
||||||
|
|
||||||
const regex = /^(\s*(-|\*|\d+\.\s|\d+\)\s|\u2022)\s*)+/;
|
const regex = /^(\s*(-|\*|\d+\.\s|\d+\)\s|\u2022)\s*)+/;
|
||||||
const startKeyIndex = text.indexOf(`<${this.key}>`);
|
const startKeyIndex = text.indexOf(`<${this.key}>`);
|
||||||
const endKeyIndex = text.indexOf(`</${this.key}>`);
|
const endKeyIndex = text.indexOf(`</${this.key}>`);
|
||||||
|
|||||||
@@ -19,11 +19,13 @@ class LineListOutputParser extends BaseOutputParser<string[]> {
|
|||||||
lc_namespace = ['langchain', 'output_parsers', 'line_list_output_parser'];
|
lc_namespace = ['langchain', 'output_parsers', 'line_list_output_parser'];
|
||||||
|
|
||||||
async parse(text: string): Promise<string[]> {
|
async parse(text: string): Promise<string[]> {
|
||||||
|
text = text.trim() || '';
|
||||||
|
|
||||||
const regex = /^(\s*(-|\*|\d+\.\s|\d+\)\s|\u2022)\s*)+/;
|
const regex = /^(\s*(-|\*|\d+\.\s|\d+\)\s|\u2022)\s*)+/;
|
||||||
const startKeyIndex = text.indexOf(`<${this.key}>`);
|
const startKeyIndex = text.indexOf(`<${this.key}>`);
|
||||||
const endKeyIndex = text.indexOf(`</${this.key}>`);
|
const endKeyIndex = text.indexOf(`</${this.key}>`);
|
||||||
|
|
||||||
if (startKeyIndex === -1 && endKeyIndex === -1) {
|
if (startKeyIndex === -1 || endKeyIndex === -1) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ const Chat = ({
|
|||||||
loading,
|
loading,
|
||||||
messages,
|
messages,
|
||||||
sendMessage,
|
sendMessage,
|
||||||
|
copilotEnabled,
|
||||||
|
setCopilotEnabled,
|
||||||
messageAppeared,
|
messageAppeared,
|
||||||
rewrite,
|
rewrite,
|
||||||
fileIds,
|
fileIds,
|
||||||
@@ -18,6 +20,8 @@ const Chat = ({
|
|||||||
setFiles,
|
setFiles,
|
||||||
}: {
|
}: {
|
||||||
messages: Message[];
|
messages: Message[];
|
||||||
|
copilotEnabled: boolean;
|
||||||
|
setCopilotEnabled: (enable: boolean) => void;
|
||||||
sendMessage: (message: string) => void;
|
sendMessage: (message: string) => void;
|
||||||
loading: boolean;
|
loading: boolean;
|
||||||
messageAppeared: boolean;
|
messageAppeared: boolean;
|
||||||
@@ -89,6 +93,8 @@ const Chat = ({
|
|||||||
<MessageInput
|
<MessageInput
|
||||||
loading={loading}
|
loading={loading}
|
||||||
sendMessage={sendMessage}
|
sendMessage={sendMessage}
|
||||||
|
copilotEnabled={copilotEnabled}
|
||||||
|
setCopilotEnabled={setCopilotEnabled}
|
||||||
fileIds={fileIds}
|
fileIds={fileIds}
|
||||||
setFileIds={setFileIds}
|
setFileIds={setFileIds}
|
||||||
files={files}
|
files={files}
|
||||||
|
|||||||
@@ -414,6 +414,7 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||||||
const [fileIds, setFileIds] = useState<string[]>([]);
|
const [fileIds, setFileIds] = useState<string[]>([]);
|
||||||
|
|
||||||
const [focusMode, setFocusMode] = useState('webSearch');
|
const [focusMode, setFocusMode] = useState('webSearch');
|
||||||
|
const [copilotEnabled, setCopilotEnabled] = useState(true);
|
||||||
const [optimizationMode, setOptimizationMode] = useState('speed');
|
const [optimizationMode, setOptimizationMode] = useState('speed');
|
||||||
|
|
||||||
const [isMessagesLoaded, setIsMessagesLoaded] = useState(false);
|
const [isMessagesLoaded, setIsMessagesLoaded] = useState(false);
|
||||||
@@ -498,8 +499,9 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||||||
},
|
},
|
||||||
files: fileIds,
|
files: fileIds,
|
||||||
focusMode: focusMode,
|
focusMode: focusMode,
|
||||||
|
copilotEnabled:copilotEnabled,
|
||||||
optimizationMode: optimizationMode,
|
optimizationMode: optimizationMode,
|
||||||
history: [...chatHistory, ['human', message]],
|
history: [...chatHistory],
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -661,6 +663,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||||||
loading={loading}
|
loading={loading}
|
||||||
messages={messages}
|
messages={messages}
|
||||||
sendMessage={sendMessage}
|
sendMessage={sendMessage}
|
||||||
|
copilotEnabled={copilotEnabled}
|
||||||
|
setCopilotEnabled={setCopilotEnabled}
|
||||||
messageAppeared={messageAppeared}
|
messageAppeared={messageAppeared}
|
||||||
rewrite={rewrite}
|
rewrite={rewrite}
|
||||||
fileIds={fileIds}
|
fileIds={fileIds}
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
import { cn } from '@/lib/utils';
|
import {cn} from '@/lib/utils';
|
||||||
import { ArrowUp } from 'lucide-react';
|
import {ArrowUp} from 'lucide-react';
|
||||||
import { useEffect, useRef, useState } from 'react';
|
import {useEffect, useRef, useState} from 'react';
|
||||||
import TextareaAutosize from 'react-textarea-autosize';
|
import TextareaAutosize from 'react-textarea-autosize';
|
||||||
import Attach from './MessageInputActions/Attach';
|
|
||||||
import CopilotToggle from './MessageInputActions/Copilot';
|
import CopilotToggle from './MessageInputActions/Copilot';
|
||||||
import { File } from './ChatWindow';
|
import {File} from './ChatWindow';
|
||||||
import AttachSmall from './MessageInputActions/AttachSmall';
|
import AttachSmall from './MessageInputActions/AttachSmall';
|
||||||
|
|
||||||
const MessageInput = ({
|
const MessageInput = ({
|
||||||
sendMessage,
|
sendMessage,
|
||||||
|
copilotEnabled,
|
||||||
|
setCopilotEnabled,
|
||||||
loading,
|
loading,
|
||||||
fileIds,
|
fileIds,
|
||||||
setFileIds,
|
setFileIds,
|
||||||
@@ -16,13 +17,14 @@ const MessageInput = ({
|
|||||||
setFiles,
|
setFiles,
|
||||||
}: {
|
}: {
|
||||||
sendMessage: (message: string) => void;
|
sendMessage: (message: string) => void;
|
||||||
|
copilotEnabled: boolean;
|
||||||
|
setCopilotEnabled: (enable: boolean) => void;
|
||||||
loading: boolean;
|
loading: boolean;
|
||||||
fileIds: string[];
|
fileIds: string[];
|
||||||
setFileIds: (fileIds: string[]) => void;
|
setFileIds: (fileIds: string[]) => void;
|
||||||
files: File[];
|
files: File[];
|
||||||
setFiles: (files: File[]) => void;
|
setFiles: (files: File[]) => void;
|
||||||
}) => {
|
}) => {
|
||||||
const [copilotEnabled, setCopilotEnabled] = useState(false);
|
|
||||||
const [message, setMessage] = useState('');
|
const [message, setMessage] = useState('');
|
||||||
const [textareaRows, setTextareaRows] = useState(1);
|
const [textareaRows, setTextareaRows] = useState(1);
|
||||||
const [mode, setMode] = useState<'multi' | 'single'>('single');
|
const [mode, setMode] = useState<'multi' | 'single'>('single');
|
||||||
|
|||||||
Reference in New Issue
Block a user