diff --git a/instructor/dsl/maybe.py b/instructor/dsl/maybe.py index f3a80a7..5337643 100644 --- a/instructor/dsl/maybe.py +++ b/instructor/dsl/maybe.py @@ -46,4 +46,4 @@ def Maybe(model: Type[BaseModel]) -> MaybeBase: MaybeModel = create_model(f"Maybe{model.__name__}", __base__=MaybeBase, **fields) - return MaybeModel + return MaybeModel # type: ignore diff --git a/instructor/function_calls.py b/instructor/function_calls.py index 6e4416e..99f57e7 100644 --- a/instructor/function_calls.py +++ b/instructor/function_calls.py @@ -66,7 +66,7 @@ class openai_function: def __init__(self, func: Callable) -> None: self.func = func self.validate_func = validate_arguments(func) - self.docstring = parse(self.func.__doc__) + self.docstring = parse(self.func.__doc__ or "") parameters = self.validate_func.model.model_json_schema() parameters["properties"] = { @@ -136,7 +136,7 @@ class OpenAISchema(BaseModel): model_json_schema (dict): A dictionary in the format of OpenAI's schema as jsonschema """ schema = cls.model_json_schema() - docstring = parse(cls.__doc__) + docstring = parse(cls.__doc__ or "") parameters = { k: v for k, v in schema.items() if k not in ("title", "description") } diff --git a/instructor/patch.py b/instructor/patch.py index 2cb5b55..8e8d74b 100644 --- a/instructor/patch.py +++ b/instructor/patch.py @@ -61,7 +61,7 @@ async def retry_async(func, response_model, args, kwargs, max_retries): response = await func(*args, **kwargs) return process_response(response, response_model), None except (ValidationError, JSONDecodeError) as e: - kwargs["messages"].append(dict(**response.choices[0].message)) + kwargs["messages"].append(dict(**response.choices[0].message)) # type: ignore kwargs["messages"].append( { "role": "user", @@ -82,7 +82,7 @@ def retry_sync(func, response_model, args, kwargs, max_retries): response = func(*args, **kwargs) return process_response(response, response_model), None except (ValidationError, JSONDecodeError) as e: - kwargs["messages"].append(dict(**response.choices[0].message)) + kwargs["messages"].append(dict(**response.choices[0].message)) # type: ignore kwargs["messages"].append( { "role": "user", @@ -101,7 +101,7 @@ def wrap_chatcompletion(func: Callable) -> Callable: async def new_chatcompletion_async( response_model=None, *args, max_retries=0, **kwargs ): - response_model, new_kwargs = handle_response_model(response_model, kwargs) + response_model, new_kwargs = handle_response_model(response_model, kwargs) # type: ignore response, error = await retry_async( func=func, response_model=response_model, @@ -115,7 +115,7 @@ def wrap_chatcompletion(func: Callable) -> Callable: @wraps(func) def new_chatcompletion_sync(response_model=None, *args, max_retries=0, **kwargs): - response_model, new_kwargs = handle_response_model(response_model, kwargs) + response_model, new_kwargs = handle_response_model(response_model, kwargs) # type: ignore response, error = retry_sync( func=func, response_model=response_model,