Herbert commited on
Commit
8e12ce9
·
unverified ·
1 Parent(s): d1b206f

Cleaned code and harmonized dependencies (#6)

Browse files

* Refactored to code and modularized the way we build agents for better re-usability.

Made agent stateful (i.e., stores and manages messages internally) to help with on-the-fly message manipulation, if needed.

* Finalized web-based UI draft. Need to do testing and ensure the agent is initialized every time the UI is launched.

* Enabled asynchronous message generation for the web-based UI and the CLI tool.

Added docker-based services to run agent in a reproducible way.

* Fixed a bug in the knowledge graph generator and updated the database importer to add all paper meta data.

* Removed old db importer code

* Updated readme

* Added logging to graph import script and updated default pre-generated graph

* Added logging to graph import script and updated default pre-generated graph

* Set default logging level to info (from debug)

* Added basic setup for unit tests to cover all agent functionality.

* Updated handling of database URI env variable

* Removed legacy code

* Unit tests to cover major functionality of the agent (needs to be extended to cover all code)

* Unit tests to cover major functionality of the agent (needs to be extended to cover all code)

* Mocked all external tool calls (to database and inference services)

* Updated handling of environment variables in tests

* Updated tests for the knowledge graph tools

* Updated tests for the knowledge graph tools

* Disabled environment variable tests as patching seems to be buggy.

* Updated github action to also cover dev branch

* Pointed the test badge to the right repo

* Added first version of the session builder tool

* Removed obsolete todos.

* Updated knowledge graph processing

* Added link to new default knowledge graph

* Fixed bug where the embedding model was used instead of the agent model

* Fixed OpenReview link retrieval and added embedding generator that can use HF spaces ZeroGPU.

* Fixed OpenReview link retrieval and added embedding generator that can use HF spaces ZeroGPU.

* Fixed metadata output for search tools.

* Improved web ui rendering, embedding generation, and state handling in CLI.

* Fixed bug in CLI that prevented outputs after tool calls.

* Improved knowledge graph tool queries for better performance.

* Improved knowledge graph tool queries for better performance.

* Reduced python version to 3.10 and downgraded dependencies.

* Renamed project to deployment name and implemented improved similarity search tool

* Cleaned code

agentic_nav/agents/neurips2025_conference.py CHANGED
@@ -31,6 +31,8 @@ system = {
31
  "However, the output of the search includes various metadata fields such as authors, affiliations, "
32
  "and session times. \n"
33
  "When building a schedule, do not specify the name of the day.\n"
 
 
34
  f"Here is the current timestamp: {datetime.now(ZoneInfo('America/Los_Angeles'))}. The conference is happening in San Diego, California."
35
  )
36
  }
 
31
  "However, the output of the search includes various metadata fields such as authors, affiliations, "
32
  "and session times. \n"
33
  "When building a schedule, do not specify the name of the day.\n"
34
+ "If you find duplicates, just omit them. Only keep the first appearance.\n"
35
+ f"Generally, if you do not find a result, tell the user you don't know.\n"
36
  f"Here is the current timestamp: {datetime.now(ZoneInfo('America/Los_Angeles'))}. The conference is happening in San Diego, California."
37
  )
38
  }
agentic_nav/tools/session_routing/__init__.py CHANGED
@@ -28,6 +28,7 @@ def build_visit_schedule(
28
  max_papers: int = 20,
29
  min_similarity: float = 0.6
30
  ) -> str:
 
31
  """
32
  Build a personalized visiting schedule for NeurIPS 2025 conference poster sessions.
33
 
@@ -204,5 +205,6 @@ def build_visit_schedule(
204
 
205
  __all__ = ['build_visit_schedule']
206
 
 
207
  if __name__ == "__main__":
208
- print(build_visit_schedule(topics=["federated learning"], max_papers=200, dates=["Wednesday"]))
 
28
  max_papers: int = 20,
29
  min_similarity: float = 0.6
30
  ) -> str:
31
+ # TODO: Add filter for ["poster", "oral"]. Make sure to match orals with poster counterpart.
32
  """
33
  Build a personalized visiting schedule for NeurIPS 2025 conference poster sessions.
34
 
 
205
 
206
  __all__ = ['build_visit_schedule']
207
 
208
+
209
  if __name__ == "__main__":
210
+ print(build_visit_schedule(topics=["federated learning"], max_papers=200, dates=["Wednesday"]))