Skip to content

jsonref package missing in required dependencies #2288

@derteufelqwe

Description

@derteufelqwe
  • This is actually a bug report.
  • I am not getting good LLM Results
  • I have tried asking for help in the community on discord or discussions and have not received a response.
  • I have tried searching the documentation and have not found an answer.

What Model are you using?

  • gpt-3.5-turbo
  • gpt-4-turbo
  • gpt-4
  • gemini 3 flash

Describe the bug

  File "C:\Users\User\Git\FoodPlannerApi\misc\llm_receipt_analyzer.py", line 175, in _perform_receipt_ocr
    response: PydParsedReceipt = client.chat.completions.create(
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        response_model=PydParsedReceipt,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<17 lines>...
        thinking_config=ThinkingConfig(thinking_budget=0),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\core\client.py", line 376, in create
    return self.create_fn(
           ~~~~~~~~~~~~~~^
        response_model=response_model,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<6 lines>...
        **kwargs,
        ^^^^^^^^^
    )
    ^
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\core\patch.py", line 238, in new_create_sync
    response_model, new_kwargs = handle_response_model(
                                 ~~~~~~~~~~~~~~~~~~~~~^
        response_model=response_model, mode=mode, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )  # type: ignore
    ^
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\processing\response.py", line 501, in handle_response_model
    response_model, new_kwargs = mode_handlers[mode](response_model, new_kwargs)  # type: ignore
                                 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\processing\response.py", line 478, in <lambda>
    Mode.GENAI_TOOLS: lambda rm, nk: handle_genai_tools(rm, nk, autodetect_images),
                                     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\providers\gemini\utils.py", line 1062, in handle_genai_tools
    schema = map_to_genai_schema(_get_model_schema(response_model))
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\providers\gemini\utils.py", line 246, in map_to_genai_schema
    schema = map_to_gemini_function_schema(obj)
  File "C:\Users\User\Git\FoodPlannerApi\.venv\Lib\site-packages\instructor\providers\gemini\utils.py", line 164, in map_to_gemini_function_schema
    import jsonref
ModuleNotFoundError: No module named 'jsonref'

Since the map_to_gemini_function_schema function imports jsonref, I'd expect that to be part of the pyproject.toml file, so pip can install jsonref as a required dependency.

To Reproduce
Try to use a gemini model

Expected behavior
Everything works fine

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions