From 8c1b193f486a66a7c0328e3446270b9a9732625d Mon Sep 17 00:00:00 2001 From: Tim Sweeney Date: Wed, 28 Aug 2024 17:13:18 -0700 Subject: [PATCH] chore: Incremental Docs Reorg Pt. 1 (#2262) * part 1 * part 2 * part 2 - undo a lot * part 2 - undo a lot * part 2 - undo a lot * tone down the tools section * small adjustments * small adjustments * updated * lint * Apply suggestions from code review Andrew changes Co-authored-by: Andrew Truong --------- Co-authored-by: Andrew Truong --- docs/docs/guides/_category_.json | 8 - docs/docs/guides/core-types/evaluations.md | 2 +- docs/docs/guides/core-types/index.md | 8 - docs/docs/guides/integrations/index.md | 53 ++-- docs/docs/guides/tools/index.md | 23 +- docs/docs/guides/tracking/index.md | 34 ++- docs/docs/guides/tracking/tracing.md | 4 +- docs/docs/introduction.md | 36 --- docs/docs/reference/python-sdk/weave/index.md | 201 ++++++++++---- .../weave/trace/weave.trace.feedback.md | 258 +++++++++++++++++ .../weave.trace.weave_client.md} | 42 +-- .../weave.trace_server.interface.query.md | 39 ++- ...e.trace_server.remote_http_trace_server.md | 54 ++-- ...ave.trace_server.trace_server_interface.md | 259 ++++++++---------- .../python-sdk/weave/weave.feedback.md | 258 ----------------- .../call-end-call-end-post.api.mdx | 2 +- ...start-batch-call-upsert-batch-post.api.mdx | 2 +- .../call-start-call-start-post.api.mdx | 2 +- ...ery-stream-calls-stream-query-post.api.mdx | 67 ++++- ...edback-create-feedback-create-post.api.mdx | 2 +- .../obj-read-obj-read-post.api.mdx | 2 +- .../objs-query-objs-query-post.api.mdx | 2 +- docs/docs/tutorial-rag.md | 3 - docs/docusaurus.config.ts | 2 + docs/scripts/generate_python_sdk_docs.py | 3 +- docs/sidebars.ts | 96 +++---- 26 files changed, 789 insertions(+), 673 deletions(-) delete mode 100644 docs/docs/guides/_category_.json delete mode 100644 docs/docs/guides/core-types/index.md create mode 100644 docs/docs/reference/python-sdk/weave/trace/weave.trace.feedback.md rename docs/docs/reference/python-sdk/weave/{weave.weave_client.md => trace/weave.trace.weave_client.md} (60%) delete mode 100644 docs/docs/reference/python-sdk/weave/weave.feedback.md diff --git a/docs/docs/guides/_category_.json b/docs/docs/guides/_category_.json deleted file mode 100644 index 846a45cfd2a..00000000000 --- a/docs/docs/guides/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Using Weave", - "position": 2, - "link": { - "type": "generated-index", - "description": "Learn more about what you can do with Weave." - } -} diff --git a/docs/docs/guides/core-types/evaluations.md b/docs/docs/guides/core-types/evaluations.md index e2702d0d75a..7d40bae3fd6 100644 --- a/docs/docs/guides/core-types/evaluations.md +++ b/docs/docs/guides/core-types/evaluations.md @@ -1,4 +1,4 @@ -# Evaluation +# Evaluations Evaluation-driven development helps you reliably iterate on an application. The `Evaluation` class is designed to assess the performance of a `Model` on a given `Dataset` or set of examples using scoring functions. diff --git a/docs/docs/guides/core-types/index.md b/docs/docs/guides/core-types/index.md deleted file mode 100644 index b15ce6189eb..00000000000 --- a/docs/docs/guides/core-types/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# Weave Core Types - -Weave Core Types are built with weave tracking, and contain everything you need to rapidly iterate on AI projects. - -- [Model](/guides/core-types/models) -- [Dataset](/guides/core-types/datasets) -- [Evaluation](/guides/core-types/evaluations) - diff --git a/docs/docs/guides/integrations/index.md b/docs/docs/guides/integrations/index.md index f02512ea652..f83d579b21c 100644 --- a/docs/docs/guides/integrations/index.md +++ b/docs/docs/guides/integrations/index.md @@ -1,18 +1,37 @@ -# Weave Integrations - -Weave contains automatic logging integrations for popular LLMs and orchestration frameworks. Weave will automatically trace calls made via the following libraries: - - - **[OpenAI](/guides/integrations/openai)** - - **[Anthropic](/guides/integrations/anthropic)** - - **[Cohere](/guides/integrations/cohere)** - - **[MistralAI](/guides/integrations/mistral)** - - **[LangChain](/guides/integrations/langchain)** - - **[LlamaIndex](/guides/integrations/llamaindex)** - - **[DSPy](/guides/integrations/dspy)** - - **[Google Gemini](/guides/integrations/google-gemini)** - - **[Together AI](/guides/integrations/together_ai)** - - **[Groq](/guides/integrations/groq)** - - **[Open Router](/guides/integrations/openrouter)** - - **[Local Models](/guides/integrations/local_models)** - - **[LiteLLM](/guides/integrations/litellm)** +# Integrations +:::success[Automatic Tracking] +In most cases, all you need to do is call `weave.init()` at the top of your script or program in order for Weave to automatically patch and track any of these libraries! +::: + +Weave provides automatic logging integrations for popular LLM providers and orchestration frameworks. These integrations allow you to seamlessly trace calls made through various libraries, enhancing your ability to monitor and analyze your AI applications. + +## LLM Providers + +LLM providers are the vendors that offer access to large language models for generating predictions. Weave integrates with these providers to log and trace the interactions with their APIs: + +- **[OpenAI](/guides/integrations/openai)** +- **[Anthropic](/guides/integrations/anthropic)** +- **[Cerebras](/guides/integrations/cerebras)** +- **[Cohere](/guides/integrations/cohere)** +- **[MistralAI](/guides/integrations/mistral)** +- **[Google Gemini](/guides/integrations/google-gemini)** +- **[Together AI](/guides/integrations/together_ai)** +- **[Groq](/guides/integrations/groq)** +- **[Open Router](/guides/integrations/openrouter)** +- **[LiteLLM](/guides/integrations/litellm)** + + +**[Local Models](/guides/integrations/local_models)**: For when you're running models on your own infrastructure. + +## Frameworks + +Frameworks help orchestrate the actual execution pipelines in AI applications. They provide tools and abstractions for building complex workflows. Weave integrates with these frameworks to trace the entire pipeline: + +- **[LangChain](/guides/integrations/langchain)** +- **[LlamaIndex](/guides/integrations/llamaindex)** +- **[DSPy](/guides/integrations/dspy)** + + + +Choose an integration from the lists above to learn more about how to use Weave with your preferred LLM provider or framework. Whether you're directly accessing LLM APIs or building complex pipelines with orchestration frameworks, Weave provides the tools to trace and analyze your AI applications effectively. diff --git a/docs/docs/guides/tools/index.md b/docs/docs/guides/tools/index.md index 4699693777a..b989a8aa637 100644 --- a/docs/docs/guides/tools/index.md +++ b/docs/docs/guides/tools/index.md @@ -1,4 +1,21 @@ -# Tools +# Tools & Utilities -- [serve](/guides/tools/serve): Serve Weave ops and models -- [deploy](/guides/tools/deploy): Deploy Weave ops and models to various targets +Weave is developing a set of tools and utilities to help with your workflow and deployment process for AI applications. These are currently in early alpha stages and subject to change. Here's an overview of what we're working on: + +## Serve (experimental) + +[Serve](/guides/tools/serve) is a feature to expose your Weave ops and models as API endpoints. We're exploring possibilities such as: + +- Creating web services for your Weave components +- Integrating Weave components into existing applications +- Providing a way to test models in a more production-like setting + +## Deploy (experimental) + +[Deploy](/guides/tools/deploy) is another alpha-stage utility we're developing to help with deploying Weave ops and models. Some potential features we're considering include: + +- Pushing models to cloud platforms +- Managing different deployment environments +- Exploring ways to automate parts of the deployment process + +Please note that these tools are still in very early stages of development. They may not be fully functional, could change significantly, or might be discontinued. We recommend using them for experimental purposes only at this time. diff --git a/docs/docs/guides/tracking/index.md b/docs/docs/guides/tracking/index.md index e4960f37567..7932416bd3f 100644 --- a/docs/docs/guides/tracking/index.md +++ b/docs/docs/guides/tracking/index.md @@ -1,8 +1,30 @@ -# Tracking +# Tracing -Weave track and versions objects and function calls. +Weave provides powerful tracing capabilities to track and version objects and function calls in your applications. This comprehensive system enables better monitoring, debugging, and iterative development of AI-powered applications, allowing you to "track insights between commits." -- [objects](/guides/tracking/objects): Weave's extensible serialization layer versions Python objects. -- [ops](/guides/tracking/ops): A Weave op is a function that is automatically versioned and tracked -- [tracing](/guides/tracking/tracing) -- [feedback](/guides/tracking/feedback): Annotate calls with emojis and notes +## Key Tracing Features + +Weave's tracing functionality comprises three main components: + +### Calls + +[Calls](/guides/tracking/tracing) trace function calls, inputs, and outputs, enabling you to: +- Analyze data flow through your application +- Debug complex interactions between components +- Optimize application performance based on call patterns + +### Ops + +[Ops](/guides/tracking/ops) are automatically versioned and tracked functions (which produce Calls) that allow you to: +- Monitor function performance and behavior +- Maintain a record of function modifications +- Ensure experiment reproducibility + +### Objects + +[Objects](/guides/tracking/objects) form Weave's extensible serialization layer, automatically versioning runtime objects (often the inputs and outputs of Calls). This feature allows you to: +- Track changes in data structures over time +- Maintain a clear history of object modifications +- Easily revert to previous versions when needed + +By leveraging these tracing capabilities, you can gain deeper insights into your application's behavior, streamline your development process, and build more robust AI-powered systems. diff --git a/docs/docs/guides/tracking/tracing.md b/docs/docs/guides/tracking/tracing.md index 999db903da7..0df134e81eb 100644 --- a/docs/docs/guides/tracking/tracing.md +++ b/docs/docs/guides/tracking/tracing.md @@ -1,6 +1,6 @@ -# Tracing +# Calls -Tracing is a powerful feature in Weave that allows you to track the inputs and outputs of functions seamlessly. Follow these steps to get started: +Calls is a powerful feature in Weave that allows you to track the inputs and outputs of functions seamlessly. Follow these steps to get started: To track specific functions, decorate them with @weave.op(). This decorator tells Weave to monitor the inputs, outputs, and any code changes for the function. Now, every call to this function will be tracked and logged. Additionally, weave tracks how functions relate by keeping track of parent and children calls and building a trace tree. diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index d364cd81aaf..79c56db5e23 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -20,42 +20,6 @@ You can use Weave to: - Build rigorous, apples-to-apples evaluations for language model use cases - Organize all the information generated across the LLM workflow, from experimentation to evaluations to production -## Key concepts - -Weave's **core types** layer contains everything you need for organizing Generative AI projects, with built-in lineage, tracking, and reproducibility. - -- **[Datasets](/guides/core-types/datasets)**: Version, store, and share rich tabular data. -- **[Models](/guides/core-types/models)**: Version, store, and share parameterized functions. -- **[Evaluations](/guides/core-types/evaluations)**: Test suites for AI models. -- [soon] Agents: ... - -Weave's **tracking** layer brings immutable tracing and versioning to your programs and experiments. - -- **[Objects](/guides/tracking/objects)**: Weave's extensible serialization lets you easily version, track, and share Python objects. -- **[Ops](/guides/tracking/ops)**: Versioned, reproducible functions, with automatic tracing. -- **[Tracing](/guides/tracking/tracing)**: Automatic organization of function calls and data lineage. -- **[Feedback](/guides/tracking/feedback)**: Simple utilities to capture user feedback and attach them to the underlying tracked call. - -Weave offers **integrations** with many language model APIs and LLM frameworks to streamline tracking and evaluation: - -- **[OpenAI](/guides/integrations/openai)**: automatic tracking for openai api calls -- **[Anthropic](/guides/integrations/anthropic)** -- **[Cohere](/guides/integrations/cohere)** -- **[MistralAI](/guides/integrations/mistral)** -- **[LangChain](/guides/integrations/langchain)** -- **[LlamaIndex](/guides/integrations/llamaindex)** -- **[DSPy](/guides/integrations/dspy)** -- **[Google Gemini](/guides/integrations/google-gemini)** -- **[Together AI](/guides/integrations/together_ai)** -- **[Open Router](/guides/integrations/openrouter)** -- **[Local Models](/guides/integrations/local_models)** -- **[LiteLLM](/guides/integrations/litellm)** - -Weave's **tools** layer contains utilities for making use of Weave objects. - -- **[Serve](/guides/tools/serve)**: FastAPI server for Weave Ops and Models -- **[Deploy](/guides/tools/deploy)**: Deploy Weave Ops and Models to various targets - ## What's next? Try the [Quickstart](/quickstart) to see Weave in action. diff --git a/docs/docs/reference/python-sdk/weave/index.md b/docs/docs/reference/python-sdk/weave/index.md index 7ea6afb28f1..8c4a84dd6c6 100644 --- a/docs/docs/reference/python-sdk/weave/index.md +++ b/docs/docs/reference/python-sdk/weave/index.md @@ -1,6 +1,7 @@ --- sidebar_label: weave --- + # weave @@ -8,8 +9,11 @@ The top-level functions and classes for working with Weave. --- + # API Overview + + ## Classes - [`obj.Object`](#class-object) @@ -20,16 +24,18 @@ The top-level functions and classes for working with Weave. ## Functions -- [`trace.api.init`](#function-init): Initialize weave tracking, logging to a wandb project. -- [`trace.api.publish`](#function-publish): Save and version a python object. -- [`trace.api.ref`](#function-ref): Construct a Ref to a Weave object. +- [`api.init`](#function-init): Initialize weave tracking, logging to a wandb project. +- [`api.publish`](#function-publish): Save and version a python object. +- [`api.ref`](#function-ref): Construct a Ref to a Weave object. - [`call_context.get_current_call`](#function-get_current_call): Get the Call object for the currently executing Op, within that Op. -- [`trace.api.finish`](#function-finish): Stops logging to weave. -- [`op.op`](#function-op): A decorator to weave op-ify a function or method. Works for both sync and async. +- [`api.finish`](#function-finish): Stops logging to weave. +- [`op.op`](#function-op): A decorator to weave op-ify a function or method. Works for both sync and async. + --- - + + ### function `init` @@ -40,22 +46,26 @@ init( ) → WeaveClient ``` -Initialize weave tracking, logging to a wandb project. +Initialize weave tracking, logging to a wandb project. + +Logging is initialized globally, so you do not need to keep a reference to the return value of init. + +Following init, calls of weave.op() decorated functions will be logged to the specified project. -Logging is initialized globally, so you do not need to keep a reference to the return value of init. -Following init, calls of weave.op() decorated functions will be logged to the specified project. **Args:** + + - `project_name`: The name of the Weights & Biases project to log to. + -- `project_name`: The name of the Weights & Biases project to log to. **Returns:** -A Weave client. + A Weave client. --- - + ### function `publish` @@ -63,23 +73,27 @@ A Weave client. publish(obj: Any, name: Optional[str] = None) → ObjectRef ``` -Save and version a python object. +Save and version a python object. + +If an object with name already exists, and the content hash of obj does not match the latest version of that object, a new version will be created. + +TODO: Need to document how name works with this change. -If an object with name already exists, and the content hash of obj does not match the latest version of that object, a new version will be created. -TODO: Need to document how name works with this change. **Args:** + + - `obj`: The object to save and version. + - `name`: The name to save the object under. + -- `obj`: The object to save and version. -- `name`: The name to save the object under. **Returns:** -A weave Ref to the saved object. + A weave Ref to the saved object. --- - + ### function `ref` @@ -87,20 +101,26 @@ A weave Ref to the saved object. ref(location: str) → ObjectRef ``` -Construct a Ref to a Weave object. +Construct a Ref to a Weave object. + +TODO: what happens if obj does not exist + -TODO: what happens if obj does not exist **Args:** + + - `location`: A fully-qualified weave ref URI, or if weave.init() has been called, "name:version" or just "name" ("latest" will be used for version in this case). + + + -- `location`: A fully-qualified weave ref URI, or if weave.init() has been called, "name:version" or just "name" ("latest" will be used for version in this case). **Returns:** -A weave Ref to the object. + A weave Ref to the object. --- - + ### function `get_current_call` @@ -108,9 +128,9 @@ A weave Ref to the object. get_current_call() → Optional[ForwardRef('Call')] ``` -Get the Call object for the currently executing Op, within that Op. +Get the Call object for the currently executing Op, within that Op. -This allows you to access attributes of the Call such as its id or feedback while it is running. +This allows you to access attributes of the Call such as its id or feedback while it is running. ```python @weave.op @@ -118,18 +138,18 @@ def hello(name: str) -> None: print(f"Hello {name}!") current_call = weave.get_current_call() print(current_call.id) -``` +``` -It is also possible to access a Call after the Op has returned. +It is also possible to access a Call after the Op has returned. -If you have the Call's id, perhaps from the UI, you can use the `call` method on the `WeaveClient` returned from `weave.init` to retrieve the Call object. +If you have the Call's id, perhaps from the UI, you can use the `call` method on the `WeaveClient` returned from `weave.init` to retrieve the Call object. ```python client = weave.init("") mycall = client.call("") -``` +``` -Alternately, after defining your Op you can use its `call` method. For example: +Alternately, after defining your Op you can use its `call` method. For example: ```python @weave.op @@ -138,14 +158,16 @@ def hello(name: str) -> None: mycall = hello.call("world") print(mycall.id) -``` +``` + + **Returns:** -The Call object for the currently executing Op, or None if tracking has not been initialized or this method is invoked outside an Op. + The Call object for the currently executing Op, or None if tracking has not been initialized or this method is invoked outside an Op. --- - + ### function `finish` @@ -153,13 +175,13 @@ The Call object for the currently executing Op, or None if tracking has not been finish() → None ``` -Stops logging to weave. +Stops logging to weave. -Following finish, calls of weave.op() decorated functions will no longer be logged. You will need to run weave.init() again to resume logging. +Following finish, calls of weave.op() decorated functions will no longer be logged. You will need to run weave.init() again to resume logging. --- - + ### function `op` @@ -167,13 +189,15 @@ Following finish, calls of weave.op() decorated functions will no longer be logg op(*args: Any, **kwargs: Any) → Union[Callable[[Any], Op], Op] ``` -A decorator to weave op-ify a function or method. Works for both sync and async. +A decorator to weave op-ify a function or method. Works for both sync and async. + +Decorated functions and methods can be called as normal, but will also automatically track calls in the Weave UI. + +If you don't call `weave.init` then the function will behave as if it were not decorated. -Decorated functions and methods can be called as normal, but will also automatically track calls in the Weave UI. -If you don't call `weave.init` then the function will behave as if it were not decorated. -Example usage: +Example usage: ```python import weave @@ -189,7 +213,7 @@ async def extract(): ) await extract() # calls the function and tracks the call in the Weave UI -``` +``` --- @@ -197,11 +221,14 @@ await extract() # calls the function and tracks the call in the Weave UI ## class `Object` + + + + **Pydantic Fields:** - `name`: `typing.Optional[str]` - `description`: `typing.Optional[str]` - --- @@ -216,6 +243,10 @@ handle_relocatable_object( ) → Any ``` + + + + --- @@ -226,15 +257,22 @@ handle_relocatable_object( model_post_init(_Object__context: Any) → None ``` + + + + + --- ## class `Dataset` +Dataset object with easy saving and automatic versioning + -Dataset object with easy saving and automatic versioning **Examples:** + ```python # Create a dataset @@ -252,14 +290,14 @@ dataset_ref = weave.ref('grammar').get() # Access a specific example example_label = dataset_ref.rows[2]['sentence'] -``` +``` + **Pydantic Fields:** - `name`: `typing.Optional[str]` - `description`: `typing.Optional[str]` -- `rows`: `` - +- `rows`: `` --- @@ -270,17 +308,24 @@ example_label = dataset_ref.rows[2]['sentence'] convert_to_table(rows: Any) → Table ``` + + + + + --- - + ## class `Model` +Intended to capture a combination of code and data the operates on an input. For example it might call an LLM with a prompt to make a prediction or generate text. + +When you change the attributes or the code that defines your model, these changes will be logged and the version will be updated. This ensures that you can compare the predictions across different versions of your model. Use this to iterate on prompts or to try the latest LLM and compare predictions across different settings -Intended to capture a combination of code and data the operates on an input. For example it might call an LLM with a prompt to make a prediction or generate text. -When you change the attributes or the code that defines your model, these changes will be logged and the version will be updated. This ensures that you can compare the predictions across different versions of your model. Use this to iterate on prompts or to try the latest LLM and compare predictions across different settings **Examples:** + ```python class YourModel(Model): @@ -292,16 +337,16 @@ class YourModel(Model): # Model logic goes here prediction = self.attribute1 + ' ' + input_data return {'pred': prediction} -``` +``` + **Pydantic Fields:** - `name`: `typing.Optional[str]` - `description`: `typing.Optional[str]` - --- - + ### method `get_infer_method` @@ -309,21 +354,28 @@ class YourModel(Model): get_infer_method() → Callable ``` + + + + + --- ## class `Evaluation` +Sets up an evaluation which includes a set of scorers and a dataset. + +Calling evaluation.evaluate(model) will pass in rows from a dataset into a model matching the names of the columns of the dataset to the argument names in model.predict. -Sets up an evaluation which includes a set of scorers and a dataset. +Then it will call all of the scorers and save the results in weave. -Calling evaluation.evaluate(model) will pass in rows from a dataset into a model matching the names of the columns of the dataset to the argument names in model.predict. +If you want to preprocess the rows from the dataset you can pass in a function to preprocess_model_input. -Then it will call all of the scorers and save the results in weave. -If you want to preprocess the rows from the dataset you can pass in a function to preprocess_model_input. **Examples:** + ```python # Collect your examples @@ -353,7 +405,8 @@ evaluation = Evaluation( weave.init('intro-example') # Run the evaluation asyncio.run(evaluation.evaluate(function_to_evaluate)) -``` +``` + **Pydantic Fields:** @@ -363,7 +416,6 @@ asyncio.run(evaluation.evaluate(function_to_evaluate)) - `scorers`: `typing.Optional[list[typing.Union[typing.Callable, trace.op.Op, flow.scorer.Scorer]]]` - `preprocess_model_input`: `typing.Optional[typing.Callable]` - `trials`: `` - --- @@ -374,6 +426,10 @@ asyncio.run(evaluation.evaluate(function_to_evaluate)) evaluate(model: Union[Callable, Model]) → dict ``` + + + + --- @@ -384,6 +440,10 @@ evaluate(model: Union[Callable, Model]) → dict model_post_init(_Evaluation__context: Any) → None ``` + + + + --- @@ -394,6 +454,10 @@ model_post_init(_Evaluation__context: Any) → None predict_and_score(model: Union[Callable, Model], example: dict) → dict ``` + + + + --- @@ -404,17 +468,25 @@ predict_and_score(model: Union[Callable, Model], example: dict) → dict summarize(eval_table: EvaluationResults) → dict ``` + + + + + --- ## class `Scorer` + + + + **Pydantic Fields:** - `name`: `typing.Optional[str]` - `description`: `typing.Optional[str]` - --- @@ -425,6 +497,10 @@ summarize(eval_table: EvaluationResults) → dict score(target: Any, model_output: Any) → Any ``` + + + + --- @@ -434,3 +510,8 @@ score(target: Any, model_output: Any) → Any ```python summarize(score_rows: list) → Optional[dict] ``` + + + + + diff --git a/docs/docs/reference/python-sdk/weave/trace/weave.trace.feedback.md b/docs/docs/reference/python-sdk/weave/trace/weave.trace.feedback.md new file mode 100644 index 00000000000..90253121d8a --- /dev/null +++ b/docs/docs/reference/python-sdk/weave/trace/weave.trace.feedback.md @@ -0,0 +1,258 @@ +--- +sidebar_label: feedback +--- + + +# weave.trace.feedback + +Classes for working with feedback on a project or ref level. + +--- + + +# API Overview + + + +## Classes + +- [`feedback.Feedbacks`](#class-feedbacks): A collection of Feedback objects with utilities. +- [`feedback.FeedbackQuery`](#class-feedbackquery): Lazy-loading object for fetching feedback from the server. +- [`feedback.RefFeedbackQuery`](#class-reffeedbackquery): Object for interacting with feedback associated with a particular ref. + + + + +--- + + + + +## class `Feedbacks` +A collection of Feedback objects with utilities. + + + +### method `__init__` + +```python +__init__(show_refs: bool, feedbacks: Optional[Iterable[Feedback]] = None) → None +``` + + + + + + + + +--- + + + +### method `refs` + +```python +refs() → Refs +``` + +Return the unique refs associated with these feedbacks. + + +--- + + + +## class `FeedbackQuery` +Lazy-loading object for fetching feedback from the server. + + + +### method `__init__` + +```python +__init__( + entity: str, + project: str, + query: Query, + offset: Optional[int] = None, + limit: Optional[int] = None, + show_refs: bool = False +) +``` + + + + + + + + +--- + + + +### method `execute` + +```python +execute() → Feedbacks +``` + + + + + +--- + + + +### method `refresh` + +```python +refresh() → Feedbacks +``` + + + + + +--- + + + +### method `refs` + +```python +refs() → Refs +``` + + + + + + +--- + + + +## class `RefFeedbackQuery` +Object for interacting with feedback associated with a particular ref. + + + +### method `__init__` + +```python +__init__(ref: str) → None +``` + + + + + + + + +--- + + + +### method `add` + +```python +add( + feedback_type: str, + payload: Optional[dict[str, Any]] = None, + creator: Optional[str] = None, + **kwargs: dict[str, Any] +) → str +``` + +Add feedback to the ref. + +feedback_type: A string identifying the type of feedback. The "wandb." prefix is reserved. creator: The name to display for the originator of the feedback. + +--- + + + +### method `add_note` + +```python +add_note(note: str, creator: Optional[str] = None) → str +``` + + + + + +--- + + + +### method `add_reaction` + +```python +add_reaction(emoji: str, creator: Optional[str] = None) → str +``` + + + + + +--- + + + +### method `execute` + +```python +execute() → Feedbacks +``` + + + + + +--- + + + +### method `purge` + +```python +purge(feedback_id: str) → None +``` + + + + + +--- + + + +### method `refresh` + +```python +refresh() → Feedbacks +``` + + + + + +--- + + + +### method `refs` + +```python +refs() → Refs +``` + + + + + diff --git a/docs/docs/reference/python-sdk/weave/weave.weave_client.md b/docs/docs/reference/python-sdk/weave/trace/weave.trace.weave_client.md similarity index 60% rename from docs/docs/reference/python-sdk/weave/weave.weave_client.md rename to docs/docs/reference/python-sdk/weave/trace/weave.trace.weave_client.md index 010909bb2e8..30fddf0ff1f 100644 --- a/docs/docs/reference/python-sdk/weave/weave.weave_client.md +++ b/docs/docs/reference/python-sdk/weave/trace/weave.trace.weave_client.md @@ -3,7 +3,7 @@ sidebar_label: weave_client --- -# weave.weave_client +# weave.trace.weave_client @@ -17,7 +17,7 @@ sidebar_label: weave_client ## Classes - [`weave_client.WeaveClient`](#class-weaveclient) -- [`weave_client.Call`](#class-call): Call(op_name: str, trace_id: str, project_id: str, parent_id: Optional[str], inputs: dict, id: Optional[str] = None, output: Any = None, exception: Optional[str] = None, summary: Optional[dict] = None, display_name: Optional[str] = None, attributes: Optional[dict] = None, _children: list['Call'] = <factory>, _feedback: Optional[weave.feedback.RefFeedbackQuery] = None) +- [`weave_client.Call`](#class-call): Call(op_name: str, trace_id: str, project_id: str, parent_id: Optional[str], inputs: dict, id: Optional[str] = None, output: Any = None, exception: Optional[str] = None, summary: Optional[dict] = None, display_name: Optional[str] = None, attributes: Optional[dict] = None, _children: list['Call'] = <factory>, _feedback: Optional[weave.trace.feedback.RefFeedbackQuery] = None) - [`weave_client.CallsIter`](#class-callsiter) @@ -26,14 +26,14 @@ sidebar_label: weave_client --- - + ## class `WeaveClient` - + ### method `__init__` @@ -55,7 +55,7 @@ __init__( --- - + ### method `call` @@ -69,7 +69,7 @@ call(call_id: str, include_costs: Optional[bool] = False) → WeaveObject --- - + ### method `calls` @@ -86,7 +86,7 @@ calls( --- - + ### method `create_call` @@ -121,7 +121,7 @@ Create, log, and push a call onto the runtime stack. --- - + ### method `delete_call` @@ -135,7 +135,7 @@ delete_call(call: Call) → None --- - + ### method `fail_call` @@ -147,7 +147,7 @@ Fail a call with an exception. This is a convenience method for finish_call. --- - + ### method `feedback` @@ -191,7 +191,7 @@ Query project for feedback. --- - + ### method `finish_call` @@ -209,7 +209,7 @@ finish_call( --- - + ### method `get` @@ -223,7 +223,7 @@ get(ref: ObjectRef) → Any --- - + ### method `save` @@ -238,10 +238,10 @@ save(val: Any, name: str, branch: str = 'latest') → Any --- - + ## class `Call` -Call(op_name: str, trace_id: str, project_id: str, parent_id: Optional[str], inputs: dict, id: Optional[str] = None, output: Any = None, exception: Optional[str] = None, summary: Optional[dict] = None, display_name: Optional[str] = None, attributes: Optional[dict] = None, _children: list['Call'] = <factory>, _feedback: Optional[weave.feedback.RefFeedbackQuery] = None) +Call(op_name: str, trace_id: str, project_id: str, parent_id: Optional[str], inputs: dict, id: Optional[str] = None, output: Any = None, exception: Optional[str] = None, summary: Optional[dict] = None, display_name: Optional[str] = None, attributes: Optional[dict] = None, _children: list['Call'] = <factory>, _feedback: Optional[weave.trace.feedback.RefFeedbackQuery] = None) @@ -290,7 +290,7 @@ __init__( --- - + ### method `children` @@ -304,7 +304,7 @@ children() → CallsIter --- - + ### method `delete` @@ -318,7 +318,7 @@ delete() → bool --- - + ### method `remove_display_name` @@ -332,7 +332,7 @@ remove_display_name() → None --- - + ### method `set_display_name` @@ -347,14 +347,14 @@ set_display_name(name: Optional[str]) → None --- - + ## class `CallsIter` - + ### method `__init__` diff --git a/docs/docs/reference/python-sdk/weave/trace_server/interface/weave.trace_server.interface.query.md b/docs/docs/reference/python-sdk/weave/trace_server/interface/weave.trace_server.interface.query.md index 65a6509d0bc..19e65251718 100644 --- a/docs/docs/reference/python-sdk/weave/trace_server/interface/weave.trace_server.interface.query.md +++ b/docs/docs/reference/python-sdk/weave/trace_server/interface/weave.trace_server.interface.query.md @@ -47,6 +47,7 @@ simplifications: - [`query.GetFieldOperator`](#class-getfieldoperator) - [`query.GtOperation`](#class-gtoperation) - [`query.GteOperation`](#class-gteoperation) +- [`query.InOperation`](#class-inoperation) - [`query.LiteralOperation`](#class-literaloperation) - [`query.NotOperation`](#class-notoperation) - [`query.OrOperation`](#class-oroperation) @@ -68,11 +69,11 @@ simplifications: **Pydantic Fields:** -- `$and`: `typing.List[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$and`: `typing.List[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` --- - + ## class `ContainsOperation` @@ -86,7 +87,7 @@ simplifications: --- - + ## class `ContainsSpec` @@ -96,8 +97,8 @@ simplifications: **Pydantic Fields:** -- `input`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]` -- `substr`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]` +- `input`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]` +- `substr`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]` - `case_insensitive`: `typing.Optional[bool]` --- @@ -126,7 +127,7 @@ simplifications: **Pydantic Fields:** -- `input`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]` +- `input`: `typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]` - `to`: `typing.Literal['double', 'string', 'int', 'bool', 'exists']` --- @@ -141,7 +142,7 @@ simplifications: **Pydantic Fields:** -- `$eq`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$eq`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` --- @@ -169,7 +170,7 @@ simplifications: **Pydantic Fields:** -- `$gt`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$gt`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` --- @@ -183,7 +184,21 @@ simplifications: **Pydantic Fields:** -- `$gte`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$gte`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation], typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` + +--- + + + +## class `InOperation` + + + + + +**Pydantic Fields:** + +- `$in`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation], list['Operand']]` --- @@ -211,7 +226,7 @@ simplifications: **Pydantic Fields:** -- `$not`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$not`: `typing.Tuple[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` --- @@ -225,7 +240,7 @@ simplifications: **Pydantic Fields:** -- `$or`: `typing.List[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]]` +- `$or`: `typing.List[typing.Union[LiteralOperation, GetFieldOperator, ConvertOperation, AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]]` --- @@ -239,4 +254,4 @@ simplifications: **Pydantic Fields:** -- `$expr`: `typing.Union[AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, ContainsOperation]` +- `$expr`: `typing.Union[AndOperation, OrOperation, NotOperation, EqOperation, GtOperation, GteOperation, InOperation, ContainsOperation]` diff --git a/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.remote_http_trace_server.md b/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.remote_http_trace_server.md index 4e1f79373e3..79a4423bcdf 100644 --- a/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.remote_http_trace_server.md +++ b/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.remote_http_trace_server.md @@ -56,7 +56,7 @@ __init__( --- - + ### method `call_end` @@ -70,7 +70,7 @@ call_end(req: Union[CallEndReq, Dict[str, Any]]) → CallEndRes --- - + ### method `call_read` @@ -84,7 +84,7 @@ call_read(req: Union[CallReadReq, Dict[str, Any]]) → CallReadRes --- - + ### method `call_start` @@ -98,7 +98,7 @@ call_start(req: Union[CallStartReq, Dict[str, Any]]) → CallStartRes --- - + ### method `call_update` @@ -112,7 +112,7 @@ call_update(req: Union[CallUpdateReq, Dict[str, Any]]) → CallUpdateRes --- - + ### method `calls_delete` @@ -126,7 +126,7 @@ calls_delete(req: Union[CallsDeleteReq, Dict[str, Any]]) → CallsDeleteRes --- - + ### method `calls_query` @@ -140,7 +140,7 @@ calls_query(req: Union[CallsQueryReq, Dict[str, Any]]) → CallsQueryRes --- - + ### method `calls_query_stats` @@ -156,7 +156,7 @@ calls_query_stats( --- - + ### method `calls_query_stream` @@ -175,7 +175,7 @@ calls_query_stream(req: CallsQueryReq) → Iterator[CallSchema] ### method `ensure_project_exists` ```python -ensure_project_exists(entity: str, project: str) → None +ensure_project_exists(entity: str, project: str) → EnsureProjectExistsRes ``` @@ -184,7 +184,7 @@ ensure_project_exists(entity: str, project: str) → None --- - + ### method `feedback_create` @@ -200,7 +200,7 @@ feedback_create( --- - + ### method `feedback_purge` @@ -214,7 +214,7 @@ feedback_purge(req: Union[FeedbackPurgeReq, Dict[str, Any]]) → FeedbackPurgeRe --- - + ### method `feedback_query` @@ -228,7 +228,7 @@ feedback_query(req: Union[FeedbackQueryReq, Dict[str, Any]]) → FeedbackQueryRe --- - + ### method `file_content_read` @@ -242,7 +242,7 @@ file_content_read(req: FileContentReadReq) → FileContentReadRes --- - + ### method `file_create` @@ -256,7 +256,7 @@ file_create(req: FileCreateReq) → FileCreateRes --- - + ### classmethod `from_env` @@ -270,7 +270,7 @@ from_env(should_batch: bool = False) → RemoteHTTPTraceServer --- - + ### method `obj_create` @@ -284,7 +284,7 @@ obj_create(req: Union[ObjCreateReq, Dict[str, Any]]) → ObjCreateRes --- - + ### method `obj_read` @@ -298,7 +298,7 @@ obj_read(req: Union[ObjReadReq, Dict[str, Any]]) → ObjReadRes --- - + ### method `objs_query` @@ -312,7 +312,7 @@ objs_query(req: Union[ObjQueryReq, Dict[str, Any]]) → ObjQueryRes --- - + ### method `op_create` @@ -326,7 +326,7 @@ op_create(req: Union[OpCreateReq, Dict[str, Any]]) → OpCreateRes --- - + ### method `op_read` @@ -340,7 +340,7 @@ op_read(req: Union[OpReadReq, Dict[str, Any]]) → OpReadRes --- - + ### method `ops_query` @@ -354,7 +354,7 @@ ops_query(req: Union[OpQueryReq, Dict[str, Any]]) → OpQueryRes --- - + ### method `refs_read_batch` @@ -368,7 +368,7 @@ refs_read_batch(req: Union[RefsReadBatchReq, Dict[str, Any]]) → RefsReadBatchR --- - + ### method `server_info` @@ -382,7 +382,7 @@ server_info() → ServerInfoRes --- - + ### method `set_auth` @@ -396,7 +396,7 @@ set_auth(auth: Tuple[str, str]) → None --- - + ### method `table_create` @@ -408,7 +408,7 @@ Similar to `calls/batch_upsert`, we can dynamically adjust the payload size due --- - + ### method `table_query` @@ -422,7 +422,7 @@ table_query(req: Union[TableQueryReq, Dict[str, Any]]) → TableQueryRes --- - + ### method `table_update` diff --git a/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.trace_server_interface.md b/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.trace_server_interface.md index ec8c55cd7ce..83efbb13be5 100644 --- a/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.trace_server_interface.md +++ b/docs/docs/reference/python-sdk/weave/trace_server/weave.trace_server.trace_server_interface.md @@ -24,10 +24,8 @@ sidebar_label: trace_server_interface - [`trace_server_interface.CallStartReq`](#class-callstartreq) - [`trace_server_interface.CallStartRes`](#class-callstartres) - [`trace_server_interface.CallUpdateReq`](#class-callupdatereq) -- [`trace_server_interface.CallUpdateReq`](#class-callupdatereq) - [`trace_server_interface.CallUpdateRes`](#class-callupdateres) - [`trace_server_interface.CallsDeleteReq`](#class-callsdeletereq) -- [`trace_server_interface.CallsDeleteReq`](#class-callsdeletereq) - [`trace_server_interface.CallsDeleteRes`](#class-callsdeleteres) - [`trace_server_interface.CallsFilter`](#class-callsfilter) - [`trace_server_interface.CallsQueryReq`](#class-callsqueryreq) @@ -35,10 +33,10 @@ sidebar_label: trace_server_interface - [`trace_server_interface.CallsQueryStatsReq`](#class-callsquerystatsreq) - [`trace_server_interface.CallsQueryStatsRes`](#class-callsquerystatsres) - [`trace_server_interface.EndedCallSchemaForInsert`](#class-endedcallschemaforinsert) +- [`trace_server_interface.EnsureProjectExistsRes`](#class-ensureprojectexistsres) - [`trace_server_interface.ExtraKeysTypedDict`](#class-extrakeystypeddict) - [`trace_server_interface.Feedback`](#class-feedback) - [`trace_server_interface.FeedbackCreateReq`](#class-feedbackcreatereq) -- [`trace_server_interface.FeedbackCreateReq`](#class-feedbackcreatereq) - [`trace_server_interface.FeedbackCreateRes`](#class-feedbackcreateres) - [`trace_server_interface.FeedbackPayloadNoteReq`](#class-feedbackpayloadnotereq) - [`trace_server_interface.FeedbackPayloadReactionReq`](#class-feedbackpayloadreactionreq) @@ -98,7 +96,7 @@ sidebar_label: trace_server_interface --- - + ## class `CallEndReq` @@ -112,7 +110,7 @@ sidebar_label: trace_server_interface --- - + ## class `CallEndRes` @@ -123,7 +121,7 @@ sidebar_label: trace_server_interface --- - + ## class `CallReadReq` @@ -139,7 +137,7 @@ sidebar_label: trace_server_interface --- - + ## class `CallReadRes` @@ -153,7 +151,7 @@ sidebar_label: trace_server_interface --- - + ## class `CallSchema` @@ -181,7 +179,7 @@ sidebar_label: trace_server_interface - `deleted_at`: `typing.Optional[datetime.datetime]` --- - + ### method `serialize_typed_dicts` @@ -196,7 +194,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallStartReq` @@ -210,7 +208,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallStartRes` @@ -225,24 +223,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - - -## class `CallUpdateReq` - - - - - -**Pydantic Fields:** - -- `project_id`: `` -- `call_id`: `` -- `display_name`: `typing.Optional[str]` -- `wb_user_id`: `typing.Optional[str]` - ---- - - + ## class `CallUpdateReq` @@ -259,7 +240,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallUpdateRes` @@ -270,7 +251,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallsDeleteReq` @@ -286,23 +267,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - - -## class `CallsDeleteReq` - - - - - -**Pydantic Fields:** - -- `project_id`: `` -- `call_ids`: `typing.List[str]` -- `wb_user_id`: `typing.Optional[str]` - ---- - - + ## class `CallsDeleteRes` @@ -313,7 +278,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallsFilter` @@ -335,7 +300,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallsQueryReq` @@ -353,10 +318,11 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] - `query`: `typing.Optional[weave.trace_server.interface.query.Query]` - `include_costs`: `typing.Optional[bool]` - `columns`: `typing.Optional[typing.List[str]]` +- `expand_columns`: `typing.Optional[typing.List[str]]` --- - + ## class `CallsQueryRes` @@ -370,7 +336,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallsQueryStatsReq` @@ -386,7 +352,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `CallsQueryStatsRes` @@ -400,7 +366,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `EndedCallSchemaForInsert` @@ -418,7 +384,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] - `summary`: `` --- - + ### method `serialize_typed_dicts` @@ -433,43 +399,36 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - - -## class `ExtraKeysTypedDict` + +## class `EnsureProjectExistsRes` +**Pydantic Fields:** +- `project_name`: `` --- - + + +## class `ExtraKeysTypedDict` -## class `Feedback` -**Pydantic Fields:** -- `project_id`: `` -- `weave_ref`: `` -- `creator`: `typing.Optional[str]` -- `feedback_type`: `` -- `payload`: `typing.Dict[str, typing.Any]` -- `wb_user_id`: `typing.Optional[str]` -- `id`: `` -- `created_at`: `` --- - + -## class `FeedbackCreateReq` +## class `Feedback` @@ -483,10 +442,12 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] - `feedback_type`: `` - `payload`: `typing.Dict[str, typing.Any]` - `wb_user_id`: `typing.Optional[str]` +- `id`: `` +- `created_at`: `` --- - + ## class `FeedbackCreateReq` @@ -505,7 +466,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackCreateRes` @@ -522,7 +483,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackPayloadNoteReq` @@ -536,7 +497,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackPayloadReactionReq` @@ -550,7 +511,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackPurgeReq` @@ -565,7 +526,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackPurgeRes` @@ -576,7 +537,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackQueryReq` @@ -595,7 +556,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FeedbackQueryRes` @@ -609,7 +570,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FileContentReadReq` @@ -624,7 +585,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FileContentReadRes` @@ -638,7 +599,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FileCreateReq` @@ -654,7 +615,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `FileCreateRes` @@ -668,7 +629,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `LLMCostSchema` @@ -681,7 +642,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `LLMUsageSchema` @@ -694,7 +655,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjCreateReq` @@ -708,7 +669,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjCreateRes` @@ -722,7 +683,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjQueryReq` @@ -737,7 +698,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjQueryRes` @@ -751,7 +712,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjReadReq` @@ -767,7 +728,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjReadRes` @@ -781,7 +742,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjSchema` @@ -804,7 +765,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjSchemaForInsert` @@ -820,7 +781,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `ObjectVersionFilter` @@ -837,7 +798,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpCreateReq` @@ -851,7 +812,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpCreateRes` @@ -865,7 +826,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpQueryReq` @@ -880,7 +841,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpQueryRes` @@ -894,7 +855,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpReadReq` @@ -910,7 +871,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpReadRes` @@ -924,7 +885,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `OpVersionFilter` @@ -939,7 +900,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `RefsReadBatchReq` @@ -953,7 +914,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `RefsReadBatchRes` @@ -967,7 +928,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `SortBy` @@ -982,7 +943,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `StartedCallSchemaForInsert` @@ -1006,7 +967,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `SummaryInsertMap` @@ -1019,7 +980,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `SummaryMap` @@ -1032,7 +993,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableAppendSpec` @@ -1046,7 +1007,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableAppendSpecPayload` @@ -1060,7 +1021,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableCreateReq` @@ -1074,7 +1035,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableCreateRes` @@ -1088,7 +1049,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableInsertSpec` @@ -1102,7 +1063,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableInsertSpecPayload` @@ -1117,7 +1078,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TablePopSpec` @@ -1131,7 +1092,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TablePopSpecPayload` @@ -1145,7 +1106,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableQueryReq` @@ -1163,7 +1124,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableQueryRes` @@ -1177,7 +1138,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableRowFilter` @@ -1191,7 +1152,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableRowSchema` @@ -1206,7 +1167,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableSchemaForInsert` @@ -1221,7 +1182,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableUpdateReq` @@ -1237,7 +1198,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TableUpdateRes` @@ -1251,7 +1212,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ## class `TraceServerInterface` @@ -1263,7 +1224,7 @@ serialize_typed_dicts(v: Dict[str, Any]) → Dict[str, Any] --- - + ### method `call_end` @@ -1277,7 +1238,7 @@ call_end(req: CallEndReq) → CallEndRes --- - + ### method `call_read` @@ -1291,7 +1252,7 @@ call_read(req: CallReadReq) → CallReadRes --- - + ### method `call_start` @@ -1305,7 +1266,7 @@ call_start(req: CallStartReq) → CallStartRes --- - + ### method `call_update` @@ -1319,7 +1280,7 @@ call_update(req: CallUpdateReq) → CallUpdateRes --- - + ### method `calls_delete` @@ -1333,7 +1294,7 @@ calls_delete(req: CallsDeleteReq) → CallsDeleteRes --- - + ### method `calls_query` @@ -1347,7 +1308,7 @@ calls_query(req: CallsQueryReq) → CallsQueryRes --- - + ### method `calls_query_stats` @@ -1361,7 +1322,7 @@ calls_query_stats(req: CallsQueryStatsReq) → CallsQueryStatsRes --- - + ### method `calls_query_stream` @@ -1375,12 +1336,12 @@ calls_query_stream(req: CallsQueryReq) → Iterator[CallSchema] --- - + ### method `ensure_project_exists` ```python -ensure_project_exists(entity: str, project: str) → None +ensure_project_exists(entity: str, project: str) → EnsureProjectExistsRes ``` @@ -1389,7 +1350,7 @@ ensure_project_exists(entity: str, project: str) → None --- - + ### method `feedback_create` @@ -1403,7 +1364,7 @@ feedback_create(req: FeedbackCreateReq) → FeedbackCreateRes --- - + ### method `feedback_purge` @@ -1417,7 +1378,7 @@ feedback_purge(req: FeedbackPurgeReq) → FeedbackPurgeRes --- - + ### method `feedback_query` @@ -1431,7 +1392,7 @@ feedback_query(req: FeedbackQueryReq) → FeedbackQueryRes --- - + ### method `file_content_read` @@ -1445,7 +1406,7 @@ file_content_read(req: FileContentReadReq) → FileContentReadRes --- - + ### method `file_create` @@ -1459,7 +1420,7 @@ file_create(req: FileCreateReq) → FileCreateRes --- - + ### method `obj_create` @@ -1473,7 +1434,7 @@ obj_create(req: ObjCreateReq) → ObjCreateRes --- - + ### method `obj_read` @@ -1487,7 +1448,7 @@ obj_read(req: ObjReadReq) → ObjReadRes --- - + ### method `objs_query` @@ -1501,7 +1462,7 @@ objs_query(req: ObjQueryReq) → ObjQueryRes --- - + ### method `op_create` @@ -1515,7 +1476,7 @@ op_create(req: OpCreateReq) → OpCreateRes --- - + ### method `op_read` @@ -1529,7 +1490,7 @@ op_read(req: OpReadReq) → OpReadRes --- - + ### method `ops_query` @@ -1543,7 +1504,7 @@ ops_query(req: OpQueryReq) → OpQueryRes --- - + ### method `refs_read_batch` @@ -1557,7 +1518,7 @@ refs_read_batch(req: RefsReadBatchReq) → RefsReadBatchRes --- - + ### method `table_create` @@ -1571,7 +1532,7 @@ table_create(req: TableCreateReq) → TableCreateRes --- - + ### method `table_query` @@ -1585,7 +1546,7 @@ table_query(req: TableQueryReq) → TableQueryRes --- - + ### method `table_update` @@ -1600,7 +1561,7 @@ table_update(req: TableUpdateReq) → TableUpdateRes --- - + ## class `WeaveSummarySchema` diff --git a/docs/docs/reference/python-sdk/weave/weave.feedback.md b/docs/docs/reference/python-sdk/weave/weave.feedback.md deleted file mode 100644 index b715f3bb1cf..00000000000 --- a/docs/docs/reference/python-sdk/weave/weave.feedback.md +++ /dev/null @@ -1,258 +0,0 @@ ---- -sidebar_label: feedback ---- - - -# weave.feedback - -Classes for working with feedback on a project or ref level. - ---- - - -# API Overview - - - -## Classes - -- [`feedback.Feedbacks`](#class-feedbacks): A collection of Feedback objects with utilities. -- [`feedback.FeedbackQuery`](#class-feedbackquery): Lazy-loading object for fetching feedback from the server. -- [`feedback.RefFeedbackQuery`](#class-reffeedbackquery): Object for interacting with feedback associated with a particular ref. - - - - ---- - - - - -## class `Feedbacks` -A collection of Feedback objects with utilities. - - - -### method `__init__` - -```python -__init__(show_refs: bool, feedbacks: Optional[Iterable[Feedback]] = None) → None -``` - - - - - - - - ---- - - - -### method `refs` - -```python -refs() → Refs -``` - -Return the unique refs associated with these feedbacks. - - ---- - - - -## class `FeedbackQuery` -Lazy-loading object for fetching feedback from the server. - - - -### method `__init__` - -```python -__init__( - entity: str, - project: str, - query: Query, - offset: Optional[int] = None, - limit: Optional[int] = None, - show_refs: bool = False -) -``` - - - - - - - - ---- - - - -### method `execute` - -```python -execute() → Feedbacks -``` - - - - - ---- - - - -### method `refresh` - -```python -refresh() → Feedbacks -``` - - - - - ---- - - - -### method `refs` - -```python -refs() → Refs -``` - - - - - - ---- - - - -## class `RefFeedbackQuery` -Object for interacting with feedback associated with a particular ref. - - - -### method `__init__` - -```python -__init__(ref: str) → None -``` - - - - - - - - ---- - - - -### method `add` - -```python -add( - feedback_type: str, - payload: Optional[dict[str, Any]] = None, - creator: Optional[str] = None, - **kwargs: dict[str, Any] -) → str -``` - -Add feedback to the ref. - -feedback_type: A string identifying the type of feedback. The "wandb." prefix is reserved. creator: The name to display for the originator of the feedback. - ---- - - - -### method `add_note` - -```python -add_note(note: str, creator: Optional[str] = None) → str -``` - - - - - ---- - - - -### method `add_reaction` - -```python -add_reaction(emoji: str, creator: Optional[str] = None) → str -``` - - - - - ---- - - - -### method `execute` - -```python -execute() → Feedbacks -``` - - - - - ---- - - - -### method `purge` - -```python -purge(feedback_id: str) → None -``` - - - - - ---- - - - -### method `refresh` - -```python -refresh() → Feedbacks -``` - - - - - ---- - - - -### method `refs` - -```python -refs() → Refs -``` - - - - - diff --git a/docs/docs/reference/service-api/call-end-call-end-post.api.mdx b/docs/docs/reference/service-api/call-end-call-end-post.api.mdx index d13a70a133e..a4f2f23f3d8 100644 --- a/docs/docs/reference/service-api/call-end-call-end-post.api.mdx +++ b/docs/docs/reference/service-api/call-end-call-end-post.api.mdx @@ -5,7 +5,7 @@ description: "Call End" sidebar_label: "Call End" hide_title: true hide_table_of_contents: true -api: eJylVm1v2jAQ/ivInylv26SNb7TrtEqrilq6D0MImcSAtyTO7MtahPLfd3cOwaHApvYLxOe7x3fPvdhbAXLlxHAqrmSSODFrC5MrK0Gb7CYWQxGheK6yeF5/5MaBaAurfhfKwaWJN2K4FZHJQGVAnzLPEx0xRPenMxnJXLRWqaSv3NIBoJWjFQK+FOLqp4pgrnkPNrlCRxxYna3wYNCQkGDstVroZtkW53W9Dh6m4rmEY5pLY1PaEbEEdQE6VYH5NRm2RsAgz5HKKTYONdvcLZG9Q7yyXUuyIklEOQvAagBEMwXkhXeo2r7zkvbO3iwoStJ1RZpKu3nJV+HkSrE7cawJWSbjQ0KbqzSHOZhfKnNHo9CYy5WyZ8MYM0pr4lEoAxn6/VbUGwIJQCM8JFEU01uRr2qkAN7T/1Zon7IAtuqN1yPe7wAQDAzI5K0uTgik9rA8rK694rdvt49UTg++Yc9oshpjHS87sIU6bf3gi/kmc6h/K/OjThGP2qqY5lMwFLjbg3bet8bsoGdpqPlIvhjrz/rnQTSSwrpBCMTCjKBlGapSgCxwuUFoTs6g16O/WLnI6mpMYKxRpJxbFknrvlIW7VdOzDMJqT2lDJOr7weDl858l4mO+ajWtbXGvtoTxAWpE/rSoNIjgyYxUWP3P6ZlXcuzfaDSWrkJS9R4B6k4U7c6N/dvkXau0h3YaVUmozWh3X9VCMXlj670gnLZ0+vZPR3GZ0/fuWb8OpmMXwD63DoVFVbDhukkvUvpNNI9nVHbN1NOhdHCyiCnFawN3evVLZ5LWOOqS7d7V7EKNskfZR0DFxbzK9YAuRt2u2BlpDpPMosXHal5vuzc4CbzWQ+cqdkmBIJmLVwveJ/ioCK73z8lrp8ljenm06B+DOyz1lztL3ZswMH7i97Hi/67Sa8/7PeH7wadTx96P0Tj5t6b1hdw84LdXamebJ0tTXhHf5EORuMbNCemPGKv0+/0KN3EbCq5czKZqib/jcTU9IB6hm6eSM01zaRvq9RM+QXmY6Q6W1PeULrdIofq0SZlSWIkkByf4ucfabVckJ9TaqK1kjE2FGXzl9rwRcjdfsGlTupJweV52PnUld5iFBFxZ3VnQWmN7x4mqLyoXoapicnGyidqI/wdCuKdOeCCYRlOC5mtCmZdeEy+WgoioSbK1027+g8mCY6WwD8mR0cjNH7EcqY0IE3tKpyiEoVz56T9WDr3ZGwc2OeViIZUWf4FH8zaMg== +api: eJylVt9v2jAQ/leQnynQrA8bb23XaZVWFbV0D0MImcQFt0mc2Ze1COV/3905BAcom9oXiM93n++++2GvBciFE8OJuJRp6sS0K0yhrARt8utEDEWM4pnKk1nzURgHoius+l0qBxcmWYnhWsQmB5UDfcqiSHXMEP0nZ3KSuXipMklfhaUDQCtHKwTcF+LqScUw07wHq0KhIw6szhd4MGhISTDyWh10s+qK47peBw9TyUzCIc1HYzPaEYkEdQI6U4H5FRl2zoFBXmNVUGwcar66fUT2dvGqbiPJyzQV1TQAawAQzZRQlN6hevvWS7obezOnKEnXlVkm7Wqfr9LJhWJ3kkQTskxHu4S2V1kBMzDPKncHo9CYy4WyR8MYMUpn7FEoAzn6/VHUawIJQGM8JFUU00eRLxukAN7T/1Fon7IAtu6N9yPebQAQDAzI9KMujgmk8bDara6t4o8fNw9UTve+YY9oshpjHS47sKV62/reF/N17lD/RhYHnSIetVUJzadgKHC3B+28bY3pTs/SUPORfDPWn/XPg2gkhXWDEIiFGUHLKlSlAFngCoPQnJxoMKC/RLnY6npMYKxxrJx7LNPOXa0suu+cmEcS0nhKGSZXz6Jo35mfMtUJH9W5stbYd3uCuCB1Sl8aVHZg0KQmbu3+x7Rsanm6DVRaK1dhiRrvIBVn5hbH5v4N0s5VugF7W5XJ6Ixp918VQnH5o2u9oFy29Hp23w7jq6fvWDN+H49He4A+t07FpdWwYjpJ70I6jXRPptT27ZRTYXSwMshpBUtD93p9ixcSlrjq0+3eV6yCTfJHWcfApcX8iiVA4Yb9PlgZq96LzJN5T2qeLxs3uMl81gNnGrYJgaBZC9dz3qc4qMjutk+Jq1dJY7r9NGgeA9ustVfbix0bMDo7GXw+iT6Po2gYfRmeRr3o7NMv0bq5t6bNBdy+YDdXqidb548mvKO/SQfno2s0J6Y84qB32htQuonZTHLn5DJTbf5biWnoAfUK/SKVmmuaSV/XqZnwC8zHSHW2pLyhdL1GDtWDTauKxEggOT7Bzz/SajknPyfUREslE2woyuazWvFFyN1+wqVO6mnJ5bnb+dSV3uI8JuKO6k6D0hrd3o9ReV6/DDOTkI2VL9RG+DsUxDtzwAXDMpwWMl+UzLrwmHy1lERCQ5Svm279H0wSHC2Bf0yOjs/R+AHLmdKANHXrcMpaFM6dN+1H0rkXY5PAvqhFNKSq6i86S9o9 sidebar_class_name: "post api-method" info_path: reference/service-api/fastapi custom_edit_url: null diff --git a/docs/docs/reference/service-api/call-start-batch-call-upsert-batch-post.api.mdx b/docs/docs/reference/service-api/call-start-batch-call-upsert-batch-post.api.mdx index e5b59bdb532..9da7185da57 100644 --- a/docs/docs/reference/service-api/call-start-batch-call-upsert-batch-post.api.mdx +++ b/docs/docs/reference/service-api/call-start-batch-call-upsert-batch-post.api.mdx @@ -5,7 +5,7 @@ description: "Call Start Batch" sidebar_label: "Call Start Batch" hide_title: true hide_table_of_contents: true -api: eJydVttO20AQ/ZVon0NuUKnNG1CqIhURkbQPjaJoYi/JUl+2ewGiyP/emVkntkMIFB7w7nh29syZM+NshIOlFcOpuIQksWLWFrmWBpzKs+tYDEWE5rl1YNx8AS5azdngtZU7i86tE21h5F8vrbvI47UYbkSUZ05mjpagdaIijtl9sHlGNhutZAq00oZudEpa2nFIWignU7ZAtr69R4Qb4dZaIqR88SCj7Y3KyJjg45rAO+US8qFsLijUmKDf5LEURftjEa6yOJyfFe1tADAG1qJyZkdRVA4Hbwi57d1xaSQ4yQHuEEFBQapDznjJBqvzzAaKBr0ePWJpI6M0sYqhxj6KpLX3Pmndlc54+weLYMLjP0ugYmLEQCTnuNxLk+uAyA6Woe6IdLPbEbb5/RtcUwrHmKYIFONsMHhJ5i9IVMxUta6Myc3HmYylA5U0yGw6JHl0nGrrjMqWddoUIllKc5SiH3kAiOdEapcUuRmvcr1B2cCS+qN0ed2VyWhN6O1b/FNe4erSr1aMit7A7utpfA30Hbps6/J9Mhm9CBhqa2XkjXJrppP8LsAqpHs6KxBNs+QkkBaLtBWaGcFLt8ppBpYDToPDySS6NAG79Qko6CrzKI3lm7zBgouVc9oOu11uiM4TZPGiA0rQzVtcYxJNkEEN3Y5+ikCh2Qv3C35PiZHq7qpxe/UMqU5kbXwiipRmFtUQUwq1YZ3yNqiQiKROrRW6ucv1PIO0oYRYWZ3A+oV91/Y1mwaDHbNnZAAyngOiwEk2ODvpfT7pn056/WG/PzwddL586v1GP3B4YuEd04Mpq0x7V66fFnOPhO9FRqvxWcNIKtgxIbO44oE272QBXd+BVz5HcqulikDvEHUAbX2aguFPo+d+Qyv9zTi5+5wLX2r6G1h3PrrGCCSqELTX6Xd61CqkxhR46pRVOKDdhrh3inLy2XWxfornAut0U8p6yl96PNkQNop1ReLH15sN6k/+NElRkBnFR8lMcfkIRsGCgE8pmZWEGKcTafCPXBO8MDpPeG6Qe+K51/fHKNUqnDiPiMyjvrNaf45uxxN0XpS/PMp6G3iieuP/oWAx0+nweSMbjl7Ilp4rIUJMai3wblVjLPRcu3zWxjLO6Ro+JkdF53j4J9JHdUGa2mU6vjTVh/ir50dg7VNu4tp5XZpo4hfFP7ZBSuM= +api: eJydVk1TGkEQ/SvUnBFw48FwU2MqVsWSEswhFEU1uyOM2Y/JfIgUtf893T0L7CKi0YM709vT8/r1617WwsHciv5YXEGaWjFpi0JLA04V+U0i+iJG89Q6MG46Axcvpmzw2sqtRRfWibYw8q+X1l0WyUr01yIucidzR0vQOlUxx+w+2SInm40XMgNaaUM3OiUt7TgkLZSTGVsgX909IsK1cCstEVIxe5Lx5kZlZELwcU3gnXIp+VA2lxRqSNBvi0SKsv25CNd5Es5PyvYmABgDK7FzZkdR7hwO3hBy27vjykhwkgPcI4KSguwOOeMlG6wuchsoino9eiTSxkZpYhVDDX0cS2sffdq6r5zx9k8WwYTHf5ZAJcSIgVhOcbmXJtcBkR0sQ90R6Wa3I2zz+3e4phSOMU0RKMZZFL0m8xekKmGqWtfGFObzTCbSgUobZDYd0iI+TrV1RuXzOm0KkcylOUrRzyIAxHMis3OK3Iy3c71F2cCc+qNyeduVyWiN6O17/FNe4erKr1aMHb2B3bfT+BboO3TZxuXHaDR4FTDU1srYG+VWTCf5XYJVSPd4UiKaZslJIC0WaSs0M4KXblHQDKwGnAaHk0l0aQJ26xNQ0FXmWRrLN3mDBRcL57Ttd7vcEJ0l5MmsA0rQzRtcQxJNkEEN3ZZ+ikCh2Qv3M35PiZHq7nfj9voFMp3K2vhEFBnNLKohphRqwzrlbVAhEUmdWit0c1foaQ5ZQwmJsjqF1Sv7tu1rNg0GO2bPyABkMgVEgZMsOjvpnZ9E56Mo6kdf+6dRJzr78hv9wOGJmXdMD6ascu1dtV7Oph4J34uMVuPzhpFUsGVC5smOB9p8kAV0/QBe+RLLjZZ2BHqHqANo67MMDH8aPfcbWulvwsk9Flz4StPfwbqLwQ1GIFGFoL3OaadHrUJqzICnTlWFA9ptiHurKCdfXBfrp3gusE7XlazH/KXHkw1ho1gXJH58vV6j/uSDScuSzCg+SmaMy2cwCmYEfEzJLCQkOJ1Ig3/kiuCF0XnCc4PcU8+9vj9GqVbhxEVMZB71ndT6c3A3HKHzrPrlUdXbwJLqjf/7gsVMp8PnjWw4eiGfe66ECDGptcC7RY2x0HPt6lkbyzina/iYHBVf4OEHpI/qgjS1q3R8ZaoP8TfPD8DaZWGS2nldmWjil+U/9IdK+Q== sidebar_class_name: "post api-method" info_path: reference/service-api/fastapi custom_edit_url: null diff --git a/docs/docs/reference/service-api/call-start-call-start-post.api.mdx b/docs/docs/reference/service-api/call-start-call-start-post.api.mdx index 74b455300f3..515c41ff877 100644 --- a/docs/docs/reference/service-api/call-start-call-start-post.api.mdx +++ b/docs/docs/reference/service-api/call-start-call-start-post.api.mdx @@ -5,7 +5,7 @@ description: "Call Start" sidebar_label: "Call Start" hide_title: true hide_table_of_contents: true -api: eJylVltv2zoM/iuGn9Pc1octb9nZhhXY1qDJzgFOEQSKrSTaFEuT6GVBkP9+SMq15aRND9qXxKJJivw+XnxIQax9OrpP/xJa+3TeSY2VToAyxU2ejtIMxQsPwsEierTGQ9pJnfxVSg/vTb5PR4c0MwXIAuhRWKtVxm56P7wpSOazjdwKerKOLgElPcvJ5bkYTz9kBguV0wn2VmI4Hpwq1ng1KNAkmAStBIM9dtKgK4r97QpzOrU6dmpJUWqdHueNn2Bv7KIQW3npwlubfCMV1M6Vt1rsa5OX3Psh+Kh9ghOZXLw8jxnZV2hY4ZCOVzibsIPKG9Mk84WAx+BZGbelN2kuQF6BwmwaP9NgmoyBHAlAo2UJgebKkVkSjZHNuNEiYgtbwkX9m6CBurvlovTSvSLvf5bJd/RAiSPL0mdOWSpl4sskhYHES0hy5TAEve8mU+l+o/pOaZ2IEgwioahb9ok1ttSISAIb5ZOVkjrvVjG6snhdiHdlwdRQ1ZyAQo2J0eXU2FEfNQXeorNFSY31/Iw/GhFTbuJPxt0UiBA8e3to7sgXOyHhnfyF1sdYHVwpWeCtQffM97Dfp782C9Myy6T3q1Ind5Uy3vvC+XN5wITij9vyKc2m9Z7BhJmoPT6OjSds0M/1cHie/t9Cq5yTSz46Z9zLc88lCKUZBZBbf66gTdZ6+z9qVWEka+mwXBschHNiH2H1xYQACdutX1+C9SsSLdZhOLLK06oMRjKjt89xQHmFqyu9iIYG3oDu02l8CPA9dtmDyufZbHLmMHDrZVY6BXuGk/TeC68Q7vs5dXqbciqNhGuDwpawMbSdqz1sBWzw1KOZ0/OVkueh5Nl56ZDjdANg/ajX49Lr7kSRL7tC8Vh5CIXbOzAfBVQjTh7INWvhecnvKRcqtLvmc+DjH7G1Wp6u93qhN9y1T/UCbkTtLRuRXrdkI4s2XiOMFxeOk+H1Vf/t1eDNrD8YDQajN8Puu+t3/6YneyneOSc7pfEcTfG6D9hwZRi0qgQ+CQ/jyQ0aECGBz3530O3zkkYKt4KbtMqwRXWrCmoeQP6BHqKiuIGY3UNVBff8yfaQNpX1hooE5YcD0iW/O308khi5clR6+PhbOCWWFOs99exGihz7lwrnp9xTRGG4XHFnkbouuRtOBw0NgWAxxvls4aLuPKrjye10hsrL6kNya3KycWJHXYu/o5Rrg6y5NlmGw0kU65JmwygNPgl9XMCbCKpQop3qPxpcOMmi+BgclY3RmFY/UYEwdap0ykoUj7kn7SfC+51xeWRvKxHNxOPxP0rd58I= +api: eJylVt+P2jgQ/leiPLNAc/vQ441eW91K11u00Fa6FUImMeDWxK49KY0Q/3tnxtnEwC572n2BeDIznvm++ZF9CmLt09F9+pfQ2qfzXmqsdAKUKW+KdJTmKF54EA4W0aM1HtJe6uSPSnp4Z4o6He3T3JQgS6BHYa1WObsZfPOmJJnPN3Ir6Mk6ugSU9Cwnl+diPH2TOSxUQSeorcRwPDhVrvFqUKBJMAlaCQZ76KVBV5T17QpzOrU69FpJWWmdHuadn2Bv7KIUW3npwlub/EsqqF0ob7WoW5OX3Ps++Gh9ghO5XLw8jxnZN2hY4ZCOVzibsIPGG9Mki4WAx+BZGbelN2khQF6Bwmw6P9NgmoyBHAlAo2UFgebGkVkSjZHNuNMiYktbwUX9m6CBurvlovLSvSLvr8vkM3qgxJFl6XOnLJUy8WWS0kDiJSSFchiCrvvJVLqfqL5TWieiAoNIKOqWOrHGVhoRSWCjfLJSUhf9JkZXla8L8a4qmRqqmhNQqDExuoIaO+qjrsCP6DyipMV6fsYfjYgpN/FH425KRAievT00d+SLnZDwTv5A60OsDq6SLPDWoHvmOxsO6e+YhWmV59L7VaWTu0YZ733h/Lk8YELxx235lGbXes9gwky0Hh/HxhM26Oc6y87T/yK0Kji55INzxr0890KCUJpRALn15wra5Edv/0etKoxkLR2Wa4eDcE7UEVb/mBAgYbv160uwfkKixToMR1Z5WpXBSGb09jkOKK9wdaMX0dDBG9B9Oo33Ab7HLntQ+Xs2m5w5DNx6mVdOQc1wkt474RXCfT+nTj+mnEoj4dqgsCVsDG3nZg9bARs8DWjmDHyj5HkoeXZeOeQ43QBYPxoMuPT6O1EWy75QPFYeQuH2DsxHAbWIkwdyzVp4XvJ7yoUK7a77HPjwS2ytlqfrvV3oHXfHp3YBd6LjLRuR3rZkJ4s2XieMFxeOk+z6avj2Kns7y7JR9ufoTdbPrv/4Lz3ZS/HOOdkpnedoird9wIYrw6A1JfBReBhPbtCACAl8Dvtv+kNe0kjhVnCTNhkeUX1UBS0PIH/BAFFR3EDM7r6pgnv+ZHtIm8p6Q0WC8v0e6ZKfnT4cSIxcOSo9fPwpnBJLivWeenYjRYH9S4XzXdYUURguV9xZpK4r7obTQUNDIFiMcT5buKg7j+p4cjudofKy+ZDcmoJsnNhR1+LvKOXaIGuuTZbhcBLluqLZMEqDT0IfF/AmgiqUaK/5jwYXTrIoPgZH5WM0ptVPVCBMvSadqhHFY+5J+4nwfmdcEdnbRkQz8XD4DVK+58U= sidebar_class_name: "post api-method" info_path: reference/service-api/fastapi custom_edit_url: null diff --git a/docs/docs/reference/service-api/calls-query-stream-calls-stream-query-post.api.mdx b/docs/docs/reference/service-api/calls-query-stream-calls-stream-query-post.api.mdx index 6772578de8e..9dd76abd921 100644 --- a/docs/docs/reference/service-api/calls-query-stream-calls-stream-query-post.api.mdx +++ b/docs/docs/reference/service-api/calls-query-stream-calls-stream-query-post.api.mdx @@ -5,7 +5,7 @@ description: "Calls Query Stream" sidebar_label: "Calls Query Stream" hide_title: true hide_table_of_contents: true -api: eJydVltv2zoM/iuBcB5zmqw4T3lruw0rsINmbXdegsBQbDrRjiy5uqw1Av/3kZISO4mTXV7iSCI/UuRHUlvm+Nqy2YLdcSktW46ZrsFwJ7S6L9iM5bSdvXgwTWadAV5lcSst4kmtrWNjZiH3RrgG8bbs0/Pz/JZbkeNq2SJwzQ2vwIGx4VzhAg3wPIealIXC1QZ4AQZXBl68MIAulFxaQOx8AxVnsy1zTU2K6IBQaxQtoOReOsKqayny4Pzkm9VK4qkTTpL4TbTTkicEDtbd6qIhwM6WMx5N5Vo5UI6OjhFpr/OkNhQsJ8Cm1TfIXSaKIS93fsyj1Aij245ZKSQGJFhSzUMZApM09YrkepohQx+jQjveyykvJWuXCCZFJdwglsALrQfVOvjPQRthdFla+HOch6iOQFYbl62aQSRuDG8u4jyh9uiWZFgg2eUgdTlcsL/grTasB/Ul6A/GTKhc+gKyHBlsB02stJbA1UVf7yPK6C6g9CgZyNsSpaSv1LCBn4fiLmm3iHTp4j0GLo94E0LwCC+IQSgGbK2VjcS9nk7pU4DNjaiJ6xR+jwVjbenl6DEJs18vjWjln+vrU+D/uBRFUBt9MEab30A9KrgCHBeS/gkHlT0VkDo/OD0JfarOXuz3DF92sY4J6lWKjg4SNSu7vlTt/2II+RrYHuy8aAjG6JlOf5Znulc0neR62e7CG6N7/hrvY/iGjO1EqIefAMbcHiY1cGwUSDZ6CpOBHAS30TRE0nioudvgahIGyKQ/QMLsMN93o8EbSbPAudrOJhNneA5Xr1wVqysuQmHsBs0TMSPmujdu9jEmBJZGRyjlcE7eE7Ueuynw4Y1XtYTjLt4lqevTus5ocoWZmY6X1EZq7zID5dG+9m74AIchMh6tHO2Hy55uU8jOCRutnc1w2jW7Afa6yjzG81QBD4xXx/vd6Jh23X/a69+YklKAPIhIgWTMU/a5zUNa9n06dmBqAycddjdiUz888EKoUof0Jfp95NbdzO/RGlEj2ppevbuaEquJVBUPDSI9JQZJeMDTPTMcvLlJLbkIRRz4tk38XMQ3D/Gmz1C83oZojOfbLRIJvhrZtqy79QL/fudG8BX5vqD7pNcMxe9/aEIjD43u71DlJC49DLxbQkOKGje759F52WWv0uYPT88ovEovm0oXpGP4K3UQ/J0xRi880g5VE/awUXK19tSnZixiUuK4p3B0czAUzzh9+/NLNT3/QnBEfoPKX5GDlBoM0zhdx6etfss9qz/n1r5qU/T067RF/bltfwC6ErIt +api: eJylVlFv4zYM/iuGsMcsyYo95a3tergCG5q1vb0EgaHYdKKbbLmSfG0Q+L+PpJTYSZzcbntpaon8RJEf+WknvFw7MVuIe6m1E8uRMDVY6ZWpHnMxExktp28N2G3qvAVZpmEpfoSd2jgvRsJB1ljlt4i3E59fX+d30qkMv5YtAtfSyhI8WMf7FX7gATLLoCZnVeHXBmQOFr8svDXKAoZQSO0AsbMNlFLMdsJva3LEAFS1RtMcCtloT1h1rVXGwU++OlNp3PXKazK/Dee0FAmBg/N3Jt8SYHeWtw0elZnKQ+Vp6xSR1rpIakvJ8gpc/PoKmU9VPhTlPo55sEowu+1IFEpjQvikavtUcGKip1mRXc+TK/QpOLSjg13VaC3aJYJpVSo/iKXwQutBtw7+d/ZGGFMUDv47zlNwRyBnrE9X20Ekaa3cXsV5Qe/kjmwEk+x6kroaLsRP8FFb0YP6k/0Hc6aqTDc5pBky2A0esTJGg6yuxvoYUJJ7RulRksnbEqV0U1bDB3w/FffRG4HwarLK0/+H98AgyR6W4nWZVTXRvDsu8SYJx40SNYZxYqHgReM3YJOQevKGD1nWmppgscCE1o13Ywe6GJfgnFwDNzevliYHPcZGKbEVl8sWL3StkL2OWp70AZf0Gd6woQnFgqtN5UIj3kyn9HN8qZcGB4BzRaOT52gs/n2rh1N+vbk5B/5LapWzW/JgrbE/gHoyQHLwUmn6T3ko3bmBNtnR7lnp47Tp1f7Qscsu14Egvc43IUDiV+nW16bXH7GiB7DLppyM5JV2v1dnulc4Otr1qt2lN2T38jV+C+kbOmxvQpp0Bhhqe9ICxLGESZa8sNJRgOA3hkQxyl0t/Qa/JiyIk74gshbab3upa6wmbfO+drPJxFuZwfgd+2o1loobcy+cL8SMUOuefB5yTAgiSiGPJt6n6Ilaz52qPYSOPFWlrkid7pg6JSXmN0DcXsZ+Tanhj9dN44c3UNyR8XjKyTpf9nyZUnbJ2BrjXYrqvd0L8vsqbTCf5w64YZvqdL2TwmmnZtOeHmFJCgX6KCM5kjGL1Zcu47IcdCcoCo2BM8XYPxniPO5HdzqrjyJUVWG4tJGan6Tzt/NHjIRoE+KYjn8ZT4nxRLhS8vCIz6ZBgh5x+MAaDx9+UmupuMGZi7vI3UV43xGn+uzF2DdEcdzf7ZBk8MXqthVdRhb47zdplVxR7Au6T3y5UW7/hi2rCA/Bn3kCkLluYOCNxsMqeNzun4KXbZe9Lpw/vbyi8Sq+4khbcNXKd5ou+HcmBL1myZs7itdwiMpq3dAMm4mASUWVDaWj03xurFH87Wtrte3Fx8lR2S06f0F+UmkwTaN4nSYu9cfxRf+5dO7d2LznX8clmt1t+w+JHwWV sidebar_class_name: "post api-method" info_path: reference/service-api/fastapi custom_edit_url: null @@ -949,6 +949,71 @@ Calls Query Stream string +
  • +
    + ] +
    +
  • + + + + + +
    + + + expand_columns + + object + +
    +
    + + + Columns to expand, i.e. refs to other objects + + +
    +
    + + anyOf + + +
  • +
    + Array [ +
    +
  • + + + string + +
  • diff --git a/docs/docs/reference/service-api/obj-read-obj-read-post.api.mdx b/docs/docs/reference/service-api/obj-read-obj-read-post.api.mdx index 49d80f61fd3..237ec1fcf94 100644 --- a/docs/docs/reference/service-api/obj-read-obj-read-post.api.mdx +++ b/docs/docs/reference/service-api/obj-read-obj-read-post.api.mdx @@ -379,7 +379,7 @@ Obj Read value={"Example (from schema)"} > diff --git a/docs/docs/reference/service-api/objs-query-objs-query-post.api.mdx b/docs/docs/reference/service-api/objs-query-objs-query-post.api.mdx index c3ed1a77517..2e8067c0e4c 100644 --- a/docs/docs/reference/service-api/objs-query-objs-query-post.api.mdx +++ b/docs/docs/reference/service-api/objs-query-objs-query-post.api.mdx @@ -614,7 +614,7 @@ Objs Query value={"Example (from schema)"} > diff --git a/docs/docs/tutorial-rag.md b/docs/docs/tutorial-rag.md index 80aae959d8d..d0d07deeb58 100644 --- a/docs/docs/tutorial-rag.md +++ b/docs/docs/tutorial-rag.md @@ -409,6 +409,3 @@ asyncio.run(evaluation.evaluate(model)) We've learned how to build observability into different steps of our applications, like the retrieval step in this example. We've also learned how to build more complex scoring functions, like an LLM judge, for doing automatic evaluation of application responses. -## What's next? - -Learn more about Weave's core types [Quickstart](/guides/core-types). diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 5e2a4718292..68559ace03c 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -3,6 +3,7 @@ import type { Config } from "@docusaurus/types"; import type * as Preset from "@docusaurus/preset-classic"; import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs"; + const config: Config = { title: "W&B Weave", tagline: "Confidently ship LLM applications.", @@ -43,6 +44,7 @@ const config: Config = { editUrl: "https://github.com/wandb/weave/blob/master/docs/", routeBasePath: "/", docItemComponent: "@theme/ApiItem", // Derived from docusaurus-theme-openapi + showLastUpdateTime: true, }, theme: { customCss: "./src/css/custom.scss", diff --git a/docs/scripts/generate_python_sdk_docs.py b/docs/scripts/generate_python_sdk_docs.py index 889091a6c2f..f765f9d9777 100644 --- a/docs/scripts/generate_python_sdk_docs.py +++ b/docs/scripts/generate_python_sdk_docs.py @@ -262,8 +262,7 @@ def doc_module(module, root_path="./docs/reference/python-sdk", module_root_path def main(): import weave - from weave import feedback - from weave.trace import util + from weave.trace import feedback, util from weave.trace import weave_client as client from weave.trace_server import ( remote_http_trace_server, diff --git a/docs/sidebars.ts b/docs/sidebars.ts index bc45296c92e..61f8921f2f8 100644 --- a/docs/sidebars.ts +++ b/docs/sidebars.ts @@ -11,7 +11,7 @@ const CATEGORY_SECTION_HEADER_MIXIN: SidebarItemCategoryBase = { const sidebars: SidebarsConfig = { documentationSidebar: [ { - label: "Getting Started", + label: "👋 Getting Started", ...CATEGORY_SECTION_HEADER_MIXIN, items: [ "introduction", @@ -39,84 +39,74 @@ const sidebars: SidebarsConfig = { ], }, { - label: "Product Walkthrough", + label: "🤖 Product Walkthrough", ...CATEGORY_SECTION_HEADER_MIXIN, items: [ { type: "category", collapsible: true, collapsed: false, - label: "Core Types", - link: { type: "doc", id: "guides/core-types/index" }, + label: "LLM Application Tracing", + link: { type: "doc", id: "guides/tracking/index" }, items: [ - "guides/core-types/models", - "guides/core-types/datasets", - "guides/core-types/evaluations", + "guides/tracking/tracing", + "guides/tracking/ops", + "guides/tracking/objects", ], }, + "guides/core-types/models", + "guides/core-types/datasets", + "guides/core-types/evaluations", + "guides/tracking/feedback", { type: "category", collapsible: true, - collapsed: false, - label: "Tracking", - link: { type: "doc", id: "guides/tracking/index" }, - items: [ - "guides/tracking/objects", - "guides/tracking/ops", - "guides/tracking/tracing", - "guides/tracking/feedback", - ], + collapsed: true, + label: "Tools & Utilities", + link: { type: "doc", id: "guides/tools/index" }, + items: ["guides/tools/serve", "guides/tools/deploy"], }, + ], + }, + { + label: "🔥 Integrations", + ...CATEGORY_SECTION_HEADER_MIXIN, + link: { type: "doc", id: "guides/integrations/index" }, + items: [ { type: "category", collapsible: true, - collapsed: false, - label: "Integrations", - link: { type: "doc", id: "guides/integrations/index" }, + collapsed: true, + label: "LLM Providers", items: [ - { - type: "category", - collapsible: true, - collapsed: true, - label: "LLM Providers", - items: [ - "guides/integrations/openai", - "guides/integrations/anthropic", - "guides/integrations/cerebras", - "guides/integrations/cohere", - "guides/integrations/mistral", - "guides/integrations/together_ai", - "guides/integrations/groq", - "guides/integrations/openrouter", - "guides/integrations/litellm", - ], - }, - "guides/integrations/local_models", - { - type: "category", - collapsible: true, - collapsed: true, - label: "Frameworks", - items: [, - "guides/integrations/langchain", - "guides/integrations/llamaindex", - "guides/integrations/dspy", - ], - }, + "guides/integrations/openai", + "guides/integrations/anthropic", + "guides/integrations/cerebras", + "guides/integrations/cohere", + "guides/integrations/mistral", + "guides/integrations/google-gemini", + "guides/integrations/together_ai", + "guides/integrations/groq", + "guides/integrations/openrouter", + "guides/integrations/litellm", ], }, + "guides/integrations/local_models", { type: "category", collapsible: true, - collapsed: false, - label: "Tools", - link: { type: "doc", id: "guides/tools/index" }, - items: ["guides/tools/serve", "guides/tools/deploy"], + collapsed: true, + label: "Frameworks", + items: [, + "guides/integrations/langchain", + "guides/integrations/llamaindex", + "guides/integrations/dspy", + ], }, ], }, { - label: "Enterprise", + label: "🏭 Enterprise", ...CATEGORY_SECTION_HEADER_MIXIN, items: [ {