From 1082f75d2ea35527d536a288bbd027443501960c Mon Sep 17 00:00:00 2001 From: ishaan-jaff Date: Fri, 15 Sep 2023 12:40:57 -0700 Subject: [PATCH] add pytest on docs --- .../docs/completion/mock_requests.md | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/docs/my-website/docs/completion/mock_requests.md b/docs/my-website/docs/completion/mock_requests.md index 7a7d0970b1..4eabe601d6 100644 --- a/docs/my-website/docs/completion/mock_requests.md +++ b/docs/my-website/docs/completion/mock_requests.md @@ -1,4 +1,4 @@ -# Mock Requests +# Mock Requests - Save Testing Costs For testing purposes, you can use `completion()` with `mock_response` to mock calling the completion endpoint. @@ -26,18 +26,6 @@ for chunk in response: complete_response += chunk["choices"][0]["delta"]["content"] ``` -## set mock response -You can also customize the mock response text returned. By default it's set to - `This is a mock request`. But you can override this with `mock_response`. - -```python -model = "gpt-3.5-turbo" -messages = [{"role": "user", "content": "Hey, I'm a mock request"}] -response = litellm.mock_completion(model=model, messages=messages, mock_response="My custom mock response", stream=True) -for chunk in response: - print(chunk) # {'choices': [{'delta': {'role': 'assistant', 'content': 'My '}, 'finish_reason': None}]} - complete_response += chunk["choices"][0]["delta"]["content"] -``` - ## (Non-streaming) Mock Response Object ```json @@ -61,4 +49,24 @@ for chunk in response: "total_tokens": null } } +``` + +## Building a pytest function using `completion` with mock_response + +```python +from litellm import completion +import pytest + +def test_completion_openai(): + try: + response = completion( + model="gpt-3.5-turbo", + messages=[{"role":"user", "content":"Why is LiteLLM amazing?"}], + mock_response="LiteLLM is awesome" + ) + # Add any assertions here to check the response + print(response) + assert(response['choices'][0]['message']['content'] == "LiteLLM is awesome") + except Exception as e: + pytest.fail(f"Error occurred: {e}") ``` \ No newline at end of file