-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(azure-cosmosdb): add session context for a user mongodb #7436
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Skipped Deployment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable to me!
@sinedied do you mind giving this a look?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @crisjy !
The context handling looks fine here, but you're missing user handling, which is needed to list/delete sessions otherwise you have no distinction of users.
What we did in the other CosmosDB implementation is make userId
parameter optional in the DB options and set it to anonymous
by default to keep compatibility with other implementation (or when user handling is not needed).
async clearAllSessions() { | ||
await this.initialize(); | ||
try { | ||
await this.collection.deleteMany({}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would delete all sessions for all users, which might not be the intended behavior... I think you missed the user handling here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep, add user id as handle for sessions, thank you for your comment!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you forgot to update this call to filter it for the current user only
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add user id as handler to clear sessions
@crisjy let me know when this is ready for another look! |
@jacoblee93 @sinedied resolve comments for this pr, sorry for delay, could you help me to have a look? thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, the update with userId support looks great!
Though you forgot to add the filter for the current userId on the getAllSessions() and clearAllSessions() methods, as it should apply only to the current users. Should be a quick fix :)
|
||
async getAllSessions(): Promise<ChatSessionMongo[]> { | ||
await this.initialize(); | ||
const documents = await this.collection.find().toArray(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing user filter here
async clearAllSessions() { | ||
await this.initialize(); | ||
try { | ||
await this.collection.deleteMany({}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you forgot to update this call to filter it for the current user only
@sinedied @jacoblee93 comments resolved, could you help me have another look? Thank you! |
LGTM, thanks! |
@jacoblee93 Hi jacob, could you help me have another look at this PR, thanks! |
|
||
try { | ||
await this.collection.updateOne( | ||
{ [ID_KEY]: this.sessionId }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need [ID_USER]: this.userId,
here too?
I assume this is sufficient in this case to just pass id?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
* Rename auth method in docs * fix(core): Fix trim messages mutation bug (langchain-ai#7547) * release(core): 0.3.31 (langchain-ai#7548) * fix(community): Updated Embeddings URL (langchain-ai#7545) * fix(community): make sure guardrailConfig can be added even with anthropic models (langchain-ai#7542) * docs: Fix PGVectorStore import in install dependencies (TypeScript) example (langchain-ai#7533) * fix(community): Airtable url (langchain-ai#7532) * docs: Fix typo in OpenAIModerationChain example (langchain-ai#7528) * docs: Resolves langchain-ai#7483, resolves langchain-ai#7274 (langchain-ai#7505) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * docs: Rename auth method in IBM docs (langchain-ai#7524) * docs: correct misspelling (langchain-ai#7522) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(community): 0.3.25 (langchain-ai#7549) * feat(azure-cosmosdb): add session context for a user mongodb (langchain-ai#7436) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(azure-cosmosdb): 0.2.7 (langchain-ai#7550) * fix(ci): Fix build (langchain-ai#7551) * feat(anthropic): Add Anthropic PDF support (document type) in invoke (langchain-ai#7496) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(anthropic): 0.3.12 (langchain-ai#7552) * chore(core,langchain,community): Relax langsmith deps (langchain-ai#7556) * release(community): 0.3.26 (langchain-ai#7557) * release(core): 0.3.32 (langchain-ai#7558) * Release 0.3.12 (langchain-ai#7559) * Add deployment chat to chat class * Upadate Watsonx sdk * Rework interfaces in llms as well * Bump watsonx-ai sdk version * Remove unused code * Add fake auth --------- Co-authored-by: Jacob Lee <jacoblee93@gmail.com> Co-authored-by: Jacky Chen <jackychen4@gmail.com> Co-authored-by: Mohamed Belhadj <medbelh@gmail.com> Co-authored-by: Brian Ploetz <bploetz@gmail.com> Co-authored-by: Eduard-Constantin Ibinceanu <ibinceanu.eduard@yahoo.com> Co-authored-by: Jonathan V <jonathanvelkeneers@hotmail.com> Co-authored-by: ucev <zhangshuaiyf@icloud.com> Co-authored-by: crisjy <cjy1994116@163.com> Co-authored-by: Adham Badr <adhambadr2@gmail.com>
* Rename auth method in docs * fix(core): Fix trim messages mutation bug (langchain-ai#7547) * release(core): 0.3.31 (langchain-ai#7548) * fix(community): Updated Embeddings URL (langchain-ai#7545) * fix(community): make sure guardrailConfig can be added even with anthropic models (langchain-ai#7542) * docs: Fix PGVectorStore import in install dependencies (TypeScript) example (langchain-ai#7533) * fix(community): Airtable url (langchain-ai#7532) * docs: Fix typo in OpenAIModerationChain example (langchain-ai#7528) * docs: Resolves langchain-ai#7483, resolves langchain-ai#7274 (langchain-ai#7505) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * docs: Rename auth method in IBM docs (langchain-ai#7524) * docs: correct misspelling (langchain-ai#7522) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(community): 0.3.25 (langchain-ai#7549) * feat(azure-cosmosdb): add session context for a user mongodb (langchain-ai#7436) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(azure-cosmosdb): 0.2.7 (langchain-ai#7550) * fix(ci): Fix build (langchain-ai#7551) * feat(anthropic): Add Anthropic PDF support (document type) in invoke (langchain-ai#7496) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(anthropic): 0.3.12 (langchain-ai#7552) * chore(core,langchain,community): Relax langsmith deps (langchain-ai#7556) * release(community): 0.3.26 (langchain-ai#7557) * release(core): 0.3.32 (langchain-ai#7558) * Release 0.3.12 (langchain-ai#7559) * fix(core): Prevent cache misses from triggering model start callback runs twice (langchain-ai#7565) * fix(core): Ensure that cached flag in run extras is only set for cache hits (langchain-ai#7566) * release(core): 0.3.33 (langchain-ai#7567) * feat(community): Adds graph_document to export list (langchain-ai#7555) Co-authored-by: quantropi-minh <101128605+quantropi-minh@users.noreply.github.com> Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * fix(langchain): Fix ZeroShotAgent createPrompt with correct formatted tool names (langchain-ai#7510) * docs: Add document for AzureCosmosDBMongoChatMessageHistory (langchain-ai#7519) Co-authored-by: root <root@CPC-yangq-FRSGK> * fix(langchain): Allow pulling hub prompts with associated models (langchain-ai#7569) * fix(community,aws): Update handleLLMNewToken to include chunk metadata (langchain-ai#7568) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * feat(community): Provide fallback relationshipType in case it is not present in graph_transformer (langchain-ai#7521) Co-authored-by: quantropi-minh <101128605+quantropi-minh@users.noreply.github.com> Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * docs: Add redirect (langchain-ai#7570) * fix(langchain,core): Add shim for hub mustache templates with nested input variables (langchain-ai#7581) * fix(chat-models): honor disableStreaming even for `generateUncached` (langchain-ai#7575) * release(core): 0.3.34 (langchain-ai#7584) * feat(langchain): Add hub entrypoint with automatic dynamic entrypoint of models (langchain-ai#7583) * chore(ollama): Export `OllamaEmbeddingsParams` interface (langchain-ai#7574) * docs: Clarify tool creation process in structured outputs documentation (langchain-ai#7578) Co-authored-by: Sahar Shemesh <sahar.shemesh@zoominfo.com> Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * fix(community): Set awaitHandlers to true in upstash ratelimit (langchain-ai#7571) Co-authored-by: Jacob Lee <jacoblee93@gmail.com> * fix(core): Fix trim messages mutation (langchain-ai#7585) * feat(openai): Make only AzureOpenAI respect Azure env vars, remove class defaults, update withStructuredOutput defaults (langchain-ai#7535) * fix(community): Make postgresConnectionOptions optional in PostgresRecordManager (langchain-ai#7580) Co-authored-by: jacoblee93 <jacoblee93@gmail.com> * release(community): 0.3.27 (langchain-ai#7586) * release(ollama): 0.1.5 (langchain-ai#7587) * Release 0.3.13 (langchain-ai#7588) * release(openai): 0.4.0 (langchain-ai#7589) * release(core): 0.3.35 (langchain-ai#7590) * fix(ci): Update lock (langchain-ai#7591) * feat(core): Allow passing returnDirect in tool wrapper params (langchain-ai#7594) * release(core): 0.3.36 (langchain-ai#7595) * fix(openai): Revert Azure default withStructuredOutput changes (langchain-ai#7596) * release(openai): 0.4.1 (langchain-ai#7597) * feat(openai): Refactor to allow easier subclassing (langchain-ai#7598) * release(openai): 0.4.2 (langchain-ai#7599) * feat(deepseek): Adds Deepseek integration (langchain-ai#7604) * release(deepseek): 0.0.1 (langchain-ai#7608) * feat: update Novita AI doc (langchain-ai#7602) * Add deployment chat to chat class * feat(langchain): Add DeepSeek to initChatModel (langchain-ai#7609) * Release 0.3.14 (langchain-ai#7611) * fix: Add test for pdf uploads anthropic (langchain-ai#7613) * feat: Update google genai to support file uploads (langchain-ai#7612) * chore(google-genai): Drop .only in test (langchain-ai#7614) * release(google-genai): 0.1.7 (langchain-ai#7615) * Upadate Watsonx sdk * fix(core): Fix stream events bug when errors are thrown too quickly during iteration (langchain-ai#7617) * release(core): 0.3.37 (langchain-ai#7619) * fix(langchain): Fix Groq import for hub (langchain-ai#7620) * docs: update README/intro * Release 0.3.15 * feat(community): improve support for Tavily search tool args (langchain-ai#7561) * feat(community): Add boolean metadata type support in Supabase structured query translator (langchain-ai#7601) * feat(google-genai): Add support for fileUri in media type in Google GenAI (langchain-ai#7621) Co-authored-by: Jacob Lee <jacoblee93@gmail.com> * release(google-genai): 0.1.8 (langchain-ai#7628) * release(community): 0.3.28 (langchain-ai#7629) * Rework interfaces in llms as well * Bump watsonx-ai sdk version * Remove unused code * Add fake auth * Fix broken changes --------- Co-authored-by: Jacob Lee <jacoblee93@gmail.com> Co-authored-by: Jacky Chen <jackychen4@gmail.com> Co-authored-by: Mohamed Belhadj <medbelh@gmail.com> Co-authored-by: Brian Ploetz <bploetz@gmail.com> Co-authored-by: Eduard-Constantin Ibinceanu <ibinceanu.eduard@yahoo.com> Co-authored-by: Jonathan V <jonathanvelkeneers@hotmail.com> Co-authored-by: ucev <zhangshuaiyf@icloud.com> Co-authored-by: crisjy <cjy1994116@163.com> Co-authored-by: Adham Badr <adhambadr2@gmail.com> Co-authored-by: Minh Ha <hlminh2000@gmail.com> Co-authored-by: quantropi-minh <101128605+quantropi-minh@users.noreply.github.com> Co-authored-by: Chi Thu Le <thu2004@yahoo.se> Co-authored-by: fatmelon <708842811@qq.com> Co-authored-by: root <root@CPC-yangq-FRSGK> Co-authored-by: Mohamad Mohebifar <mohebifar@users.noreply.github.com> Co-authored-by: David Duong <david@duong.cz> Co-authored-by: Brace Sproul <braceasproul@gmail.com> Co-authored-by: Matus Gura <contact@matusgura.com> Co-authored-by: Sahar Shemesh <48128579+saharis9988@users.noreply.github.com> Co-authored-by: Sahar Shemesh <sahar.shemesh@zoominfo.com> Co-authored-by: Cahid Arda Öz <cahidardaooz@hotmail.com> Co-authored-by: Jason <ggbbddjm@gmail.com> Co-authored-by: vbarda <vadym@langchain.dev> Co-authored-by: Vadym Barda <vadim.barda@gmail.com> Co-authored-by: Hugo Borsoni <44852104+hugoleborso@users.noreply.github.com> Co-authored-by: Arman Ghazaryan <arm.ghazaryan01@gmail.com> Co-authored-by: Andy <andy+github@savage.hk>
Fixes # (issue)