From 770a96330defb581be4656f7e662725c9a3570b6 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Sat, 6 Jul 2024 14:15:54 -0700 Subject: [PATCH] docs(user_keys.md): add instructor example to doczs --- docs/my-website/docs/proxy/user_keys.md | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/my-website/docs/proxy/user_keys.md b/docs/my-website/docs/proxy/user_keys.md index cc1d5fe821e..3e0fec7fbdf 100644 --- a/docs/my-website/docs/proxy/user_keys.md +++ b/docs/my-website/docs/proxy/user_keys.md @@ -173,6 +173,37 @@ console.log(message); ``` + + + +```python +from openai import OpenAI +import instructor +from pydantic import BaseModel + +my_proxy_api_key = "" # e.g. sk-1234 +my_proxy_base_url = "" # e.g. http://0.0.0.0:4000 + +# This enables response_model keyword +# from client.chat.completions.create +client = instructor.from_openai(OpenAI(api_key=my_proxy_api_key, base_url=my_proxy_base_url)) + +class UserDetail(BaseModel): + name: str + age: int + +user = client.chat.completions.create( + model="gemini-pro-flash", + response_model=UserDetail, + messages=[ + {"role": "user", "content": "Extract Jason is 25 years old"}, + ] +) + +assert isinstance(user, UserDetail) +assert user.name == "Jason" +assert user.age == 25 +```