Skip to content

Conversation

@andreibratu
Copy link

@andreibratu andreibratu commented May 21, 2025

  • File decorators now have async equivalents: a_flow, a_tool and a_prompt
  • They can be used in evals.run().
  • We don't have a strong signal async decorators yet; thus the implementation places them on the sync client, leverages existing custom code for evals.run(), and makes 1-3 blocking calls per decorated function call.
    Implementing a fully non-blocking version of the decorators implies rewriting the overload, OTEL exporter and eval run logic (from threaded to non-blocking), requiring a lot of effort.
  • I propose scoping out the full reimplementation of custom functionality: The biggest non-blocking gains come from supporting async user code.
  • OTEL offers the same API for spans, so I assume the context and span creation operations are in-memory and cheap

return _overload_log(self, file_syncer, use_local_files, **kwargs)

client.log = types.MethodType(log_wrapper, client) # type: ignore [method-assign, union-attr]
client.log = types.MethodType(log_wrapper, client) # type: ignore [method-assign, union-attr, assignment]
Copy link
Contributor

@AlePouroullis AlePouroullis May 22, 2025

Choose a reason for hiding this comment

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

Only method-assign needs to be ignored

Copy link
Author

Choose a reason for hiding this comment

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

ack

Andrei Bratu added 2 commits May 22, 2025 15:26
@andreibratu andreibratu merged commit 9e184d9 into master May 22, 2025
7 checks passed
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.

3 participants