Skip to content

(EAI-991 & EAI-1050): Evaluate and clean up retrieval as a tool #757

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

Merged
merged 46 commits into from
Jun 11, 2025

Conversation

mongodben
Copy link
Collaborator

@mongodben mongodben commented May 30, 2025

Jira:

Changes

  • Update conversations.eval.ts to use new GenerateResponse constructor.

  • Misc clean up to retrieval as a tool:

    • move generateResponseWithSearch to chatbot-server-mongodb-public
    • Clean up tool return type to avoid 2x JSON stringification
    • add metadata to user message, following pattern of previous RAG system

Notes

@mongodben mongodben marked this pull request as draft May 30, 2025 14:02
Base automatically changed from EAI-995 to retrieval_tool_call June 6, 2025 20:47
@mongodben mongodben marked this pull request as ready for review June 6, 2025 20:53
@mongodben mongodben changed the title (EAI-991): Evaluate retrieval as a tool (EAI-991 & EAI-1050): Evaluate and clean up retrieval as a tool Jun 10, 2025
Comment on lines +288 to +292
export async function closeDbConnections() {
await mongodb.close();
await verifiedAnswerStore.close();
await embeddedContentStore.close();
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof were we just leaving these open before?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we were closing mongodb, but not the stores. i guess they had different db connections, so stuff was hanging.

@mongodben mongodben merged commit f63a1bb into retrieval_tool_call Jun 11, 2025
1 check passed
@mongodben mongodben deleted the EAI-991 branch June 11, 2025 17:03
mongodben added a commit that referenced this pull request Jun 11, 2025
* (EAI-988): Refactor `GenerateResponse` for tool call support  (#687)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* (EAI-989): Refactor verified answers to wrap `GenerateResponse` (#688)

verified answer generate response

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* handle streaming

* separate generateresponse

* typo fix

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* (EAI-990): Refactor search as a tool  (#705)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* get started

* nominally working generate res w/ search

* small refactors

* aint pretty but fully functional

* hacky if more functional

* more hack

* tools

* functional if not pretty

* Add processing

* working tool calling

* making progress

* keepin on

* Clean config

* working e2e

* update model version

* Remove no longer used stuff

* decouple search results for references and whats shown to model

* fix scripts build errs

* fix broken tests

* update default ref links

* fix broken tests

* Apply suggestions from code review

Co-authored-by: Nick Larew <nick.larew@mongodb.com>

* revert default reference links

* adding missing test

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>
Co-authored-by: Nick Larew <nick.larew@mongodb.com>

* (EAI-992): Remove `ChatLlm` (#751)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* get started

* nominally working generate res w/ search

* small refactors

* aint pretty but fully functional

* hacky if more functional

* more hack

* tools

* functional if not pretty

* Add processing

* working tool calling

* making progress

* keepin on

* Clean config

* working e2e

* update model version

* Remove no longer used stuff

* decouple search results for references and whats shown to model

* fix scripts build errs

* remove ChatLlm

* lite fixes

* Remove stub

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* (EAI-993): deprecate framework (#752)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* get started

* nominally working generate res w/ search

* small refactors

* aint pretty but fully functional

* hacky if more functional

* more hack

* tools

* functional if not pretty

* Add processing

* working tool calling

* making progress

* keepin on

* Clean config

* working e2e

* update model version

* Remove no longer used stuff

* decouple search results for references and whats shown to model

* fix scripts build errs

* fix broken tests

* deprecation

* build out docs following last week convo

* clean up spec + contact

* fix merge funk

* docs updates

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* (EAI-1071): Fix broken Atlas OpenAPI ingest (#765)

* update to fix broken test

* Update packages/ingest-mongodb-public/src/sources/snooty/snootyAstToOpenApiSpec.ts

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* (EAI-995): add guardrail (#755)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* get started

* nominally working generate res w/ search

* small refactors

* aint pretty but fully functional

* hacky if more functional

* more hack

* tools

* functional if not pretty

* Add processing

* working tool calling

* making progress

* keepin on

* Clean config

* working e2e

* update model version

* Remove no longer used stuff

* decouple search results for references and whats shown to model

* fix scripts build errs

* fix broken tests

* update default ref links

* fix broken tests

* input guardrail refactor

* guardrail works well

* simpler validity metric

* add guardrail to server

* add next step todo

* llm refusal msg

* remove TODO comment

* merge fix

* fix unnec changes

* NL feedback

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* fix type in text

* (EAI-991 & EAI-1050): Evaluate and clean up retrieval as a tool (#757)

* refactor GenerateRespose

* Clean up imports

* consolidate generate user prompt to the legacy file

* update test config imports

* Fix broken tests

* get started

* nominally working generate res w/ search

* small refactors

* aint pretty but fully functional

* hacky if more functional

* more hack

* tools

* functional if not pretty

* Add processing

* working tool calling

* making progress

* keepin on

* Clean config

* working e2e

* update model version

* Remove no longer used stuff

* decouple search results for references and whats shown to model

* fix scripts build errs

* fix broken tests

* update default ref links

* fix broken tests

* input guardrail refactor

* guardrail works well

* simpler validity metric

* add guardrail to server

* add next step todo

* llm refusal msg

* remove TODO comment

* evals on new architecture

* Get urls in a way that supports verified answers

* dont eval on retrieved elems if no context

* Cleaner handling

* update trace handling

* update trace handling

* undo git funk

* handle undefined case

* Fix tracing test

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>

* remove console logs + redunancies

---------

Co-authored-by: Ben Perlmutter <mongodben@mongodb.com>
Co-authored-by: Nick Larew <nick.larew@mongodb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants