danny-avila / LibreChat

Enhanced ChatGPT Clone: Features OpenAI, Assistants API, Azure, Groq, GPT-4 Vision, Mistral, Bing, Anthropic, OpenRouter, Vertex AI, Gemini, AI model switching, message search, langchain, DALL-E-3, ChatGPT Plugins, OpenAI Functions, Secure Multi-User System, Presets, completely open-source for self-hosting. More features in development
https://librechat.ai/
MIT License
15.31k stars 2.55k forks source link

[Bug]: cache (meilisearch) and context still captured while endpoint returns error #1285

Open shuther opened 7 months ago

shuther commented 7 months ago

Contact Details

No response

What happened?

My end point (openrouter) was returning an error (You are out of credits.) but I identified while running the docker (latest build) with debug mode than this output was indexed and the different requests (multiple requests with errors as per the chat window) were included in the PAYLOAD/TOKEN COUNT MAP.

Steps to Reproduce

you need an AI endpoint that will return: You are out of credits:

LibreChat         | Error: Error: 402 You are out of credits. Please visit https://openrouter.ai/account to add more.
LibreChat         |     at OpenAIClient.chatCompletion (/app/api/app/clients/OpenAIClient.js:826:15)
LibreChat         |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
LibreChat         |     at async OpenAIClient.sendCompletion (/app/api/app/clients/OpenAIClient.js:442:15)
LibreChat         |     at async OpenAIClient.sendMessage (/app/api/app/clients/BaseClient.js:452:24)
LibreChat         |     at async /app/api/server/routes/ask/openAI.js:112:20

What browsers are you seeing the problem on?

Chrome

Relevant log output

chat-meilisearch  | [2023-12-05T19:47:53Z DEBUG meilisearch::routes::indexes::documents] called with params: AwebQueryParameter(UpdateDocumentsQuery { primary_key: None, csv_delimiter: None }, PhantomData<*const meilisearch_types::deserr::DeserrError<meilisearch_types::deserr::DeserrQueryParam, meilisearch_types::error::deserr_codes::BadRequest>>)
chat-meilisearch  | [2023-12-05T19:47:53Z DEBUG actix_web::middleware::logger] Error in response: ResponseError { code: 404, message: "Document `29335dd0-c006-4d36-a643-a871204b1a0d` not found.", error_code: "document_not_found", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#document_not_found" }
chat-meilisearch  | [2023-12-05T19:47:53Z INFO  actix_web::middleware::logger] 172.26.0.4 "GET /indexes/convos/documents/29335dd0-c006-4d36-a643-a871204b1a0d HTTP/1.1" 404 189 "-" "undici" 0.000601
LibreChat         | [Meilisearch] Convo not found and will index 29335dd0-c006-4d36-a643-a871204b1a0d
chat-meilisearch  | [2023-12-05T19:47:53Z DEBUG meilisearch::routes::indexes::documents] called with params: AwebQueryParameter(UpdateDocumentsQuery { primary_key: None, csv_delimiter: None }, PhantomData<*const meilisearch_types::deserr::DeserrError<meilisearch_types::deserr::DeserrQueryParam, meilisearch_types::error::deserr_codes::BadRequest>>)
chat-meilisearch  | [2023-12-05T19:47:53Z DEBUG meilisearch::routes::indexes::documents] returns: Task { uid: 13, enqueued_at: 2023-12-05 19:47:53.459059807 +00:00:00, started_at: None, finished_at: None, error: None, canceled_by: None, details: Some(DocumentAdditionOrUpdate { received_documents: 1, indexed_documents: None }), status: Enqueued, kind: DocumentAdditionOrUpdate { index_uid: "messages", primary_key: None, method: ReplaceDocuments, content_file: 2bc3dffa-2757-4654-9fb9-51c74c3fcc51, documents_count: 1, allow_index_creation: true } }
chat-meilisearch  | [2023-12-05T19:47:53Z INFO  actix_web::middleware::logger] 172.26.0.4 "POST /indexes/messages/documents HTTP/1.1" 202 136 "-" "undici" 0.015734
LibreChat         | baseURL https://openrouter.ai/api/v1
chat-meilisearch  | [2023-12-05T19:47:53Z DEBUG index_scheduler::batch] update: RemapDocumentAddition { documents_seen: 0 }

LibreChat         | Error: Error: 402 You are out of credits. Please visit https://openrouter.ai/account to add more.
LibreChat         |     at OpenAIClient.chatCompletion (/app/api/app/clients/OpenAIClient.js:826:15)
LibreChat         |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
LibreChat         |     at async OpenAIClient.sendCompletion (/app/api/app/clients/OpenAIClient.js:442:15)
LibreChat         |     at async OpenAIClient.sendMessage (/app/api/app/clients/BaseClient.js:452:24)
LibreChat         |     at async /app/api/server/routes/ask/openAI.js:112:20
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG meilisearch::routes::indexes::documents] called with params: AwebQueryParameter(UpdateDocumentsQuery { primary_key: None, csv_delimiter: None }, PhantomData<*const meilisearch_types::deserr::DeserrError<meilisearch_types::deserr::DeserrQueryParam, meilisearch_types::error::deserr_codes::BadRequest>>)
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG meilisearch::routes::indexes::documents] returns: Task { uid: 15, enqueued_at: 2023-12-05 19:47:54.014080133 +00:00:00, started_at: None, finished_at: None, error: None, canceled_by: None, details: Some(DocumentAdditionOrUpdate { received_documents: 1, indexed_documents: None }), status: Enqueued, kind: DocumentAdditionOrUpdate { index_uid: "messages", primary_key: None, method: ReplaceDocuments, content_file: e60ab2f2-4cd9-4f29-97c0-95966bca73e1, documents_count: 1, allow_index_creation: true } }
chat-meilisearch  | [2023-12-05T19:47:54Z INFO  actix_web::middleware::logger] 172.26.0.4 "POST /indexes/messages/documents HTTP/1.1" 202 136 "-" "undici" 0.012510
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG index_scheduler::batch] update: RemapDocumentAddition { documents_seen: 0 }
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG index_scheduler::batch] update: RemapDocumentAddition { documents_seen: 1 }
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG index_scheduler::batch] update: RemapDocumentAddition { documents_seen: 1 }
chat-meilisearch  | [2023-12-05T19:47:54Z DEBUG index_scheduler::batch] update: ComputeIdsAndMergeDocuments { documents_seen: 1, total_documents: 1 }

LibreChat         | Token Count Map: {
LibreChat         |   'e24a99cc-02a4-48b8-9a30-3a48d6bf802f': 23,
LibreChat         |   '65d4f8c3-d5f3-486e-85fe-0c44c9ebbbca': 26,
LibreChat         |   '62fa211d-4524-4613-bf97-db0ded4f96ac': 25
LibreChat         | }
LibreChat         | Prompt Tokens 77 remainingContextTokens 4018 this.maxContextTokens 4095
LibreChat         | {
LibreChat         |   'e24a99cc-02a4-48b8-9a30-3a48d6bf802f': 23,
LibreChat         |   '65d4f8c3-d5f3-486e-85fe-0c44c9ebbbca': 26,
LibreChat         |   '62fa211d-4524-4613-bf97-db0ded4f96ac': 25,
LibreChat         |   instructions: undefined
LibreChat         | }

Screenshots

No response

Code of Conduct

danny-avila commented 7 months ago

Good call, we should remove these from the count and not index, thanks for the report!