Langchain: Ensure datetimes are json-serializable

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Done
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      Weaviate's implementation is almost identical to ours. We already had an issue making metadata json-serializable with ObjectIds. I came across the following function in their code for datetimes in [Weviate's vectorstore.py](https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/vectorstores/weaviate.py)

      ```

      def _json_serializable(value: Any) -> Any:
          if isinstance(value, datetime.datetime):
              return value.isoformat()
          return value

      ```

      Definition of done

      Add this to our make_serializable function.

      What must be done to consider the task complete?

      Pitfalls

      What should the implementer watch out for? What are the risks?

            Assignee:
            Casey Clements
            Reporter:
            Casey Clements
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: