diff --git a/examples/anthropic/javelin_anthropic_univ_endpoint.py b/examples/anthropic/javelin_anthropic_univ_endpoint.py index 410ac20..a08be62 100644 --- a/examples/anthropic/javelin_anthropic_univ_endpoint.py +++ b/examples/anthropic/javelin_anthropic_univ_endpoint.py @@ -18,7 +18,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration for Bedrock config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), ) client = JavelinClient(config) diff --git a/examples/anthropic/openai_compatible_univ_anthropic.py b/examples/anthropic/openai_compatible_univ_anthropic.py index 59cfef4..e5486af 100644 --- a/examples/anthropic/openai_compatible_univ_anthropic.py +++ b/examples/anthropic/openai_compatible_univ_anthropic.py @@ -15,7 +15,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), timeout=120, ) diff --git a/examples/azure-openai/azure_general_route.py b/examples/azure-openai/azure_general_route.py index 9a546d0..bcd074f 100644 --- a/examples/azure-openai/azure_general_route.py +++ b/examples/azure-openai/azure_general_route.py @@ -18,7 +18,7 @@ def init_azure_client_sync(): javelin_headers = {"x-api-key": javelin_api_key} client = AzureOpenAI( api_key=llm_api_key, - base_url="https://api-dev.javelin.live/v1/query/azure-openai", + base_url=f"{os.getenv('JAVELIN_BASE_URL')}/v1/query/azure-openai", default_headers=javelin_headers, api_version="2024-02-15-preview" ) diff --git a/examples/azure-openai/azure_openai_javelin_stream_&_non-stream.js b/examples/azure-openai/azure_openai_javelin_stream_&_non-stream.js index d360335..ad99739 100644 --- a/examples/azure-openai/azure_openai_javelin_stream_&_non-stream.js +++ b/examples/azure-openai/azure_openai_javelin_stream_&_non-stream.js @@ -4,12 +4,11 @@ import { Stream } from 'openai/streaming.mjs'; const javelinApiKey = ""; // javelin api key here const llmApiKey = ""; // llm api key -const javelinBaseUrl = 'https://api.javelin.live/v1/query'; async function getCompletion() { try { const routeName = 'AzureOpenAIRoute'; - const url = "https://api.javelin.live/v1/query/AzureOpenAIRoute"; + const url = `${process.env.JAVELIN_BASE_URL}/v1/query/${routeName}`; const response = await axios.post( url, diff --git a/examples/azure-openai/javelin_azureopenai_univ_endpoint.py b/examples/azure-openai/javelin_azureopenai_univ_endpoint.py index 75f555b..6861be0 100644 --- a/examples/azure-openai/javelin_azureopenai_univ_endpoint.py +++ b/examples/azure-openai/javelin_azureopenai_univ_endpoint.py @@ -14,7 +14,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), default_headers={ "Content-Type": "application/json", diff --git a/examples/azure-openai/langchain_azure_universal.py b/examples/azure-openai/langchain_azure_universal.py index b473ac1..8f72ab1 100644 --- a/examples/azure-openai/langchain_azure_universal.py +++ b/examples/azure-openai/langchain_azure_universal.py @@ -13,9 +13,7 @@ load_dotenv() azure_openai_api_key = os.getenv("AZURE_OPENAI_API_KEY") javelin_api_key = os.getenv("JAVELIN_API_KEY") -base_url = os.getenv( - "JAVELIN_BASE_URL", "https://api.javelin.live" -) # Default to generic base URL +base_url = os.getenv("JAVELIN_BASE_URL") # The name of your Azure deployment (e.g., "gpt-4") # or whatever you’ve set in Azure. Must also match x-javelin-model if diff --git a/examples/azure-openai/langchain_chatmodel_example.py b/examples/azure-openai/langchain_chatmodel_example.py index 91448c2..fe0a145 100644 --- a/examples/azure-openai/langchain_chatmodel_example.py +++ b/examples/azure-openai/langchain_chatmodel_example.py @@ -4,9 +4,10 @@ dotenv.load_dotenv() from langchain_openai import AzureChatOpenAI - +url = os.path.join(os.getenv("JAVELIN_BASE_URL"), "v1") +print(url) model = AzureChatOpenAI( - azure_endpoint="https://api-dev.javelin.live/v1", + azure_endpoint=url, azure_deployment="gpt35", openai_api_version="2023-03-15-preview", extra_headers={"x-javelin-route": "azureopenai_univ", "x-api-key": os.environ.get("JAVELIN_API_KEY")} diff --git a/examples/azure-openai/openai_azureopenai_testing.ipynb b/examples/azure-openai/openai_azureopenai_testing.ipynb index 82491af..aaad7c5 100644 --- a/examples/azure-openai/openai_azureopenai_testing.ipynb +++ b/examples/azure-openai/openai_azureopenai_testing.ipynb @@ -1 +1,984 @@ -{"cells":[{"cell_type":"markdown","id":"57512b87","metadata":{},"source":["## Open Ai Responses"]},{"cell_type":"code","execution_count":null,"id":"a8a8befb-eb0c-4976-8d51-910b6ef97a72","metadata":{"id":"a8a8befb-eb0c-4976-8d51-910b6ef97a72","outputId":"7fa13644-7f0a-4075-d484-2be11de3b013"},"outputs":[{"name":"stderr","output_type":"stream","text":["/Users/dhruvyadav/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n"," warnings.warn(\n"]}],"source":["import openai"]},{"cell_type":"code","execution_count":null,"id":"9f204681-2fcc-401e-aecd-cae5af3b507b","metadata":{"id":"9f204681-2fcc-401e-aecd-cae5af3b507b"},"outputs":[],"source":["openai.api_key = \"\" # your api key"]},{"cell_type":"code","execution_count":null,"id":"e509f9de-bbe5-4c00-a889-cb746d1427c6","metadata":{"id":"e509f9de-bbe5-4c00-a889-cb746d1427c6","outputId":"77dc7ab4-af84-4553-809b-c46154eabc19"},"outputs":[{"data":{"text/plain":[" JSON: {\n"," \"object\": \"list\",\n"," \"data\": [\n"," {\n"," \"id\": \"gpt-4o-audio-preview-2024-10-01\",\n"," \"object\": \"model\",\n"," \"created\": 1727389042,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini-audio-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1734387424,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-realtime-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1727659998,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini-audio-preview-2024-12-17\",\n"," \"object\": \"model\",\n"," \"created\": 1734115920,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini-realtime-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1734387380,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"dall-e-2\",\n"," \"object\": \"model\",\n"," \"created\": 1698798177,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo\",\n"," \"object\": \"model\",\n"," \"created\": 1677610602,\n"," \"owned_by\": \"openai\"\n"," },\n"," {\n"," \"id\": \"o1-preview-2024-09-12\",\n"," \"object\": \"model\",\n"," \"created\": 1725648865,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo-0125\",\n"," \"object\": \"model\",\n"," \"created\": 1706048358,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"o1-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1725648897,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo-instruct\",\n"," \"object\": \"model\",\n"," \"created\": 1692901427,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini\",\n"," \"object\": \"model\",\n"," \"created\": 1721172741,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini-2024-07-18\",\n"," \"object\": \"model\",\n"," \"created\": 1721172717,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"babbage-002\",\n"," \"object\": \"model\",\n"," \"created\": 1692634615,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"o1-mini\",\n"," \"object\": \"model\",\n"," \"created\": 1725649008,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"o1-mini-2024-09-12\",\n"," \"object\": \"model\",\n"," \"created\": 1725648979,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"whisper-1\",\n"," \"object\": \"model\",\n"," \"created\": 1677532384,\n"," \"owned_by\": \"openai-internal\"\n"," },\n"," {\n"," \"id\": \"dall-e-3\",\n"," \"object\": \"model\",\n"," \"created\": 1698785189,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"chatgpt-4o-latest\",\n"," \"object\": \"model\",\n"," \"created\": 1723515131,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-realtime-preview-2024-10-01\",\n"," \"object\": \"model\",\n"," \"created\": 1727131766,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-2024-11-20\",\n"," \"object\": \"model\",\n"," \"created\": 1731975040,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4-1106-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1698957206,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"omni-moderation-latest\",\n"," \"object\": \"model\",\n"," \"created\": 1731689265,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"omni-moderation-2024-09-26\",\n"," \"object\": \"model\",\n"," \"created\": 1732734466,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"tts-1-hd-1106\",\n"," \"object\": \"model\",\n"," \"created\": 1699053533,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4\",\n"," \"object\": \"model\",\n"," \"created\": 1687882411,\n"," \"owned_by\": \"openai\"\n"," },\n"," {\n"," \"id\": \"tts-1-hd\",\n"," \"object\": \"model\",\n"," \"created\": 1699046015,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"davinci-002\",\n"," \"object\": \"model\",\n"," \"created\": 1692634301,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"text-embedding-ada-002\",\n"," \"object\": \"model\",\n"," \"created\": 1671217299,\n"," \"owned_by\": \"openai-internal\"\n"," },\n"," {\n"," \"id\": \"gpt-4-turbo\",\n"," \"object\": \"model\",\n"," \"created\": 1712361441,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"tts-1\",\n"," \"object\": \"model\",\n"," \"created\": 1681940951,\n"," \"owned_by\": \"openai-internal\"\n"," },\n"," {\n"," \"id\": \"tts-1-1106\",\n"," \"object\": \"model\",\n"," \"created\": 1699053241,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo-instruct-0914\",\n"," \"object\": \"model\",\n"," \"created\": 1694122472,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4-0125-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1706037612,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4-turbo-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1706037777,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-mini-realtime-preview-2024-12-17\",\n"," \"object\": \"model\",\n"," \"created\": 1734112601,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-audio-preview\",\n"," \"object\": \"model\",\n"," \"created\": 1727460443,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4-0613\",\n"," \"object\": \"model\",\n"," \"created\": 1686588896,\n"," \"owned_by\": \"openai\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-2024-05-13\",\n"," \"object\": \"model\",\n"," \"created\": 1715368132,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"text-embedding-3-small\",\n"," \"object\": \"model\",\n"," \"created\": 1705948997,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4-turbo-2024-04-09\",\n"," \"object\": \"model\",\n"," \"created\": 1712601677,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo-1106\",\n"," \"object\": \"model\",\n"," \"created\": 1698959748,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-3.5-turbo-16k\",\n"," \"object\": \"model\",\n"," \"created\": 1683758102,\n"," \"owned_by\": \"openai-internal\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-audio-preview-2024-12-17\",\n"," \"object\": \"model\",\n"," \"created\": 1734034239,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-2024-08-06\",\n"," \"object\": \"model\",\n"," \"created\": 1722814719,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o\",\n"," \"object\": \"model\",\n"," \"created\": 1715367049,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"gpt-4o-realtime-preview-2024-12-17\",\n"," \"object\": \"model\",\n"," \"created\": 1733945430,\n"," \"owned_by\": \"system\"\n"," },\n"," {\n"," \"id\": \"text-embedding-3-large\",\n"," \"object\": \"model\",\n"," \"created\": 1705953180,\n"," \"owned_by\": \"system\"\n"," }\n"," ]\n","}"]},"execution_count":5,"metadata":{},"output_type":"execute_result"}],"source":["openai.Model.list()"]},{"cell_type":"code","execution_count":null,"id":"2d6d8365-3e0a-41ed-bd31-2fb20b1112ff","metadata":{"id":"2d6d8365-3e0a-41ed-bd31-2fb20b1112ff"},"outputs":[],"source":["import openai\n","\n","def invoke_openai(prompt, streaming=False):\n","\n"," messages = [{\"role\": \"user\", \"content\": prompt}]\n","\n"," if streaming:\n"," response = openai.ChatCompletion.create(\n"," model=\"gpt-3.5-turbo\",\n"," messages=messages,\n"," max_tokens=100,\n"," stream=True\n"," )\n"," print(response)\n"," for chunk in response:\n"," print(chunk)\n"," print(chunk.choices[0].delta.get(\"content\", \"\"), end=\"\", flush=True)\n"," else:\n"," response = openai.ChatCompletion.create(\n"," model=\"gpt-3.5-turbo\",\n"," messages=messages,\n"," max_tokens=100\n"," )\n"," return response.choices[0].message[\"content\"]\n"]},{"cell_type":"code","execution_count":null,"id":"de5ab2df-a81c-4581-9f02-8b079b3c021d","metadata":{"id":"de5ab2df-a81c-4581-9f02-8b079b3c021d"},"outputs":[],"source":["\n","prompt_text = \"Tell me a joke about programming.\"\n"]},{"cell_type":"code","execution_count":null,"id":"55c456e8-2852-4e47-b1fd-720525041cb8","metadata":{"id":"55c456e8-2852-4e47-b1fd-720525041cb8","outputId":"e4ed04d9-a5f7-426b-8bcb-c214d09f99ea"},"outputs":[{"name":"stdout","output_type":"stream","text":["OpenAI Non-Streaming Response:\n","Why do programmers prefer dark mode?\n","\n","Because light attracts bugs!\n"]}],"source":["# OpenAI Non-Streaming Response\n","print(\"OpenAI Non-Streaming Response:\")\n","print(invoke_openai(prompt_text, streaming=False))"]},{"cell_type":"code","execution_count":null,"id":"1c4d67ba-d8d6-4f90-8753-130bf354b509","metadata":{"id":"1c4d67ba-d8d6-4f90-8753-130bf354b509","outputId":"87273bd4-bdcd-401d-d519-0d04c9e28349"},"outputs":[{"name":"stdout","output_type":"stream","text":["\n","OpenAI Streaming Response:\n",". at 0x107d36430>\n","{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"role\": \"assistant\",\n"," \"content\": \"\",\n"," \"refusal\": null\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n","{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \"Why\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n","Why{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" do\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," do{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" programmers\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," programmers{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" prefer\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," prefer{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" dark\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," dark{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" mode\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," mode{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \"?\\n\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n","?\n","{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \"Because\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n","Because{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" light\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," light{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" attracts\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," attracts{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \" bugs\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n"," bugs{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {\n"," \"content\": \"!\"\n"," },\n"," \"logprobs\": null,\n"," \"finish_reason\": null\n"," }\n"," ]\n","}\n","!{\n"," \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n"," \"object\": \"chat.completion.chunk\",\n"," \"created\": 1737981760,\n"," \"model\": \"gpt-3.5-turbo-0125\",\n"," \"service_tier\": \"default\",\n"," \"system_fingerprint\": null,\n"," \"choices\": [\n"," {\n"," \"index\": 0,\n"," \"delta\": {},\n"," \"logprobs\": null,\n"," \"finish_reason\": \"stop\"\n"," }\n"," ]\n","}\n"]}],"source":["print(\"\\nOpenAI Streaming Response:\")\n","invoke_openai(prompt_text, streaming=True)"]},{"cell_type":"markdown","id":"3PfaxC2_bH4c","metadata":{"id":"3PfaxC2_bH4c"},"source":["## Using Javeline Rout\n"]},{"cell_type":"markdown","id":"4bf1da03","metadata":{},"source":["## OPEN AI"]},{"cell_type":"code","execution_count":1,"id":"212fb526-8909-4f3d-8509-e80e801a7529","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":7705,"status":"ok","timestamp":1738059635558,"user":{"displayName":"Druv Yadav","userId":"12017851883787101284"},"user_tz":-330},"id":"212fb526-8909-4f3d-8509-e80e801a7529","outputId":"d2b23901-26d3-4a61-80fc-d643416e2cda"},"outputs":[{"name":"stdout","output_type":"stream","text":["client \n","\n","Sugar, also known as sucrose, has a chemical composition of C12H22O11. This means that each sucrose molecule is made up of 12 carbon atoms, 22 hydrogen atoms, and 11 oxygen atoms."]}],"source":["from openai import AzureOpenAI\n","from openai import OpenAI\n","import os\n","\n","# Javelin Headers\n","javelin_api_key =\"\" # javelin api key\n","llm_api_key=\"\" # llm api key\n","\n","javelin_headers = {\n"," \"x-api-key\": javelin_api_key,\n"," \"x-javelin-route\": \"OpenAIInspect\"\n","}\n","\n","client = OpenAI(api_key=llm_api_key,\n"," base_url=\"https://api-dev.javelin.live/v1/query\",\n"," default_headers=javelin_headers)\n","print(\"client\",client)\n","completion = client.chat.completions.create(\n"," model=\"gpt-3.5-turbo\",\n"," messages=[\n"," {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n"," {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n"," ]\n",")\n","\n","print(completion.model_dump_json(indent=2))\n","\n","# # Streaming Responses\n","stream = client.chat.completions.create(\n"," model=\"gpt-3.5-turbo\",\n"," messages=[\n"," {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n"," {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n"," ],\n"," stream=True\n",")\n","print(stream)\n","for chunk in stream:\n"," # print(chunk)\n"," if chunk.choices:\n"," print(chunk.choices[0].delta.content or \"\", end=\"\")"]},{"cell_type":"markdown","id":"HZRR5thfbUl3","metadata":{"id":"HZRR5thfbUl3"},"source":["## Azure open Ai"]},{"cell_type":"code","execution_count":2,"id":"18581ee6-2421-447a-8f6f-a93b4fb13c55","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":1734,"status":"ok","timestamp":1738059670176,"user":{"displayName":"Druv Yadav","userId":"12017851883787101284"},"user_tz":-330},"id":"18581ee6-2421-447a-8f6f-a93b4fb13c55","outputId":"06a30fd5-988d-450b-cf52-a968336d6a08"},"outputs":[{"name":"stdout","output_type":"stream","text":["ChatCompletionChunk(id='', choices=[], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=None, prompt_filter_results=[{'prompt_index': 0, 'content_filter_results': {'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}}}])\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='', function_call=None, refusal=None, role='assistant', tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='The', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' chemical', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' composition', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' sugar', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' generally', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' refers', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' to', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' suc', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='rose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' which', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' is', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' a', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' dis', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='ac', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='char', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='ide', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' composed', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' glucose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' and', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' fr', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='uctose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='.', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' The', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' molecular', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' formula', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' suc', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='rose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' is', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' C', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='12', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='H', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='22', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='O', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='11', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' which', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' means', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' that', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' it', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' contains', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='12', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' carbon', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='22', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' hydrogen', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' and', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='11', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' oxygen', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='.', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n","ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None), finish_reason='stop', index=0, logprobs=None, content_filter_results={})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n"]}],"source":["from openai import AzureOpenAI\n","import os\n","\n","llm_api_key = \"\" # llm api key\n","javelin_headers = {\n"," \"x-api-key\": javelin_api_key,\n"," \"x-javelin-route\": \"AzureOpenAIRoute\"\n","}\n","\n","client = AzureOpenAI(api_key=llm_api_key,\n","base_url=\"https://api-dev.javelin.live/v1/query\",\n","default_headers=javelin_headers,\n","api_version=\"2023-07-01-preview\")\n","\n","completion = client.chat.completions.create(\n"," model=\"gpt-3.5\",\n"," messages=[\n"," {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n"," {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n"," ]\n",")\n","# print(bas)\n","print(completion.model_dump_json(indent=2))\n","\n","# Streaming Responses\n","stream = client.chat.completions.create(\n"," model=\"gpt-3.5-turbo\",\n"," messages=[\n"," {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n"," {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n"," ],\n"," stream=True\n",")\n","# print(stream)\n","for chunk in stream:\n"," print(chunk)\n"," # if chunk.choices:\n"," # print(chunk.choices[0].delta.content or \"\", end=\"\")"]},{"cell_type":"code","execution_count":null,"id":"4X2xd3lrbdNw","metadata":{"id":"4X2xd3lrbdNw"},"outputs":[],"source":[]}],"metadata":{"colab":{"provenance":[]},"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.9.6"}},"nbformat":4,"nbformat_minor":5} +{ + "cells": [ + { + "cell_type": "markdown", + "id": "57512b87", + "metadata": {}, + "source": [ + "## Open Ai Responses" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8a8befb-eb0c-4976-8d51-910b6ef97a72", + "metadata": { + "id": "a8a8befb-eb0c-4976-8d51-910b6ef97a72", + "outputId": "7fa13644-7f0a-4075-d484-2be11de3b013" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/dhruvyadav/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "import openai" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f204681-2fcc-401e-aecd-cae5af3b507b", + "metadata": { + "id": "9f204681-2fcc-401e-aecd-cae5af3b507b" + }, + "outputs": [], + "source": [ + "openai.api_key = \"\" # your api key" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e509f9de-bbe5-4c00-a889-cb746d1427c6", + "metadata": { + "id": "e509f9de-bbe5-4c00-a889-cb746d1427c6", + "outputId": "77dc7ab4-af84-4553-809b-c46154eabc19" + }, + "outputs": [ + { + "data": { + "text/plain": [ + " JSON: {\n", + " \"object\": \"list\",\n", + " \"data\": [\n", + " {\n", + " \"id\": \"gpt-4o-audio-preview-2024-10-01\",\n", + " \"object\": \"model\",\n", + " \"created\": 1727389042,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini-audio-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1734387424,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-realtime-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1727659998,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini-audio-preview-2024-12-17\",\n", + " \"object\": \"model\",\n", + " \"created\": 1734115920,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini-realtime-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1734387380,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"dall-e-2\",\n", + " \"object\": \"model\",\n", + " \"created\": 1698798177,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo\",\n", + " \"object\": \"model\",\n", + " \"created\": 1677610602,\n", + " \"owned_by\": \"openai\"\n", + " },\n", + " {\n", + " \"id\": \"o1-preview-2024-09-12\",\n", + " \"object\": \"model\",\n", + " \"created\": 1725648865,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo-0125\",\n", + " \"object\": \"model\",\n", + " \"created\": 1706048358,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"o1-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1725648897,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo-instruct\",\n", + " \"object\": \"model\",\n", + " \"created\": 1692901427,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini\",\n", + " \"object\": \"model\",\n", + " \"created\": 1721172741,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini-2024-07-18\",\n", + " \"object\": \"model\",\n", + " \"created\": 1721172717,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"babbage-002\",\n", + " \"object\": \"model\",\n", + " \"created\": 1692634615,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"o1-mini\",\n", + " \"object\": \"model\",\n", + " \"created\": 1725649008,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"o1-mini-2024-09-12\",\n", + " \"object\": \"model\",\n", + " \"created\": 1725648979,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"whisper-1\",\n", + " \"object\": \"model\",\n", + " \"created\": 1677532384,\n", + " \"owned_by\": \"openai-internal\"\n", + " },\n", + " {\n", + " \"id\": \"dall-e-3\",\n", + " \"object\": \"model\",\n", + " \"created\": 1698785189,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"chatgpt-4o-latest\",\n", + " \"object\": \"model\",\n", + " \"created\": 1723515131,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-realtime-preview-2024-10-01\",\n", + " \"object\": \"model\",\n", + " \"created\": 1727131766,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-2024-11-20\",\n", + " \"object\": \"model\",\n", + " \"created\": 1731975040,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-1106-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1698957206,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"omni-moderation-latest\",\n", + " \"object\": \"model\",\n", + " \"created\": 1731689265,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"omni-moderation-2024-09-26\",\n", + " \"object\": \"model\",\n", + " \"created\": 1732734466,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"tts-1-hd-1106\",\n", + " \"object\": \"model\",\n", + " \"created\": 1699053533,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4\",\n", + " \"object\": \"model\",\n", + " \"created\": 1687882411,\n", + " \"owned_by\": \"openai\"\n", + " },\n", + " {\n", + " \"id\": \"tts-1-hd\",\n", + " \"object\": \"model\",\n", + " \"created\": 1699046015,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"davinci-002\",\n", + " \"object\": \"model\",\n", + " \"created\": 1692634301,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"text-embedding-ada-002\",\n", + " \"object\": \"model\",\n", + " \"created\": 1671217299,\n", + " \"owned_by\": \"openai-internal\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-turbo\",\n", + " \"object\": \"model\",\n", + " \"created\": 1712361441,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"tts-1\",\n", + " \"object\": \"model\",\n", + " \"created\": 1681940951,\n", + " \"owned_by\": \"openai-internal\"\n", + " },\n", + " {\n", + " \"id\": \"tts-1-1106\",\n", + " \"object\": \"model\",\n", + " \"created\": 1699053241,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo-instruct-0914\",\n", + " \"object\": \"model\",\n", + " \"created\": 1694122472,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-0125-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1706037612,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-turbo-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1706037777,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-mini-realtime-preview-2024-12-17\",\n", + " \"object\": \"model\",\n", + " \"created\": 1734112601,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-audio-preview\",\n", + " \"object\": \"model\",\n", + " \"created\": 1727460443,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-0613\",\n", + " \"object\": \"model\",\n", + " \"created\": 1686588896,\n", + " \"owned_by\": \"openai\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-2024-05-13\",\n", + " \"object\": \"model\",\n", + " \"created\": 1715368132,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"text-embedding-3-small\",\n", + " \"object\": \"model\",\n", + " \"created\": 1705948997,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4-turbo-2024-04-09\",\n", + " \"object\": \"model\",\n", + " \"created\": 1712601677,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo-1106\",\n", + " \"object\": \"model\",\n", + " \"created\": 1698959748,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-3.5-turbo-16k\",\n", + " \"object\": \"model\",\n", + " \"created\": 1683758102,\n", + " \"owned_by\": \"openai-internal\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-audio-preview-2024-12-17\",\n", + " \"object\": \"model\",\n", + " \"created\": 1734034239,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-2024-08-06\",\n", + " \"object\": \"model\",\n", + " \"created\": 1722814719,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o\",\n", + " \"object\": \"model\",\n", + " \"created\": 1715367049,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"gpt-4o-realtime-preview-2024-12-17\",\n", + " \"object\": \"model\",\n", + " \"created\": 1733945430,\n", + " \"owned_by\": \"system\"\n", + " },\n", + " {\n", + " \"id\": \"text-embedding-3-large\",\n", + " \"object\": \"model\",\n", + " \"created\": 1705953180,\n", + " \"owned_by\": \"system\"\n", + " }\n", + " ]\n", + "}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "openai.Model.list()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d6d8365-3e0a-41ed-bd31-2fb20b1112ff", + "metadata": { + "id": "2d6d8365-3e0a-41ed-bd31-2fb20b1112ff" + }, + "outputs": [], + "source": [ + "import openai\n", + "\n", + "def invoke_openai(prompt, streaming=False):\n", + "\n", + " messages = [{\"role\": \"user\", \"content\": prompt}]\n", + "\n", + " if streaming:\n", + " response = openai.ChatCompletion.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=messages,\n", + " max_tokens=100,\n", + " stream=True\n", + " )\n", + " print(response)\n", + " for chunk in response:\n", + " print(chunk)\n", + " print(chunk.choices[0].delta.get(\"content\", \"\"), end=\"\", flush=True)\n", + " else:\n", + " response = openai.ChatCompletion.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=messages,\n", + " max_tokens=100\n", + " )\n", + " return response.choices[0].message[\"content\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de5ab2df-a81c-4581-9f02-8b079b3c021d", + "metadata": { + "id": "de5ab2df-a81c-4581-9f02-8b079b3c021d" + }, + "outputs": [], + "source": [ + "\n", + "prompt_text = \"Tell me a joke about programming.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55c456e8-2852-4e47-b1fd-720525041cb8", + "metadata": { + "id": "55c456e8-2852-4e47-b1fd-720525041cb8", + "outputId": "e4ed04d9-a5f7-426b-8bcb-c214d09f99ea" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI Non-Streaming Response:\n", + "Why do programmers prefer dark mode?\n", + "\n", + "Because light attracts bugs!\n" + ] + } + ], + "source": [ + "# OpenAI Non-Streaming Response\n", + "print(\"OpenAI Non-Streaming Response:\")\n", + "print(invoke_openai(prompt_text, streaming=False))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c4d67ba-d8d6-4f90-8753-130bf354b509", + "metadata": { + "id": "1c4d67ba-d8d6-4f90-8753-130bf354b509", + "outputId": "87273bd4-bdcd-401d-d519-0d04c9e28349" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "OpenAI Streaming Response:\n", + ". at 0x107d36430>\n", + "{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"role\": \"assistant\",\n", + " \"content\": \"\",\n", + " \"refusal\": null\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + "{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \"Why\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + "Why{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" do\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " do{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" programmers\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " programmers{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" prefer\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " prefer{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" dark\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " dark{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" mode\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " mode{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \"?\\n\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + "?\n", + "{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \"Because\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + "Because{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" light\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " light{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" attracts\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " attracts{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \" bugs\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + " bugs{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {\n", + " \"content\": \"!\"\n", + " },\n", + " \"logprobs\": null,\n", + " \"finish_reason\": null\n", + " }\n", + " ]\n", + "}\n", + "!{\n", + " \"id\": \"chatcmpl-AuIjofo7BjW0UJtJTWhVO5R2nDKRE\",\n", + " \"object\": \"chat.completion.chunk\",\n", + " \"created\": 1737981760,\n", + " \"model\": \"gpt-3.5-turbo-0125\",\n", + " \"service_tier\": \"default\",\n", + " \"system_fingerprint\": null,\n", + " \"choices\": [\n", + " {\n", + " \"index\": 0,\n", + " \"delta\": {},\n", + " \"logprobs\": null,\n", + " \"finish_reason\": \"stop\"\n", + " }\n", + " ]\n", + "}\n" + ] + } + ], + "source": [ + "print(\"\\nOpenAI Streaming Response:\")\n", + "invoke_openai(prompt_text, streaming=True)" + ] + }, + { + "cell_type": "markdown", + "id": "3PfaxC2_bH4c", + "metadata": { + "id": "3PfaxC2_bH4c" + }, + "source": [ + "## Using Javeline Rout\n" + ] + }, + { + "cell_type": "markdown", + "id": "4bf1da03", + "metadata": {}, + "source": [ + "## OPEN AI" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "212fb526-8909-4f3d-8509-e80e801a7529", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 7705, + "status": "ok", + "timestamp": 1738059635558, + "user": { + "displayName": "Druv Yadav", + "userId": "12017851883787101284" + }, + "user_tz": -330 + }, + "id": "212fb526-8909-4f3d-8509-e80e801a7529", + "outputId": "d2b23901-26d3-4a61-80fc-d643416e2cda" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "client \n", + "\n", + "Sugar, also known as sucrose, has a chemical composition of C12H22O11. This means that each sucrose molecule is made up of 12 carbon atoms, 22 hydrogen atoms, and 11 oxygen atoms." + ] + } + ], + "source": [ + "from openai import AzureOpenAI\n", + "from openai import OpenAI\n", + "import os\n", + "\n", + "# Javelin Headers\n", + "javelin_api_key =\"\" # javelin api key\n", + "llm_api_key=\"\" # llm api key\n", + "\n", + "javelin_headers = {\n", + " \"x-api-key\": javelin_api_key,\n", + " \"x-javelin-route\": \"OpenAIInspect\"\n", + "}\n", + "\n", + "client = OpenAI(api_key=llm_api_key,\n", + " base_url=os.path.join(os.getenv(\"JAVELIN_BASE_URL\"), \"v1\", \"query\"),\n", + " default_headers=javelin_headers)\n", + "print(\"client\",client)\n", + "completion = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n", + " ]\n", + ")\n", + "\n", + "print(completion.model_dump_json(indent=2))\n", + "\n", + "# # Streaming Responses\n", + "stream = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n", + " ],\n", + " stream=True\n", + ")\n", + "print(stream)\n", + "for chunk in stream:\n", + " # print(chunk)\n", + " if chunk.choices:\n", + " print(chunk.choices[0].delta.content or \"\", end=\"\")" + ] + }, + { + "cell_type": "markdown", + "id": "HZRR5thfbUl3", + "metadata": { + "id": "HZRR5thfbUl3" + }, + "source": [ + "## Azure open Ai" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "18581ee6-2421-447a-8f6f-a93b4fb13c55", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 1734, + "status": "ok", + "timestamp": 1738059670176, + "user": { + "displayName": "Druv Yadav", + "userId": "12017851883787101284" + }, + "user_tz": -330 + }, + "id": "18581ee6-2421-447a-8f6f-a93b4fb13c55", + "outputId": "06a30fd5-988d-450b-cf52-a968336d6a08" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ChatCompletionChunk(id='', choices=[], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=None, prompt_filter_results=[{'prompt_index': 0, 'content_filter_results': {'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}}}])\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='', function_call=None, refusal=None, role='assistant', tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='The', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' chemical', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' composition', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' sugar', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' generally', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' refers', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' to', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' suc', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='rose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' which', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' is', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' a', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' dis', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='ac', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='char', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='ide', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' composed', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' glucose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' and', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' fr', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='uctose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='.', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' The', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' molecular', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' formula', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' of', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' suc', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='rose', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' is', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' C', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='12', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='H', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='22', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='O', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='11', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' which', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' means', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' that', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' it', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' contains', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='12', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' carbon', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='22', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' hydrogen', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=',', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' and', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' ', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='11', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' oxygen', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=' atoms', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content='.', function_call=None, refusal=None, role=None, tool_calls=None), finish_reason=None, index=0, logprobs=None, content_filter_results={'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': False, 'severity': 'safe'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n", + "ChatCompletionChunk(id='chatcmpl-Aud0PawArrpK7uuWKCqFnQ4xd0ePK', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None), finish_reason='stop', index=0, logprobs=None, content_filter_results={})], created=1738059669, model='gpt-35-turbo', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)\n" + ] + } + ], + "source": [ + "from openai import AzureOpenAI\n", + "import os\n", + "\n", + "llm_api_key = \"\" # llm api key\n", + "javelin_headers = {\n", + " \"x-api-key\": javelin_api_key,\n", + " \"x-javelin-route\": \"AzureOpenAIRoute\"\n", + "}\n", + "\n", + "client = AzureOpenAI(api_key=llm_api_key,\n", + "base_url=\"https://api-dev.javelin.live/v1/query\",\n", + "default_headers=javelin_headers,\n", + "api_version=\"2023-07-01-preview\")\n", + "\n", + "completion = client.chat.completions.create(\n", + " model=\"gpt-3.5\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n", + " ]\n", + ")\n", + "# print(bas)\n", + "print(completion.model_dump_json(indent=2))\n", + "\n", + "# Streaming Responses\n", + "stream = client.chat.completions.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"Hello, you are a helpful scientific assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What is the chemical composition of sugar?\"}\n", + " ],\n", + " stream=True\n", + ")\n", + "# print(stream)\n", + "for chunk in stream:\n", + " print(chunk)\n", + " # if chunk.choices:\n", + " # print(chunk.choices[0].delta.content or \"\", end=\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4X2xd3lrbdNw", + "metadata": { + "id": "4X2xd3lrbdNw" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/azure-openai/openai_compatible_univ_azure.py b/examples/azure-openai/openai_compatible_univ_azure.py index 2ca5095..f6b3fab 100644 --- a/examples/azure-openai/openai_compatible_univ_azure.py +++ b/examples/azure-openai/openai_compatible_univ_azure.py @@ -17,7 +17,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), timeout=120, ) diff --git a/examples/bedrock/bedrock_client_universal.py b/examples/bedrock/bedrock_client_universal.py index 71d2b9e..8c71228 100644 --- a/examples/bedrock/bedrock_client_universal.py +++ b/examples/bedrock/bedrock_client_universal.py @@ -23,7 +23,8 @@ def init_bedrock(): # Initialize Javelin Client (if you want the route registered) config = JavelinConfig( - javelin_api_key=os.getenv("JAVELIN_API_KEY") # Replace with your Javelin API key + javelin_api_key=os.getenv("JAVELIN_API_KEY"), # Replace with your Javelin API key + base_url=os.getenv("JAVELIN_BASE_URL") ) javelin_client = JavelinClient(config) diff --git a/examples/bedrock/bedrock_general_route.py b/examples/bedrock/bedrock_general_route.py index 3c88bd1..ad160ff 100644 --- a/examples/bedrock/bedrock_general_route.py +++ b/examples/bedrock/bedrock_general_route.py @@ -56,7 +56,7 @@ def get_bedrock_client(): client = boto3.client( service_name="bedrock-runtime", region_name="us-east-1", - endpoint_url="https://api-dev.javelin.live/v1/", + endpoint_url=os.path.join(os.getenv("JAVELIN_BASE_URL"), "v1"), aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key ) diff --git a/examples/bedrock/javelin_bedrock_univ_endpoint.py b/examples/bedrock/javelin_bedrock_univ_endpoint.py index 5b52eac..76c2be2 100644 --- a/examples/bedrock/javelin_bedrock_univ_endpoint.py +++ b/examples/bedrock/javelin_bedrock_univ_endpoint.py @@ -14,7 +14,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration for Bedrock config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), ) client = JavelinClient(config) diff --git a/examples/bedrock/langchain-bedrock-universal.py b/examples/bedrock/langchain-bedrock-universal.py index 61199c7..c785ef6 100644 --- a/examples/bedrock/langchain-bedrock-universal.py +++ b/examples/bedrock/langchain-bedrock-universal.py @@ -27,7 +27,8 @@ def init_bedrock(): # Initialize Javelin client config = JavelinConfig( - javelin_api_key=os.getenv("JAVELIN_API_KEY") # add your Javelin API key here + javelin_api_key=os.getenv("JAVELIN_API_KEY"), # add your Javelin API key here + base_url=os.getenv("JAVELIN_BASE_URL") ) javelin_client = JavelinClient(config) diff --git a/examples/bedrock/openai_compatible_univ_bedrock.py b/examples/bedrock/openai_compatible_univ_bedrock.py index 04716ce..a089e6f 100644 --- a/examples/bedrock/openai_compatible_univ_bedrock.py +++ b/examples/bedrock/openai_compatible_univ_bedrock.py @@ -12,7 +12,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), timeout=120, ) diff --git a/examples/gemini/document_processing.py b/examples/gemini/document_processing.py index 06cf2c9..abb350d 100644 --- a/examples/gemini/document_processing.py +++ b/examples/gemini/document_processing.py @@ -26,6 +26,7 @@ def initialize_javelin_client(): javelin_api_key = os.getenv("JAVELIN_API_KEY") config = JavelinConfig( javelin_api_key=javelin_api_key, + base_url=os.getenv("JAVELIN_BASE_URL") ) return JavelinClient(config) diff --git a/examples/gemini/gemini-universal.py b/examples/gemini/gemini-universal.py index e4fceaa..9d0e0ab 100644 --- a/examples/gemini/gemini-universal.py +++ b/examples/gemini/gemini-universal.py @@ -39,7 +39,7 @@ def init_gemini_client(): # Javelin configuration javelin_api_key = os.getenv("JAVELIN_API_KEY") # define your javelin api key here - config = JavelinConfig(javelin_api_key=javelin_api_key) + config = JavelinConfig(javelin_api_key=javelin_api_key, base_url=os.getenv("JAVELIN_BASE_URL")) client = JavelinClient(config) rout_name = "google_univ" # define your universal route name here # Register the Gemini client with Javelin diff --git a/examples/gemini/javelin_gemini_univ_endpoint.py b/examples/gemini/javelin_gemini_univ_endpoint.py index ddc8de8..41adc2a 100644 --- a/examples/gemini/javelin_gemini_univ_endpoint.py +++ b/examples/gemini/javelin_gemini_univ_endpoint.py @@ -14,7 +14,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), llm_api_key=os.getenv("OPENAI_API_KEY"), ) diff --git a/examples/gemini/langchain_chatmodel_example.py b/examples/gemini/langchain_chatmodel_example.py index 27ca75a..517026d 100644 --- a/examples/gemini/langchain_chatmodel_example.py +++ b/examples/gemini/langchain_chatmodel_example.py @@ -5,7 +5,7 @@ from langchain.chat_models import init_chat_model -model = init_chat_model("gemini-1.5-flash", model_provider="openai", base_url="https://api-dev.javelin.live/v1", +model = init_chat_model("gemini-1.5-flash", model_provider="openai", base_url=f"{os.getenv('JAVELIN_BASE_URL')}/v1", extra_headers={"x-javelin-route": "google_univ", "x-api-key": os.environ.get("JAVELIN_API_KEY"), "Authorization": f"Bearer {os.environ.get('GEMINI_API_KEY')}"}) print(model.invoke("write a poem about a cat")) \ No newline at end of file diff --git a/examples/gemini/openai_compatible_univ_gemini.py b/examples/gemini/openai_compatible_univ_gemini.py index 20ddd02..6d7df0a 100644 --- a/examples/gemini/openai_compatible_univ_gemini.py +++ b/examples/gemini/openai_compatible_univ_gemini.py @@ -17,7 +17,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), llm_api_key=os.getenv("OPENAI_API_KEY"), timeout=120, diff --git a/examples/gemini/strawberry.py b/examples/gemini/strawberry.py index 8368156..55163ca 100644 --- a/examples/gemini/strawberry.py +++ b/examples/gemini/strawberry.py @@ -47,7 +47,7 @@ def openai_chat_completions(): def initialize_javelin_client(): javelin_api_key = os.getenv("JAVELIN_API_KEY") config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=javelin_api_key, ) return JavelinClient(config) diff --git a/examples/mistral/langchain_chatmodel_example.py b/examples/mistral/langchain_chatmodel_example.py index 3bba0a4..c74ba2a 100644 --- a/examples/mistral/langchain_chatmodel_example.py +++ b/examples/mistral/langchain_chatmodel_example.py @@ -5,7 +5,7 @@ from langchain.chat_models import init_chat_model -model = init_chat_model("mistral-large-latest", model_provider="openai", base_url="https://api-dev.javelin.live/v1", +model = init_chat_model("mistral-large-latest", model_provider="openai", base_url=f"{os.getenv('JAVELIN_BASE_URL')}/v1", extra_headers={"x-javelin-route": "mistral_univ", "x-api-key": os.environ.get("JAVELIN_API_KEY"), "Authorization": f"Bearer {os.environ.get('MISTRAL_API_KEY')}"}) print(model.invoke("write a poem about a cat")) \ No newline at end of file diff --git a/examples/openai/javelin_openai_univ_endpoint.py b/examples/openai/javelin_openai_univ_endpoint.py index f19aa21..2ce8a6f 100644 --- a/examples/openai/javelin_openai_univ_endpoint.py +++ b/examples/openai/javelin_openai_univ_endpoint.py @@ -14,7 +14,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), llm_api_key=os.getenv("OPENAI_API_KEY"), ) diff --git a/examples/openai/langchain-openai-universal.py b/examples/openai/langchain-openai-universal.py index 60cb393..ddcf553 100644 --- a/examples/openai/langchain-openai-universal.py +++ b/examples/openai/langchain-openai-universal.py @@ -20,7 +20,7 @@ MODEL_NAME_CHAT = "gpt-3.5-turbo" # For chat MODEL_NAME_EMBED = "text-embedding-ada-002" ROUTE_NAME = "openai_univ" -BASE_URL = os.getenv("JAVELIN_BASE_URL", "https://api.javelin.live") # Default base URL +BASE_URL = os.getenv("JAVELIN_BASE_URL") # Default base URL def init_chat_llm_non_streaming(): diff --git a/examples/openai/langchain_callback_example.py b/examples/openai/langchain_callback_example.py new file mode 100644 index 0000000..4f1e358 --- /dev/null +++ b/examples/openai/langchain_callback_example.py @@ -0,0 +1,61 @@ +import dotenv +import os +from typing import Any, Dict, List + +from langchain_core.callbacks import BaseCallbackHandler +from langchain_core.messages import BaseMessage +from langchain.chat_models import init_chat_model + +dotenv.load_dotenv() + +class HeaderCallbackHandler(BaseCallbackHandler): + """Custom callback handler that modifies the headers on chat model start.""" + + def __init__(self): + self.api_key = os.environ.get("JAVELIN_API_KEY") + + def on_chain_start( + self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any + ) -> Any: + """Run when chain starts running.""" + print("Chain started") + print(serialized, inputs, kwargs) + + def on_chat_model_start( + self, serialized: Dict[str, Any], messages: List[List[BaseMessage]], **kwargs: Any + ) -> Any: + """Run when Chat Model starts running.""" + # The serialized dict contains the model configuration + print(self.__super().on_chat_model_start(serialized, messages, **kwargs)) + if "kwargs" in serialized: + # Add or update the headers in the model kwargs + if "model_kwargs" not in serialized["kwargs"]: + serialized["kwargs"]["model_kwargs"] = {} + if "extra_headers" not in serialized["kwargs"]["model_kwargs"]: + serialized["kwargs"]["model_kwargs"]["extra_headers"] = {} + + # Determine the route based on the model provider + provider = serialized.get("name", "").lower() + route = "azureopenai_univ" if "azure" in provider else "openai_univ" + + headers = { + "x-javelin-route": route, + "x-api-key": self.api_key + } + serialized["kwargs"]["model_kwargs"]["extra_headers"].update(headers) + print(f"Modified headers to: {headers}") + +# Initialize the callback handler +callback_handler = HeaderCallbackHandler() + +# Initialize the chat model with the callback handler +model = init_chat_model( + "gpt-4o-mini", + model_provider="openai", + base_url="http://127.0.0.1:8000/v1", + extra_headers={"x-javelin-route": "openai_univ", "x-api-key": os.environ.get("JAVELIN_API_KEY")}, + callbacks=[callback_handler] # Add our custom callback handler +) + +# Test the model +print(model.invoke("Hello, world!")) \ No newline at end of file diff --git a/examples/openai/langchain_chatmodel_example.py b/examples/openai/langchain_chatmodel_example.py index 649258c..48d63f5 100644 --- a/examples/openai/langchain_chatmodel_example.py +++ b/examples/openai/langchain_chatmodel_example.py @@ -5,7 +5,7 @@ from langchain.chat_models import init_chat_model -model = init_chat_model("gpt-4o-mini", model_provider="openai", base_url="https://api-dev.javelin.live/v1", +model = init_chat_model("gpt-4o-mini", model_provider="openai", base_url=f"{os.getenv('JAVELIN_BASE_URL')}/v1", extra_headers={"x-javelin-route": "openai_univ", "x-api-key": os.environ.get("JAVELIN_API_KEY")}) print(model.invoke("Hello, world!")) \ No newline at end of file diff --git a/examples/openai/o1-03_function-calling.py b/examples/openai/o1-03_function-calling.py index e02b7e0..7a02033 100644 --- a/examples/openai/o1-03_function-calling.py +++ b/examples/openai/o1-03_function-calling.py @@ -19,7 +19,7 @@ def init_openai_client(): def init_javelin_client(openai_client, route_name="openai_univ"): javelin_api_key = os.getenv("JAVELIN_API_KEY") - config = JavelinConfig(javelin_api_key=javelin_api_key) + config = JavelinConfig(javelin_api_key=javelin_api_key, base_url=os.getenv("JAVELIN_BASE_URL")) client = JavelinClient(config) client.register_openai(openai_client, route_name=route_name) return client diff --git a/examples/openai/openai-azure-fun_calling.ipynb b/examples/openai/openai-azure-fun_calling.ipynb index a9331d1..668aa93 100644 --- a/examples/openai/openai-azure-fun_calling.ipynb +++ b/examples/openai/openai-azure-fun_calling.ipynb @@ -128,7 +128,7 @@ "\n", "def init_javelin_client(openai_client, route_name=\"openai_univ\"):\n", " javelin_api_key = os.getenv(\"JAVELIN_API_KEY\")\n", - " config = JavelinConfig(javelin_api_key=javelin_api_key)\n", + " config = JavelinConfig(javelin_api_key=javelin_api_key, base_url=os.getenv(\"JAVELIN_BASE_URL\"))\n", " client = JavelinClient(config)\n", " client.register_openai(openai_client, route_name=route_name)\n", " return client\n", diff --git a/examples/openai/openai-universal.py b/examples/openai/openai-universal.py index c6aa3ce..0765cad 100644 --- a/examples/openai/openai-universal.py +++ b/examples/openai/openai-universal.py @@ -39,6 +39,7 @@ def init_javelin_client_sync(openai_client): ) # define your javelin api key here config = JavelinConfig( javelin_api_key=javelin_api_key, + base_url=os.getenv("JAVELIN_BASE_URL"), ) client = JavelinClient(config) rout_name = "openai_univ" # define your universal route name here @@ -118,7 +119,7 @@ def init_javelin_client_async(openai_async_client): """Initialize JavelinClient for async usage and register the OpenAI route.""" try: javelin_api_key = os.getenv("JAVELIN_API_KEY") # add your javelin api key here - config = JavelinConfig(javelin_api_key=javelin_api_key) + config = JavelinConfig(javelin_api_key=javelin_api_key, base_url=os.getenv("JAVELIN_BASE_URL")) client = JavelinClient(config) client.register_openai(openai_async_client, route_name="openai_univ") return client diff --git a/examples/openai/openai_compatible_univ.py b/examples/openai/openai_compatible_univ.py index 202087b..849c3b4 100644 --- a/examples/openai/openai_compatible_univ.py +++ b/examples/openai/openai_compatible_univ.py @@ -17,7 +17,7 @@ def print_response(provider: str, response: Dict[str, Any]) -> None: # Setup client configuration config = JavelinConfig( - base_url="https://api-dev.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=os.getenv("JAVELIN_API_KEY"), llm_api_key=os.getenv("OPENAI_API_KEY"), timeout=120, diff --git a/examples/openai/openai_embedding_example.py b/examples/openai/openai_embedding_example.py index f65fbfc..238c5b6 100644 --- a/examples/openai/openai_embedding_example.py +++ b/examples/openai/openai_embedding_example.py @@ -37,7 +37,7 @@ javelin_headers = {"x-api-key": javelin_api_key, "x-javelin-route": "myusers"} llm = ChatOpenAI( - openai_api_base="https://api.javelin.live/v1/query", + openai_api_base=f"{os.getenv('JAVELIN_BASE_URL')}/v1/query", openai_api_key=llm_api_key, model_kwargs={"extra_headers": javelin_headers}, ) diff --git a/examples/openai/openai_general_route.py b/examples/openai/openai_general_route.py index 7600f58..88d4cfb 100644 --- a/examples/openai/openai_general_route.py +++ b/examples/openai/openai_general_route.py @@ -21,7 +21,7 @@ def init_sync_openai_client(): print(f"[DEBUG] Synchronous OpenAI client key: {openai_api_key}") return OpenAI( api_key=openai_api_key, - base_url="https://api-dev.javelin.live/v1/query/openai", + base_url=f"{os.getenv('JAVELIN_BASE_URL')}/v1/query/openai", default_headers=javelin_headers ) except Exception as e: diff --git a/examples/openai/openai_javelin_stream&non-stream.js b/examples/openai/openai_javelin_stream&non-stream.js index efe63ca..1e4ceb3 100644 --- a/examples/openai/openai_javelin_stream&non-stream.js +++ b/examples/openai/openai_javelin_stream&non-stream.js @@ -3,7 +3,7 @@ import OpenAI from "openai"; const openai_client = new OpenAI({ apiKey: "", // add your api key - baseURL: "https://api.javelin.live/v1/query", + baseURL: `${process.env.JAVELIN_BASE_URL}/v1/query`, defaultHeaders: { "x-api-key": "", // add here javelin api key "x-javelin-route": "OpenAIInspect", diff --git a/examples/rag/javelin_rag_embeddings_demo.ipynb b/examples/rag/javelin_rag_embeddings_demo.ipynb index 3dbbff5..96a8a63 100644 --- a/examples/rag/javelin_rag_embeddings_demo.ipynb +++ b/examples/rag/javelin_rag_embeddings_demo.ipynb @@ -108,7 +108,7 @@ "# Initialize Azure OpenAI client for embeddings\n", "azure_openai_client = AzureOpenAI(\n", " api_key=llm_api_key,\n", - " base_url=\"https://api.javelin.live/query\",\n", + " base_url=os.getenv(\"JAVELIN_BASE_URL\"),\n", " default_headers=javelin_headers_embeddings,\n", " api_version=\"2023-05-15\",\n", ")\n", @@ -116,7 +116,7 @@ "# Initialize LLM\n", "llm = AzureChatOpenAI(\n", " api_key=llm_api_key,\n", - " azure_endpoint=\"https://api.javelin.live/query/azureopenai\",\n", + " azure_endpoint=f\"{os.getenv('JAVELIN_BASE_URL')}/query/azureopenai\",\n", " azure_deployment=\"gpt35\",\n", " openai_api_version=\"2024-02-15-preview\",\n", " model_kwargs={\"extra_headers\": javelin_headers_llm}\n", diff --git a/examples/rag/rag_implemetation_javelin.ipynb b/examples/rag/rag_implemetation_javelin.ipynb index 99cf0e2..5d16df7 100644 --- a/examples/rag/rag_implemetation_javelin.ipynb +++ b/examples/rag/rag_implemetation_javelin.ipynb @@ -530,7 +530,7 @@ "outputs": [], "source": [ "config = JavelinConfig(\n", - " base_url=\"https://api-dev.javelin.live\",\n", + " base_url=os.getenv(\"JAVELIN_BASE_URL\"),\n", " javelin_api_key=os.getenv(\"JAVELIN_API_KEY\"),\n", " llm_api_key=os.getenv(\"OPENAI_API_KEY\"),\n", ")\n", diff --git a/examples/route_examples/aexample.py b/examples/route_examples/aexample.py index 9cfe039..e285d7c 100644 --- a/examples/route_examples/aexample.py +++ b/examples/route_examples/aexample.py @@ -183,7 +183,7 @@ async def main(): try: config = JavelinConfig( - base_url="https://api.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=javelin_api_key, javelin_virtualapikey=javelin_virtualapikey, llm_api_key=llm_api_key, diff --git a/examples/route_examples/drop_in_replacement.py b/examples/route_examples/drop_in_replacement.py index a609ef9..4c7e56e 100644 --- a/examples/route_examples/drop_in_replacement.py +++ b/examples/route_examples/drop_in_replacement.py @@ -115,6 +115,7 @@ def main(): try: config = JavelinConfig( + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=javelin_api_key, javelin_virtualapikey=javelin_virtualapikey, llm_api_key=llm_api_key, diff --git a/examples/route_examples/example.py b/examples/route_examples/example.py index d211067..bbe9607 100644 --- a/examples/route_examples/example.py +++ b/examples/route_examples/example.py @@ -182,7 +182,7 @@ def main(): try: config = JavelinConfig( - base_url="https://api.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=javelin_api_key, javelin_virtualapikey=javelin_virtualapikey, llm_api_key=llm_api_key, diff --git a/examples/route_examples/javelin_sdk_app.py b/examples/route_examples/javelin_sdk_app.py index eb038d2..5074077 100644 --- a/examples/route_examples/javelin_sdk_app.py +++ b/examples/route_examples/javelin_sdk_app.py @@ -28,7 +28,7 @@ def pretty_print(obj): def main(): config = JavelinConfig( - base_url="https://api.javelin.live", + base_url=os.getenv("JAVELIN_BASE_URL"), javelin_api_key=javelin_api_key, javelin_virtualapikey=javelin_virtualapikey, llm_api_key=llm_api_key, diff --git a/javelin_sdk/services/secret_service.py b/javelin_sdk/services/secret_service.py index 901c81a..2ad39a2 100644 --- a/javelin_sdk/services/secret_service.py +++ b/javelin_sdk/services/secret_service.py @@ -98,6 +98,7 @@ def update_secret(self, secret: Secret) -> str: "api_key", "api_key_secret_key_javelin", "provider_name", + "api_key_secret_key" ] ## Get the current secret