MCPcopy Create free account
hub / github.com/PromtEngineer/localGPT / sendSessionMessage

Method sendSessionMessage

src/lib/api.ts:183–238  ·  view source on GitHub ↗
(
    sessionId: string,
    message: string,
    opts: { 
      model?: string; 
      composeSubAnswers?: boolean; 
      decompose?: boolean; 
      aiRerank?: boolean; 
      contextExpand?: boolean; 
      verify?: boolean;
      // ✨ NEW RETRIEVAL PARAMETERS
      retrievalK?: number;
      contextWindowSize?: number;
      rerankerTopK?: number;
      searchType?: string;
      denseWeight?: number;
      forceRag?: boolean;
      provencePrune?: boolean;
    } = {}
  )

Source from the content-addressed store, hash-verified

181 }
182
183 async sendSessionMessage(
184 sessionId: string,
185 message: string,
186 opts: {
187 model?: string;
188 composeSubAnswers?: boolean;
189 decompose?: boolean;
190 aiRerank?: boolean;
191 contextExpand?: boolean;
192 verify?: boolean;
193 // ✨ NEW RETRIEVAL PARAMETERS
194 retrievalK?: number;
195 contextWindowSize?: number;
196 rerankerTopK?: number;
197 searchType?: string;
198 denseWeight?: number;
199 forceRag?: boolean;
200 provencePrune?: boolean;
201 } = {}
202 ): Promise<SessionChatResponse & { source_documents: any[] }> {
203 try {
204 const response = await fetch(`${API_BASE_URL}/sessions/${sessionId}/messages`, {
205 method: 'POST',
206 headers: {
207 'Content-Type': 'application/json',
208 },
209 body: JSON.stringify({
210 message,
211 ...(opts.model && { model: opts.model }),
212 ...(typeof opts.composeSubAnswers === 'boolean' && { compose_sub_answers: opts.composeSubAnswers }),
213 ...(typeof opts.decompose === 'boolean' && { query_decompose: opts.decompose }),
214 ...(typeof opts.aiRerank === 'boolean' && { ai_rerank: opts.aiRerank }),
215 ...(typeof opts.contextExpand === 'boolean' && { context_expand: opts.contextExpand }),
216 ...(typeof opts.verify === 'boolean' && { verify: opts.verify }),
217 // ✨ ADD NEW RETRIEVAL PARAMETERS
218 ...(typeof opts.retrievalK === 'number' && { retrieval_k: opts.retrievalK }),
219 ...(typeof opts.contextWindowSize === 'number' && { context_window_size: opts.contextWindowSize }),
220 ...(typeof opts.rerankerTopK === 'number' && { reranker_top_k: opts.rerankerTopK }),
221 ...(typeof opts.searchType === 'string' && { search_type: opts.searchType }),
222 ...(typeof opts.denseWeight === 'number' && { dense_weight: opts.denseWeight }),
223 ...(typeof opts.forceRag === 'boolean' && { force_rag: opts.forceRag }),
224 ...(typeof opts.provencePrune === 'boolean' && { provence_prune: opts.provencePrune }),
225 }),
226 });
227
228 if (!response.ok) {
229 const errorData = await response.json().catch(() => ({ error: 'Unknown error' }));
230 throw new Error(`Session chat error: ${errorData.error || response.statusText}`);
231 }
232
233 return await response.json();
234 } catch (error) {
235 console.error('Session chat failed:', error);
236 throw error;
237 }
238 }
239
240 async deleteSession(sessionId: string): Promise<{ message: string; deleted_session_id: string }> {

Callers 1

sendMessageFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected