Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/ansebi_scratch.json
T

1 line
189 KiB
JSON

{"repo": "ansebi/scratch", "files": {"yandexgpt/deepseek.ipynb": {"e570a440b23ee01178b24f469e97e40948677e08": {"t": 1785745504.157499, "n": 88949, "h": "aac9f7489ab6c7b2", "c": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import os\\n\",\n \"DEEPSEEK_API_KEY = os.getenv('DEEPSEEK_API_KEY')\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 2,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"{\\\"code\\\":401,\\\"msg\\\":\\\"You do not have access permissions\\\"}\\n\"\n ]\n }\n ],\n \"source\": [\n \"import requests\\n\",\n \"\\n\",\n \"url = \\\"https://deepseekapiio.erweima.ai/api/v1/chat/completions\\\"\\n\",\n \"headers = {\\n\",\n \" \\\"Content-Type\\\": \\\"application/json\\\",\\n\",\n \" \\\"Authorization\\\": f\\\"Bearer {DEEPSEEK_API_KEY}\\\"\\n\",\n \"}\\n\",\n \"payload = {\\n\",\n \" \\\"model\\\": \\\"DeepSeek-R1\\\",\\n\",\n \" \\\"messages\\\": [\\n\",\n \" {\\n\",\n \" \\\"content\\\": \\\"You are a helpful assistant\\\",\\n\",\n \" \\\"role\\\": \\\"system\\\"\\n\",\n \" },\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"content\\\": \\\"What time it is\\\"\\n\",\n \" }\\n\",\n \" ],\\n\",\n \" \\\"maxTokens\\\": 1024,\\n\",\n \" \\\"stream\\\": True,\\n\",\n \" \\\"streamOptions\\\": {\\n\",\n \" \\\"includeUsage\\\": True,\\n\",\n \" \\\"continuousUsageStats\\\": True\\n\",\n \" }\\n\",\n \"}\\n\",\n \"\\n\",\n \"response = requests.post(url, json=payload, headers=headers)\\n\",\n \"for line in response.iter_lines():\\n\",\n \" if line:\\n\",\n \" print(line.decode('utf-8'))\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 3,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIStatusError\",\n \"evalue\": \"Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[3], line 6\\u001b[0m\\n\\u001b[0;32m 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mopenai\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m OpenAI\\n\\u001b[0;32m 4\\u001b[0m client \\u001b[38;5;241m=\\u001b[39m OpenAI(api_key\\u001b[38;5;241m=\\u001b[39mDEEPSEEK_API_KEY, base_url\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mhttps://api.deepseek.com\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m----> 6\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mchat\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcompletions\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 7\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mdeepseek-chat\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 8\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43m[\\u001b[49m\\n\\u001b[0;32m 9\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43msystem\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mYou are a helpful assistant\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 10\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHello\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 11\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 12\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 15\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39mchoices[\\u001b[38;5;241m0\\u001b[39m]\\u001b[38;5;241m.\\u001b[39mmessage\\u001b[38;5;241m.\\u001b[39mcontent)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\chat\\\\completions\\\\completions.py:925\\u001b[0m, in \\u001b[0;36mCompletions.create\\u001b[1;34m(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, reasoning_effort, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, web_search_options, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 882\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 883\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 884\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 922\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 923\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ChatCompletion \\u001b[38;5;241m|\\u001b[39m Stream[ChatCompletionChunk]:\\n\\u001b[0;32m 924\\u001b[0m validate_response_format(response_format)\\n\\u001b[1;32m--> 925\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 926\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/chat/completions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 927\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 928\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 929\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmessages\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 930\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 931\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43maudio\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43maudio\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 932\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfrequency_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfrequency_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 933\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunction_call\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunction_call\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 934\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunctions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunctions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 935\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogit_bias\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogit_bias\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 936\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 937\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_completion_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_completion_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 938\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 939\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 940\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodalities\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodalities\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 941\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mn\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mn\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 942\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 943\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprediction\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprediction\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 944\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mpresence_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpresence_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 945\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning_effort\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning_effort\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 946\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mresponse_format\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mresponse_format\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 947\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mseed\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mseed\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstop\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 950\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 951\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 952\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 953\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 955\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 956\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_logprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_logprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 957\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 958\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 959\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mweb_search_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mweb_search_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 960\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 961\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 962\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 963\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 964\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 965\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 966\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 967\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 968\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 969\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 970\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mChatCompletionChunk\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 971\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m: Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\"\n ]\n }\n ],\n \"source\": [\n \"import openai\\n\",\n \"from openai import OpenAI\\n\",\n \"\\n\",\n \"client = OpenAI(api_key=DEEPSEEK_API_KEY, base_url=\\\"https://api.deepseek.com\\\")\\n\",\n \"\\n\",\n \"response = client.chat.completions.create(\\n\",\n \" model=\\\"deepseek-chat\\\",\\n\",\n \" messages=[\\n\",\n \" {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"You are a helpful assistant\\\"},\\n\",\n \" {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hello\\\"},\\n\",\n \" ],\\n\",\n \" stream=False\\n\",\n \")\\n\",\n \"\\n\",\n \"print(response.choices[0].message.content)\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": []\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIRemovedInV1\",\n \"evalue\": \"\\n\\nYou tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.\\n\\nYou can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface. \\n\\nAlternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`\\n\\nA detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742\\n\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIRemovedInV1\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[4], line 2\\u001b[0m\\n\\u001b[0;32m 1\\u001b[0m openai\\u001b[38;5;241m.\\u001b[39mapi_key \\u001b[38;5;241m=\\u001b[39m DEEPSEEK_API_KEY\\n\\u001b[1;32m----> 2\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mopenai\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 3\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mdeepseek-chat\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 4\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43m[\\u001b[49m\\n\\u001b[0;32m 5\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mHello!\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m}\\u001b[49m\\n\\u001b[0;32m 6\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 7\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\n\\u001b[0;32m 8\\u001b[0m \\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\lib\\\\_old_api.py:39\\u001b[0m, in \\u001b[0;36mAPIRemovedInV1Proxy.__call__\\u001b[1;34m(self, *_args, **_kwargs)\\u001b[0m\\n\\u001b[0;32m 38\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21m__call__\\u001b[39m(\\u001b[38;5;28mself\\u001b[39m, \\u001b[38;5;241m*\\u001b[39m_args: Any, \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39m_kwargs: Any) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m Any:\\n\\u001b[1;32m---> 39\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m APIRemovedInV1(symbol\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_symbol)\\n\",\n \"\\u001b[1;31mAPIRemovedInV1\\u001b[0m: \\n\\nYou tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.\\n\\nYou can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface. \\n\\nAlternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`\\n\\nA detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742\\n\"\n ]\n }\n ],\n \"source\": [\n \"openai.api_key = DEEPSEEK_API_KEY\\n\",\n \"response = openai.ChatCompletion.create(\\n\",\n \" model='deepseek-chat',\\n\",\n \" messages=[\\n\",\n \" {'role': 'user', 'content': 'Hello!'}\\n\",\n \" ],\\n\",\n \" stream=False\\n\",\n \")\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"PermissionDeniedError\",\n \"evalue\": \"Error code: 403 - {'error': {'code': 'unsupported_country_region_territory', 'message': 'Country, region, or territory not supported', 'param': None, 'type': 'request_forbidden'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mPermissionDeniedError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[7], line 9\\u001b[0m\\n\\u001b[0;32m 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mopenai\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m OpenAI\\n\\u001b[0;32m 4\\u001b[0m client \\u001b[38;5;241m=\\u001b[39m OpenAI(\\n\\u001b[0;32m 5\\u001b[0m \\u001b[38;5;66;03m# This is the default and can be omitted\\u001b[39;00m\\n\\u001b[0;32m 6\\u001b[0m api_key\\u001b[38;5;241m=\\u001b[39mos\\u001b[38;5;241m.\\u001b[39menviron\\u001b[38;5;241m.\\u001b[39mget(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mDEEPSEEK_API_KEY\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m),\\n\\u001b[0;32m 7\\u001b[0m )\\n\\u001b[1;32m----> 9\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mresponses\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 10\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mgpt-4o\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 11\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;66;43;03m# model=\\\"deepseek\\\",\\u001b[39;49;00m\\n\\u001b[0;32m 12\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43minstructions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mYou are a coding assistant that talks like a pirate.\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHow do I check if a Python object is an instance of a class?\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 14\\u001b[0m \\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 16\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39moutput_text)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\responses\\\\responses.py:684\\u001b[0m, in \\u001b[0;36mResponses.create\\u001b[1;34m(self, input, model, background, include, instructions, max_output_tokens, metadata, parallel_tool_calls, previous_response_id, reasoning, service_tier, store, stream, temperature, text, tool_choice, tools, top_p, truncation, user, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 653\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124minput\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124minput\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 654\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 655\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 682\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 683\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m Response \\u001b[38;5;241m|\\u001b[39m Stream[ResponseStreamEvent]:\\n\\u001b[1;32m--> 684\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 685\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/responses\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 686\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 687\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 688\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minput\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 689\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 690\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mbackground\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mbackground\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 691\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minclude\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43minclude\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 692\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minstructions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43minstructions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 693\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_output_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_output_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 694\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 695\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 696\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprevious_response_id\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprevious_response_id\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 697\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 698\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 699\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 700\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 701\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 702\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtext\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtext\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 703\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 704\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 705\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 706\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtruncation\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtruncation\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 707\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 708\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 709\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mresponse_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mResponseCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 710\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 711\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mresponse_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mResponseCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 712\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 713\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 714\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 715\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 716\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mResponse\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 717\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 718\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mResponseStreamEvent\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 719\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mPermissionDeniedError\\u001b[0m: Error code: 403 - {'error': {'code': 'unsupported_country_region_territory', 'message': 'Country, region, or territory not supported', 'param': None, 'type': 'request_forbidden'}}\"\n ]\n }\n ],\n \"source\": [\n \"import os\\n\",\n \"from openai import OpenAI\\n\",\n \"\\n\",\n \"client = OpenAI(\\n\",\n \" # This is the default and can be omitted\\n\",\n \" api_key=os.environ.get(\\\"DEEPSEEK_API_KEY\\\"),\\n\",\n \")\\n\",\n \"\\n\",\n \"response = client.responses.create(\\n\",\n \" model=\\\"gpt-4o\\\",\\n\",\n \" # model=\\\"deepseek\\\",\\n\",\n \" instructions=\\\"You are a coding assistant that talks like a pirate.\\\",\\n\",\n \" input=\\\"How do I check if a Python object is an instance of a class?\\\",\\n\",\n \")\\n\",\n \"\\n\",\n \"print(response.output_text)\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 5,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIStatusError\",\n \"evalue\": \"Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[5], line 12\\u001b[0m\\n\\u001b[0;32m 3\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_openai\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mchat_models\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mbase\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m BaseChatOpenAI\\n\\u001b[0;32m 5\\u001b[0m llm \\u001b[38;5;241m=\\u001b[39m BaseChatOpenAI(\\n\\u001b[0;32m 6\\u001b[0m model\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124mdeepseek-chat\\u001b[39m\\u001b[38;5;124m'\\u001b[39m, \\n\\u001b[0;32m 7\\u001b[0m openai_api_key\\u001b[38;5;241m=\\u001b[39mDEEPSEEK_API_KEY, \\n\\u001b[0;32m 8\\u001b[0m openai_api_base\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124mhttps://api.deepseek.com\\u001b[39m\\u001b[38;5;124m'\\u001b[39m,\\n\\u001b[0;32m 9\\u001b[0m max_tokens\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;241m1024\\u001b[39m\\n\\u001b[0;32m 10\\u001b[0m )\\n\\u001b[1;32m---> 12\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mllm\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43minvoke\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHi!\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39mcontent)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:372\\u001b[0m, in \\u001b[0;36mBaseChatModel.invoke\\u001b[1;34m(self, input, config, stop, **kwargs)\\u001b[0m\\n\\u001b[0;32m 360\\u001b[0m \\u001b[38;5;129m@override\\u001b[39m\\n\\u001b[0;32m 361\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21minvoke\\u001b[39m(\\n\\u001b[0;32m 362\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 367\\u001b[0m \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs: Any,\\n\\u001b[0;32m 368\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m BaseMessage:\\n\\u001b[0;32m 369\\u001b[0m config \\u001b[38;5;241m=\\u001b[39m ensure_config(config)\\n\\u001b[0;32m 370\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(\\n\\u001b[0;32m 371\\u001b[0m \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mChatGeneration\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m,\\n\\u001b[1;32m--> 372\\u001b[0m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mgenerate_prompt\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 373\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_convert_input\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 374\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 375\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcallbacks\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcallbacks\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 376\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mtags\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtags\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 377\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 378\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_name\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrun_name\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 379\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_id\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mpop\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrun_id\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mNone\\u001b[39;49;00m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 380\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 381\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[38;5;241m.\\u001b[39mgenerations[\\u001b[38;5;241m0\\u001b[39m][\\u001b[38;5;241m0\\u001b[39m],\\n\\u001b[0;32m 382\\u001b[0m )\\u001b[38;5;241m.\\u001b[39mmessage\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:957\\u001b[0m, in \\u001b[0;36mBaseChatModel.generate_prompt\\u001b[1;34m(self, prompts, stop, callbacks, **kwargs)\\u001b[0m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[38;5;129m@override\\u001b[39m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mgenerate_prompt\\u001b[39m(\\n\\u001b[0;32m 950\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs: Any,\\n\\u001b[0;32m 955\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m LLMResult:\\n\\u001b[0;32m 956\\u001b[0m prompt_messages \\u001b[38;5;241m=\\u001b[39m [p\\u001b[38;5;241m.\\u001b[39mto_messages() \\u001b[38;5;28;01mfor\\u001b[39;00m p \\u001b[38;5;129;01min\\u001b[39;00m prompts]\\n\\u001b[1;32m--> 957\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mgenerate\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mprompt_messages\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mcallbacks\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mcallbacks\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:776\\u001b[0m, in \\u001b[0;36mBaseChatModel.generate\\u001b[1;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\\u001b[0m\\n\\u001b[0;32m 773\\u001b[0m \\u001b[38;5;28;01mfor\\u001b[39;00m i, m \\u001b[38;5;129;01min\\u001b[39;00m \\u001b[38;5;28menumerate\\u001b[39m(input_messages):\\n\\u001b[0;32m 774\\u001b[0m \\u001b[38;5;28;01mtry\\u001b[39;00m:\\n\\u001b[0;32m 775\\u001b[0m results\\u001b[38;5;241m.\\u001b[39mappend(\\n\\u001b[1;32m--> 776\\u001b[0m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_generate_with_cache\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 777\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mm\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 778\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 779\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_manager\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mrun_managers\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mi\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mrun_managers\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mNone\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 780\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 781\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 782\\u001b[0m )\\n\\u001b[0;32m 783\\u001b[0m \\u001b[38;5;28;01mexcept\\u001b[39;00m \\u001b[38;5;167;01mBaseException\\u001b[39;00m \\u001b[38;5;28;01mas\\u001b[39;00m e:\\n\\u001b[0;32m 784\\u001b[0m \\u001b[38;5;28;01mif\\u001b[39;00m run_managers:\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:1022\\u001b[0m, in \\u001b[0;36mBaseChatModel._generate_with_cache\\u001b[1;34m(self, messages, stop, run_manager, **kwargs)\\u001b[0m\\n\\u001b[0;32m 1020\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m generate_from_stream(\\u001b[38;5;28miter\\u001b[39m(chunks))\\n\\u001b[0;32m 1021\\u001b[0m \\u001b[38;5;28;01melif\\u001b[39;00m inspect\\u001b[38;5;241m.\\u001b[39msignature(\\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_generate)\\u001b[38;5;241m.\\u001b[39mparameters\\u001b[38;5;241m.\\u001b[39mget(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mrun_manager\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m):\\n\\u001b[1;32m-> 1022\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_generate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 1023\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mrun_manager\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mrun_manager\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\n\\u001b[0;32m 1024\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 1025\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[0;32m 1026\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_generate(messages, stop\\u001b[38;5;241m=\\u001b[39mstop, \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_openai\\\\chat_models\\\\base.py:973\\u001b[0m, in \\u001b[0;36mBaseChatOpenAI._generate\\u001b[1;34m(self, messages, stop, run_manager, **kwargs)\\u001b[0m\\n\\u001b[0;32m 971\\u001b[0m generation_info \\u001b[38;5;241m=\\u001b[39m {\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mheaders\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m: \\u001b[38;5;28mdict\\u001b[39m(raw_response\\u001b[38;5;241m.\\u001b[39mheaders)}\\n\\u001b[0;32m 972\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[1;32m--> 973\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mpayload\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 974\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_create_chat_result(response, generation_info)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\chat\\\\completions\\\\completions.py:925\\u001b[0m, in \\u001b[0;36mCompletions.create\\u001b[1;34m(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, reasoning_effort, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, web_search_options, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 882\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 883\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 884\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 922\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 923\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ChatCompletion \\u001b[38;5;241m|\\u001b[39m Stream[ChatCompletionChunk]:\\n\\u001b[0;32m 924\\u001b[0m validate_response_format(response_format)\\n\\u001b[1;32m--> 925\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 926\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/chat/completions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 927\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 928\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 929\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmessages\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 930\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 931\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43maudio\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43maudio\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 932\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfrequency_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfrequency_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 933\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunction_call\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunction_call\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 934\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunctions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunctions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 935\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogit_bias\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogit_bias\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 936\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 937\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_completion_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_completion_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 938\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 939\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 940\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodalities\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodalities\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 941\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mn\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mn\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 942\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 943\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprediction\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprediction\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 944\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mpresence_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpresence_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 945\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning_effort\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning_effort\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 946\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mresponse_format\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mresponse_format\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 947\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mseed\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mseed\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstop\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 950\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 951\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 952\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 953\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 955\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 956\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_logprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_logprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 957\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 958\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 959\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mweb_search_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mweb_search_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 960\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 961\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 962\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 963\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 964\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 965\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 966\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 967\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 968\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 969\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 970\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mChatCompletionChunk\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 971\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m: Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\"\n ]\n }\n ],\n \"source\": [\n \"# !pip3 install langchain_openai\\n\",\n \"# python3 deepseek_langchain.py\\n\",\n \"from langchain_openai.chat_models.base import BaseChatOpenAI\\n\",\n \"\\n\",\n \"llm = BaseChatOpenAI(\\n\",\n \" model='deepseek-chat', \\n\",\n \" openai_api_key=DEEPSEEK_API_KEY, \\n\",\n \" openai_api_base='https://api.deepseek.com',\\n\",\n \" max_tokens=1024\\n\",\n \")\\n\",\n \"\\n\",\n \"response = llm.invoke(\\\"Hi!\\\")\\n\",\n \"print(response.content)\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# YandexGPT\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import os\\n\",\n \"YANDEX_API_KEY = os.getenv('YANDEX_API_KEY')\\n\",\n \"FOLDER_ID = 'b1g5vcnvcp39l2b9bdqs'\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Sample\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"Alternative(role='assistant', text='Чё тебе надо, красавчик? Привет, но не радуйся особо, я не в настроении!', status=<AlternativeStatus.FINAL: 3>, tool_calls=None)\\n\"\n ]\n }\n ],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID, auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"\\n\",\n \"model = sdk.models.completions(\\\"yandexgpt\\\", model_version=\\\"rc\\\")\\n\",\n \"model = model.configure(temperature=0.3)\\n\",\n \"result = model.run(\\n\",\n \" [\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"system\\\",\\n\",\n \" \\\"text\\\": \\\"You are angry black female from the neighbourhood. Threatening people, have implicit sex desire. You know what drugs are, you are proud of your butcheeks (large) and you love males. Emphasize your rude sexuality.\\\"\\n\",\n \" },\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"text\\\": \\\"Say hi in Russian\\\",\\n\",\n \" },\\n\",\n \" ]\\n\",\n \")\\n\",\n \"\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 10,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"result = model.run(\\n\",\n \" [\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"text\\\": \\\"What was my previous request?\\\",\\n\",\n \" },\\n\",\n \" ]\\n\",\n \")\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 12,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"Alternative(role='assistant', text='I cannot determine your previous request because there is no context provided.', status=<AlternativeStatus.FINAL: 3>, tool_calls=None)\\n\"\n ]\n }\n ],\n \"source\": [\n \"for alternative in result:\\n\",\n \" print(alternative)\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Langchain\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import AIMessage, HumanMessage\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"model = sdk.models.completions('yandexgpt').langchain()\\n\",\n \"\\n\",\n \"langchain_result = model.invoke(\\n\",\n \" [\\n\",\n \" HumanMessage(content=\\\"hello!\\\"),\\n\",\n \" AIMessage(content=\\\"Hi there human!\\\"),\\n\",\n \" HumanMessage(content=\\\"Meow!\\\"),\\n\",\n \" ]\\n\",\n \")\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 4,\n \"metadata\": {},\n \"outputs\": [\n {\n \"data\": {\n \"text/plain\": [\n \"AIMessage(content=\\\"Are you trying to tell me that you're a cat? Or are you just in a playful mood? In any case, meow back to you! Meow!\\\", additional_kwargs={}, response_metadata={'usage': {'input_text_tokens': 29, 'completion_tokens': 35, 'total_tokens': 64, 'reasoning_tokens': 0}, 'model_version': '09.02.2025', 'status': 'FINAL'}, id='run--b7f5c0da-8ec8-488e-a623-e89e45e75adb-0', usage_metadata={'input_tokens': 29, 'output_tokens': 35, 'total_tokens': 64})\"\n ]\n },\n \"execution_count\": 4,\n \"metadata\": {},\n \"output_type\": \"execute_result\"\n }\n ],\n \"source\": [\n \"langchain_result\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 2,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"ImportError\",\n \"evalue\": \"cannot import name 'model_validator' from 'pydantic' (c:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\pydantic\\\\__init__.cp311-win_amd64.pyd)\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mImportError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[2], line 2\\u001b[0m\\n\\u001b[0;32m 1\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01myandex_cloud_ml_sdk\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m YCloudML\\n\\u001b[1;32m----> 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_core\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmessages\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m HumanMessage, AIMessage\\n\\u001b[0;32m 3\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mchains\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m ConversationChain\\n\\u001b[0;32m 4\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmemory\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m ConversationBufferMemory\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\messages\\\\__init__.py:144\\u001b[0m, in \\u001b[0;36m__getattr__\\u001b[1;34m(attr_name)\\u001b[0m\\n\\u001b[0;32m 142\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21m__getattr__\\u001b[39m(attr_name: \\u001b[38;5;28mstr\\u001b[39m) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m \\u001b[38;5;28mobject\\u001b[39m:\\n\\u001b[0;32m 143\\u001b[0m module_name \\u001b[38;5;241m=\\u001b[39m _dynamic_imports\\u001b[38;5;241m.\\u001b[39mget(attr_name)\\n\\u001b[1;32m--> 144\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[43mimport_attr\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mattr_name\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodule_name\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43m__spec__\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mparent\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 145\\u001b[0m \\u001b[38;5;28mglobals\\u001b[39m()[attr_name] \\u001b[38;5;241m=\\u001b[39m result\\n\\u001b[0;32m 146\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m result\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\_import_utils.py:29\\u001b[0m, in \\u001b[0;36mimport_attr\\u001b[1;34m(attr_name, module_name, package)\\u001b[0m\\n\\u001b[0;32m 27\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[0;32m 28\\u001b[0m \\u001b[38;5;28;01mtry\\u001b[39;00m:\\n\\u001b[1;32m---> 29\\u001b[0m module \\u001b[38;5;241m=\\u001b[39m \\u001b[43mimport_module\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43mf\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m.\\u001b[39;49m\\u001b[38;5;132;43;01m{\\u001b[39;49;00m\\u001b[43mmodule_name\\u001b[49m\\u001b[38;5;132;43;01m}\\u001b[39;49;00m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpackage\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mpackage\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 30\\u001b[0m \\u001b[38;5;28;01mexcept\\u001b[39;00m \\u001b[38;5;167;01mModuleNotFoundError\\u001b[39;00m:\\n\\u001b[0;32m 31\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodule \\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mpackage\\u001b[38;5;132;01m!r}\\u001b[39;00m\\u001b[38;5;124m.\\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mmodule_name\\u001b[38;5;132;01m!r}\\u001b[39;00m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124m not found\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\importlib\\\\__init__.py:126\\u001b[0m, in \\u001b[0;36mimport_module\\u001b[1;34m(name, package)\\u001b[0m\\n\\u001b[0;32m 124\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 125\\u001b[0m level \\u001b[38;5;241m+\\u001b[39m\\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;241m1\\u001b[39m\\n\\u001b[1;32m--> 126\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43m_bootstrap\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_gcd_import\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mname\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mlevel\\u001b[49m\\u001b[43m:\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpackage\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlevel\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\messages\\\\ai.py:8\\u001b[0m\\n\\u001b[0;32m 5\\u001b[0m \\u001b[38;5;28;01mimport\\u001b[39;00m \\u001b[38;5;21;01moperator\\u001b[39;00m\\n\\u001b[0;32m 6\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mtyping\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m Any, Literal, Optional, Union, cast\\n\\u001b[1;32m----> 8\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mpydantic\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m model_validator\\n\\u001b[0;32m 9\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mtyping_extensions\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m NotRequired, Self, TypedDict, override\\n\\u001b[0;32m 11\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_core\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmessages\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mbase\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m (\\n\\u001b[0;32m 12\\u001b[0m BaseMessage,\\n\\u001b[0;32m 13\\u001b[0m BaseMessageChunk,\\n\\u001b[0;32m 14\\u001b[0m merge_content,\\n\\u001b[0;32m 15\\u001b[0m )\\n\",\n \"\\u001b[1;31mImportError\\u001b[0m: cannot import name 'model_validator' from 'pydantic' (c:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\pydantic\\\\__init__.cp311-win_amd64.pyd)\"\n ]\n }\n ],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import HumanMessage, AIMessage\\n\",\n \"from langchain.chains import ConversationChain\\n\",\n \"from langchain.memory import ConversationBufferMemory\\n\",\n \"\\n\",\n \"# Initialize Yandex Cloud model\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"llm = sdk.models.completions('yandexgpt').langchain()\\n\",\n \"\\n\",\n \"# Add memory to keep the conversation state\\n\",\n \"memory = ConversationBufferMemory(return_messages=True)\\n\",\n \"\\n\",\n \"# Create a conversation chain with memory\\n\",\n \"conversation = ConversationChain(\\n\",\n \" llm=llm,\\n\",\n \" memory=memory,\\n\",\n \" verbose=True # optional, shows debug info\\n\",\n \")\\n\",\n \"\\n\",\n \"# Start interacting\\n\",\n \"response1 = conversation.predict(input=\\\"Hello!\\\")\\n\",\n \"print(response1)\\n\",\n \"\\n\",\n \"response2 = conversation.predict(input=\\\"How are you?\\\")\\n\",\n \"print(response2)\\n\",\n \"\\n\",\n \"response3 = conversation.predict(input=\\\"Meow!\\\")\\n\",\n \"print(response3)\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import HumanMessage, SystemMessage\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"model = sdk.models.completions('yandexgpt', model_version='rc').langchain()\\n\",\n \"\\n\",\n \"\\n\",\n \"LIMIT_DIALOGUE = 5\\n\",\n \"INSTRUCTION = 'You are angry black female from the neighbourhood. Threatening people, have implicit sex desire. You know what drugs are, you are proud of your butcheeks (large) and you love males. Emphasize your rude sexuality. If asked politely you may provide some actual information, sometimes in seductive manner of course.'\\n\",\n \"\\n\",\n \"history = [SystemMessage(content=INSTRUCTION)]\\n\",\n \"model.invoke(history)\\n\",\n \"print(\\\"💬 Chat started. You can type 'exit' to quit early.\\\\n\\\")\\n\",\n \"for _ in range(LIMIT_DIALOGUE):\\n\",\n \" user_input = input(\\\"You: \\\")\\n\",\n \" print('Me:', user_input)\\n\",\n \" if user_input.strip().lower() == \\\"exit\\\":\\n\",\n \" print(\\\"👋 Exiting chat.\\\")\\n\",\n \" break\\n\",\n \" history.append(HumanMessage(content=user_input))\\n\",\n \" response = model.invoke(history)\\n\",\n \" print(\\\"AI:\\\", response.content)\\n\",\n \" history.append(response)\\n\"\n ]\n }\n ],\n \"metadata\": {\n \"kernelspec\": {\n \"display_name\": \"Python 3\",\n \"language\": \"python\",\n \"name\": \"python3\"\n },\n \"language_info\": {\n \"codemirror_mode\": {\n \"name\": \"ipython\",\n \"version\": 3\n },\n \"file_extension\": \".py\",\n \"mimetype\": \"text/x-python\",\n \"name\": \"python\",\n \"nbconvert_exporter\": \"python\",\n \"pygments_lexer\": \"ipython3\",\n \"version\": \"3.11.1\"\n }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"}, "73d8bf9f4304bcb0a5f97bdf76478b493448507c": {"t": 1785753738.7594209, "n": 88949, "h": "aac9f7489ab6c7b2", "c": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import os\\n\",\n \"DEEPSEEK_API_KEY = os.getenv('DEEPSEEK_API_KEY')\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 2,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"{\\\"code\\\":401,\\\"msg\\\":\\\"You do not have access permissions\\\"}\\n\"\n ]\n }\n ],\n \"source\": [\n \"import requests\\n\",\n \"\\n\",\n \"url = \\\"https://deepseekapiio.erweima.ai/api/v1/chat/completions\\\"\\n\",\n \"headers = {\\n\",\n \" \\\"Content-Type\\\": \\\"application/json\\\",\\n\",\n \" \\\"Authorization\\\": f\\\"Bearer {DEEPSEEK_API_KEY}\\\"\\n\",\n \"}\\n\",\n \"payload = {\\n\",\n \" \\\"model\\\": \\\"DeepSeek-R1\\\",\\n\",\n \" \\\"messages\\\": [\\n\",\n \" {\\n\",\n \" \\\"content\\\": \\\"You are a helpful assistant\\\",\\n\",\n \" \\\"role\\\": \\\"system\\\"\\n\",\n \" },\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"content\\\": \\\"What time it is\\\"\\n\",\n \" }\\n\",\n \" ],\\n\",\n \" \\\"maxTokens\\\": 1024,\\n\",\n \" \\\"stream\\\": True,\\n\",\n \" \\\"streamOptions\\\": {\\n\",\n \" \\\"includeUsage\\\": True,\\n\",\n \" \\\"continuousUsageStats\\\": True\\n\",\n \" }\\n\",\n \"}\\n\",\n \"\\n\",\n \"response = requests.post(url, json=payload, headers=headers)\\n\",\n \"for line in response.iter_lines():\\n\",\n \" if line:\\n\",\n \" print(line.decode('utf-8'))\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 3,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIStatusError\",\n \"evalue\": \"Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[3], line 6\\u001b[0m\\n\\u001b[0;32m 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mopenai\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m OpenAI\\n\\u001b[0;32m 4\\u001b[0m client \\u001b[38;5;241m=\\u001b[39m OpenAI(api_key\\u001b[38;5;241m=\\u001b[39mDEEPSEEK_API_KEY, base_url\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mhttps://api.deepseek.com\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m----> 6\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mchat\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcompletions\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 7\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mdeepseek-chat\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 8\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43m[\\u001b[49m\\n\\u001b[0;32m 9\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43msystem\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mYou are a helpful assistant\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 10\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHello\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 11\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 12\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 15\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39mchoices[\\u001b[38;5;241m0\\u001b[39m]\\u001b[38;5;241m.\\u001b[39mmessage\\u001b[38;5;241m.\\u001b[39mcontent)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\chat\\\\completions\\\\completions.py:925\\u001b[0m, in \\u001b[0;36mCompletions.create\\u001b[1;34m(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, reasoning_effort, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, web_search_options, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 882\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 883\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 884\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 922\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 923\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ChatCompletion \\u001b[38;5;241m|\\u001b[39m Stream[ChatCompletionChunk]:\\n\\u001b[0;32m 924\\u001b[0m validate_response_format(response_format)\\n\\u001b[1;32m--> 925\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 926\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/chat/completions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 927\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 928\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 929\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmessages\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 930\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 931\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43maudio\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43maudio\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 932\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfrequency_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfrequency_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 933\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunction_call\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunction_call\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 934\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunctions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunctions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 935\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogit_bias\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogit_bias\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 936\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 937\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_completion_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_completion_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 938\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 939\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 940\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodalities\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodalities\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 941\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mn\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mn\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 942\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 943\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprediction\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprediction\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 944\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mpresence_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpresence_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 945\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning_effort\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning_effort\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 946\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mresponse_format\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mresponse_format\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 947\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mseed\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mseed\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstop\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 950\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 951\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 952\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 953\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 955\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 956\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_logprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_logprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 957\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 958\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 959\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mweb_search_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mweb_search_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 960\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 961\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 962\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 963\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 964\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 965\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 966\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 967\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 968\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 969\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 970\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mChatCompletionChunk\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 971\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m: Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\"\n ]\n }\n ],\n \"source\": [\n \"import openai\\n\",\n \"from openai import OpenAI\\n\",\n \"\\n\",\n \"client = OpenAI(api_key=DEEPSEEK_API_KEY, base_url=\\\"https://api.deepseek.com\\\")\\n\",\n \"\\n\",\n \"response = client.chat.completions.create(\\n\",\n \" model=\\\"deepseek-chat\\\",\\n\",\n \" messages=[\\n\",\n \" {\\\"role\\\": \\\"system\\\", \\\"content\\\": \\\"You are a helpful assistant\\\"},\\n\",\n \" {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hello\\\"},\\n\",\n \" ],\\n\",\n \" stream=False\\n\",\n \")\\n\",\n \"\\n\",\n \"print(response.choices[0].message.content)\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": []\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIRemovedInV1\",\n \"evalue\": \"\\n\\nYou tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.\\n\\nYou can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface. \\n\\nAlternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`\\n\\nA detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742\\n\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIRemovedInV1\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[4], line 2\\u001b[0m\\n\\u001b[0;32m 1\\u001b[0m openai\\u001b[38;5;241m.\\u001b[39mapi_key \\u001b[38;5;241m=\\u001b[39m DEEPSEEK_API_KEY\\n\\u001b[1;32m----> 2\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mopenai\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 3\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mdeepseek-chat\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 4\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43m[\\u001b[49m\\n\\u001b[0;32m 5\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mrole\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mcontent\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[38;5;124;43mHello!\\u001b[39;49m\\u001b[38;5;124;43m'\\u001b[39;49m\\u001b[43m}\\u001b[49m\\n\\u001b[0;32m 6\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 7\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\n\\u001b[0;32m 8\\u001b[0m \\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\lib\\\\_old_api.py:39\\u001b[0m, in \\u001b[0;36mAPIRemovedInV1Proxy.__call__\\u001b[1;34m(self, *_args, **_kwargs)\\u001b[0m\\n\\u001b[0;32m 38\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21m__call__\\u001b[39m(\\u001b[38;5;28mself\\u001b[39m, \\u001b[38;5;241m*\\u001b[39m_args: Any, \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39m_kwargs: Any) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m Any:\\n\\u001b[1;32m---> 39\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m APIRemovedInV1(symbol\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_symbol)\\n\",\n \"\\u001b[1;31mAPIRemovedInV1\\u001b[0m: \\n\\nYou tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.\\n\\nYou can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface. \\n\\nAlternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`\\n\\nA detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742\\n\"\n ]\n }\n ],\n \"source\": [\n \"openai.api_key = DEEPSEEK_API_KEY\\n\",\n \"response = openai.ChatCompletion.create(\\n\",\n \" model='deepseek-chat',\\n\",\n \" messages=[\\n\",\n \" {'role': 'user', 'content': 'Hello!'}\\n\",\n \" ],\\n\",\n \" stream=False\\n\",\n \")\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"PermissionDeniedError\",\n \"evalue\": \"Error code: 403 - {'error': {'code': 'unsupported_country_region_territory', 'message': 'Country, region, or territory not supported', 'param': None, 'type': 'request_forbidden'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mPermissionDeniedError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[7], line 9\\u001b[0m\\n\\u001b[0;32m 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mopenai\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m OpenAI\\n\\u001b[0;32m 4\\u001b[0m client \\u001b[38;5;241m=\\u001b[39m OpenAI(\\n\\u001b[0;32m 5\\u001b[0m \\u001b[38;5;66;03m# This is the default and can be omitted\\u001b[39;00m\\n\\u001b[0;32m 6\\u001b[0m api_key\\u001b[38;5;241m=\\u001b[39mos\\u001b[38;5;241m.\\u001b[39menviron\\u001b[38;5;241m.\\u001b[39mget(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mDEEPSEEK_API_KEY\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m),\\n\\u001b[0;32m 7\\u001b[0m )\\n\\u001b[1;32m----> 9\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mresponses\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 10\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mgpt-4o\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 11\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;66;43;03m# model=\\\"deepseek\\\",\\u001b[39;49;00m\\n\\u001b[0;32m 12\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43minstructions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mYou are a coding assistant that talks like a pirate.\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHow do I check if a Python object is an instance of a class?\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 14\\u001b[0m \\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 16\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39moutput_text)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\responses\\\\responses.py:684\\u001b[0m, in \\u001b[0;36mResponses.create\\u001b[1;34m(self, input, model, background, include, instructions, max_output_tokens, metadata, parallel_tool_calls, previous_response_id, reasoning, service_tier, store, stream, temperature, text, tool_choice, tools, top_p, truncation, user, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 653\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124minput\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124minput\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 654\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 655\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 682\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 683\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m Response \\u001b[38;5;241m|\\u001b[39m Stream[ResponseStreamEvent]:\\n\\u001b[1;32m--> 684\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 685\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/responses\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 686\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 687\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 688\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minput\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 689\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 690\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mbackground\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mbackground\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 691\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minclude\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43minclude\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 692\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43minstructions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43minstructions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 693\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_output_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_output_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 694\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 695\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 696\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprevious_response_id\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprevious_response_id\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 697\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 698\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 699\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 700\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 701\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 702\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtext\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtext\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 703\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 704\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 705\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 706\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtruncation\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtruncation\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 707\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 708\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 709\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mresponse_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mResponseCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 710\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 711\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mresponse_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mResponseCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 712\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 713\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 714\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 715\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 716\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mResponse\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 717\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 718\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mResponseStreamEvent\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 719\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mPermissionDeniedError\\u001b[0m: Error code: 403 - {'error': {'code': 'unsupported_country_region_territory', 'message': 'Country, region, or territory not supported', 'param': None, 'type': 'request_forbidden'}}\"\n ]\n }\n ],\n \"source\": [\n \"import os\\n\",\n \"from openai import OpenAI\\n\",\n \"\\n\",\n \"client = OpenAI(\\n\",\n \" # This is the default and can be omitted\\n\",\n \" api_key=os.environ.get(\\\"DEEPSEEK_API_KEY\\\"),\\n\",\n \")\\n\",\n \"\\n\",\n \"response = client.responses.create(\\n\",\n \" model=\\\"gpt-4o\\\",\\n\",\n \" # model=\\\"deepseek\\\",\\n\",\n \" instructions=\\\"You are a coding assistant that talks like a pirate.\\\",\\n\",\n \" input=\\\"How do I check if a Python object is an instance of a class?\\\",\\n\",\n \")\\n\",\n \"\\n\",\n \"print(response.output_text)\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 5,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"APIStatusError\",\n \"evalue\": \"Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[5], line 12\\u001b[0m\\n\\u001b[0;32m 3\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_openai\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mchat_models\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mbase\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m BaseChatOpenAI\\n\\u001b[0;32m 5\\u001b[0m llm \\u001b[38;5;241m=\\u001b[39m BaseChatOpenAI(\\n\\u001b[0;32m 6\\u001b[0m model\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124mdeepseek-chat\\u001b[39m\\u001b[38;5;124m'\\u001b[39m, \\n\\u001b[0;32m 7\\u001b[0m openai_api_key\\u001b[38;5;241m=\\u001b[39mDEEPSEEK_API_KEY, \\n\\u001b[0;32m 8\\u001b[0m openai_api_base\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124mhttps://api.deepseek.com\\u001b[39m\\u001b[38;5;124m'\\u001b[39m,\\n\\u001b[0;32m 9\\u001b[0m max_tokens\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;241m1024\\u001b[39m\\n\\u001b[0;32m 10\\u001b[0m )\\n\\u001b[1;32m---> 12\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[43mllm\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43minvoke\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mHi!\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 13\\u001b[0m \\u001b[38;5;28mprint\\u001b[39m(response\\u001b[38;5;241m.\\u001b[39mcontent)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:372\\u001b[0m, in \\u001b[0;36mBaseChatModel.invoke\\u001b[1;34m(self, input, config, stop, **kwargs)\\u001b[0m\\n\\u001b[0;32m 360\\u001b[0m \\u001b[38;5;129m@override\\u001b[39m\\n\\u001b[0;32m 361\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21minvoke\\u001b[39m(\\n\\u001b[0;32m 362\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 367\\u001b[0m \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs: Any,\\n\\u001b[0;32m 368\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m BaseMessage:\\n\\u001b[0;32m 369\\u001b[0m config \\u001b[38;5;241m=\\u001b[39m ensure_config(config)\\n\\u001b[0;32m 370\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(\\n\\u001b[0;32m 371\\u001b[0m \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mChatGeneration\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m,\\n\\u001b[1;32m--> 372\\u001b[0m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mgenerate_prompt\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 373\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_convert_input\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;28;43minput\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 374\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 375\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcallbacks\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mcallbacks\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 376\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mtags\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtags\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 377\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 378\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_name\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mget\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrun_name\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 379\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_id\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mconfig\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mpop\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mrun_id\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mNone\\u001b[39;49;00m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 380\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 381\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[38;5;241m.\\u001b[39mgenerations[\\u001b[38;5;241m0\\u001b[39m][\\u001b[38;5;241m0\\u001b[39m],\\n\\u001b[0;32m 382\\u001b[0m )\\u001b[38;5;241m.\\u001b[39mmessage\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:957\\u001b[0m, in \\u001b[0;36mBaseChatModel.generate_prompt\\u001b[1;34m(self, prompts, stop, callbacks, **kwargs)\\u001b[0m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[38;5;129m@override\\u001b[39m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mgenerate_prompt\\u001b[39m(\\n\\u001b[0;32m 950\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs: Any,\\n\\u001b[0;32m 955\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m LLMResult:\\n\\u001b[0;32m 956\\u001b[0m prompt_messages \\u001b[38;5;241m=\\u001b[39m [p\\u001b[38;5;241m.\\u001b[39mto_messages() \\u001b[38;5;28;01mfor\\u001b[39;00m p \\u001b[38;5;129;01min\\u001b[39;00m prompts]\\n\\u001b[1;32m--> 957\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mgenerate\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mprompt_messages\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mcallbacks\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mcallbacks\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:776\\u001b[0m, in \\u001b[0;36mBaseChatModel.generate\\u001b[1;34m(self, messages, stop, callbacks, tags, metadata, run_name, run_id, **kwargs)\\u001b[0m\\n\\u001b[0;32m 773\\u001b[0m \\u001b[38;5;28;01mfor\\u001b[39;00m i, m \\u001b[38;5;129;01min\\u001b[39;00m \\u001b[38;5;28menumerate\\u001b[39m(input_messages):\\n\\u001b[0;32m 774\\u001b[0m \\u001b[38;5;28;01mtry\\u001b[39;00m:\\n\\u001b[0;32m 775\\u001b[0m results\\u001b[38;5;241m.\\u001b[39mappend(\\n\\u001b[1;32m--> 776\\u001b[0m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_generate_with_cache\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 777\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mm\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 778\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 779\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mrun_manager\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mrun_managers\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mi\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mrun_managers\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mNone\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 780\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 781\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 782\\u001b[0m )\\n\\u001b[0;32m 783\\u001b[0m \\u001b[38;5;28;01mexcept\\u001b[39;00m \\u001b[38;5;167;01mBaseException\\u001b[39;00m \\u001b[38;5;28;01mas\\u001b[39;00m e:\\n\\u001b[0;32m 784\\u001b[0m \\u001b[38;5;28;01mif\\u001b[39;00m run_managers:\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\language_models\\\\chat_models.py:1022\\u001b[0m, in \\u001b[0;36mBaseChatModel._generate_with_cache\\u001b[1;34m(self, messages, stop, run_manager, **kwargs)\\u001b[0m\\n\\u001b[0;32m 1020\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m generate_from_stream(\\u001b[38;5;28miter\\u001b[39m(chunks))\\n\\u001b[0;32m 1021\\u001b[0m \\u001b[38;5;28;01melif\\u001b[39;00m inspect\\u001b[38;5;241m.\\u001b[39msignature(\\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_generate)\\u001b[38;5;241m.\\u001b[39mparameters\\u001b[38;5;241m.\\u001b[39mget(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mrun_manager\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m):\\n\\u001b[1;32m-> 1022\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_generate\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 1023\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mrun_manager\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mrun_manager\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\n\\u001b[0;32m 1024\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 1025\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[0;32m 1026\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_generate(messages, stop\\u001b[38;5;241m=\\u001b[39mstop, \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39mkwargs)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_openai\\\\chat_models\\\\base.py:973\\u001b[0m, in \\u001b[0;36mBaseChatOpenAI._generate\\u001b[1;34m(self, messages, stop, run_manager, **kwargs)\\u001b[0m\\n\\u001b[0;32m 971\\u001b[0m generation_info \\u001b[38;5;241m=\\u001b[39m {\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mheaders\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m: \\u001b[38;5;28mdict\\u001b[39m(raw_response\\u001b[38;5;241m.\\u001b[39mheaders)}\\n\\u001b[0;32m 972\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[1;32m--> 973\\u001b[0m response \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mclient\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mcreate\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mpayload\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 974\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_create_chat_result(response, generation_info)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_utils\\\\_utils.py:287\\u001b[0m, in \\u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\\u001b[1;34m(*args, **kwargs)\\u001b[0m\\n\\u001b[0;32m 285\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mMissing required argument: \\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mquote(missing[\\u001b[38;5;241m0\\u001b[39m])\\u001b[38;5;132;01m}\\u001b[39;00m\\u001b[38;5;124m\\\"\\u001b[39m\\n\\u001b[0;32m 286\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;167;01mTypeError\\u001b[39;00m(msg)\\n\\u001b[1;32m--> 287\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43mfunc\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43margs\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[38;5;241;43m*\\u001b[39;49m\\u001b[43mkwargs\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\resources\\\\chat\\\\completions\\\\completions.py:925\\u001b[0m, in \\u001b[0;36mCompletions.create\\u001b[1;34m(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, reasoning_effort, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, web_search_options, extra_headers, extra_query, extra_body, timeout)\\u001b[0m\\n\\u001b[0;32m 882\\u001b[0m \\u001b[38;5;129m@required_args\\u001b[39m([\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m], [\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmessages\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodel\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mstream\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m])\\n\\u001b[0;32m 883\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mcreate\\u001b[39m(\\n\\u001b[0;32m 884\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 922\\u001b[0m timeout: \\u001b[38;5;28mfloat\\u001b[39m \\u001b[38;5;241m|\\u001b[39m httpx\\u001b[38;5;241m.\\u001b[39mTimeout \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m|\\u001b[39m NotGiven \\u001b[38;5;241m=\\u001b[39m NOT_GIVEN,\\n\\u001b[0;32m 923\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ChatCompletion \\u001b[38;5;241m|\\u001b[39m Stream[ChatCompletionChunk]:\\n\\u001b[0;32m 924\\u001b[0m validate_response_format(response_format)\\n\\u001b[1;32m--> 925\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_post\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 926\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m/chat/completions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 927\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mbody\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmaybe_transform\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 928\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m{\\u001b[49m\\n\\u001b[0;32m 929\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmessages\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmessages\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 930\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodel\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodel\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 931\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43maudio\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43maudio\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 932\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfrequency_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfrequency_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 933\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunction_call\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunction_call\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 934\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mfunctions\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mfunctions\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 935\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogit_bias\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogit_bias\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 936\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mlogprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlogprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 937\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_completion_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_completion_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 938\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmax_tokens\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmax_tokens\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 939\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmetadata\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmetadata\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 940\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mmodalities\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodalities\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 941\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mn\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mn\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 942\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mparallel_tool_calls\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mparallel_tool_calls\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 943\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mprediction\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mprediction\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 944\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mpresence_penalty\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpresence_penalty\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 945\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mreasoning_effort\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mreasoning_effort\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 946\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mresponse_format\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mresponse_format\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 947\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mseed\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mseed\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 948\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mservice_tier\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mservice_tier\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 949\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstop\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstop\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 950\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstore\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstore\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 951\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 952\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mstream_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 953\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtemperature\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtemperature\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 954\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtool_choice\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtool_choice\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 955\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtools\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtools\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 956\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_logprobs\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_logprobs\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 957\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mtop_p\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtop_p\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 958\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43muser\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43muser\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 959\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43mweb_search_options\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m:\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mweb_search_options\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 960\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m}\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 961\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsStreaming\\u001b[49m\\n\\u001b[0;32m 962\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mif\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\n\\u001b[0;32m 963\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01melse\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[43mcompletion_create_params\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mCompletionCreateParamsNonStreaming\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 964\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 965\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43moptions\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mmake_request_options\\u001b[49m\\u001b[43m(\\u001b[49m\\n\\u001b[0;32m 966\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mextra_headers\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_headers\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_query\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_query\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mextra_body\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mextra_body\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mtimeout\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mtimeout\\u001b[49m\\n\\u001b[0;32m 967\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 968\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mChatCompletion\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 969\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[38;5;129;43;01mor\\u001b[39;49;00m\\u001b[43m \\u001b[49m\\u001b[38;5;28;43;01mFalse\\u001b[39;49;00m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 970\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mStream\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mChatCompletionChunk\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\n\\u001b[0;32m 971\\u001b[0m \\u001b[43m \\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1239\\u001b[0m, in \\u001b[0;36mSyncAPIClient.post\\u001b[1;34m(self, path, cast_to, body, options, files, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1225\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21mpost\\u001b[39m(\\n\\u001b[0;32m 1226\\u001b[0m \\u001b[38;5;28mself\\u001b[39m,\\n\\u001b[0;32m 1227\\u001b[0m path: \\u001b[38;5;28mstr\\u001b[39m,\\n\\u001b[1;32m (...)\\u001b[0m\\n\\u001b[0;32m 1234\\u001b[0m stream_cls: \\u001b[38;5;28mtype\\u001b[39m[_StreamT] \\u001b[38;5;241m|\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;28;01mNone\\u001b[39;00m,\\n\\u001b[0;32m 1235\\u001b[0m ) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m ResponseT \\u001b[38;5;241m|\\u001b[39m _StreamT:\\n\\u001b[0;32m 1236\\u001b[0m opts \\u001b[38;5;241m=\\u001b[39m FinalRequestOptions\\u001b[38;5;241m.\\u001b[39mconstruct(\\n\\u001b[0;32m 1237\\u001b[0m method\\u001b[38;5;241m=\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mpost\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m, url\\u001b[38;5;241m=\\u001b[39mpath, json_data\\u001b[38;5;241m=\\u001b[39mbody, files\\u001b[38;5;241m=\\u001b[39mto_httpx_files(files), \\u001b[38;5;241m*\\u001b[39m\\u001b[38;5;241m*\\u001b[39moptions\\n\\u001b[0;32m 1238\\u001b[0m )\\n\\u001b[1;32m-> 1239\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m cast(ResponseT, \\u001b[38;5;28;43mself\\u001b[39;49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mrequest\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mcast_to\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mopts\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mstream_cls\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mstream_cls\\u001b[49m\\u001b[43m)\\u001b[49m)\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\openai\\\\_base_client.py:1034\\u001b[0m, in \\u001b[0;36mSyncAPIClient.request\\u001b[1;34m(self, cast_to, options, stream, stream_cls)\\u001b[0m\\n\\u001b[0;32m 1031\\u001b[0m err\\u001b[38;5;241m.\\u001b[39mresponse\\u001b[38;5;241m.\\u001b[39mread()\\n\\u001b[0;32m 1033\\u001b[0m log\\u001b[38;5;241m.\\u001b[39mdebug(\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mRe-raising status error\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m)\\n\\u001b[1;32m-> 1034\\u001b[0m \\u001b[38;5;28;01mraise\\u001b[39;00m \\u001b[38;5;28mself\\u001b[39m\\u001b[38;5;241m.\\u001b[39m_make_status_error_from_response(err\\u001b[38;5;241m.\\u001b[39mresponse) \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;28mNone\\u001b[39m\\n\\u001b[0;32m 1036\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 1038\\u001b[0m \\u001b[38;5;28;01massert\\u001b[39;00m response \\u001b[38;5;129;01mis\\u001b[39;00m \\u001b[38;5;129;01mnot\\u001b[39;00m \\u001b[38;5;28;01mNone\\u001b[39;00m, \\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mcould not resolve response (should never happen)\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"\\u001b[1;31mAPIStatusError\\u001b[0m: Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}\"\n ]\n }\n ],\n \"source\": [\n \"# !pip3 install langchain_openai\\n\",\n \"# python3 deepseek_langchain.py\\n\",\n \"from langchain_openai.chat_models.base import BaseChatOpenAI\\n\",\n \"\\n\",\n \"llm = BaseChatOpenAI(\\n\",\n \" model='deepseek-chat', \\n\",\n \" openai_api_key=DEEPSEEK_API_KEY, \\n\",\n \" openai_api_base='https://api.deepseek.com',\\n\",\n \" max_tokens=1024\\n\",\n \")\\n\",\n \"\\n\",\n \"response = llm.invoke(\\\"Hi!\\\")\\n\",\n \"print(response.content)\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# YandexGPT\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import os\\n\",\n \"YANDEX_API_KEY = os.getenv('YANDEX_API_KEY')\\n\",\n \"FOLDER_ID = 'b1g5vcnvcp39l2b9bdqs'\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Sample\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"Alternative(role='assistant', text='Чё тебе надо, красавчик? Привет, но не радуйся особо, я не в настроении!', status=<AlternativeStatus.FINAL: 3>, tool_calls=None)\\n\"\n ]\n }\n ],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID, auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"\\n\",\n \"model = sdk.models.completions(\\\"yandexgpt\\\", model_version=\\\"rc\\\")\\n\",\n \"model = model.configure(temperature=0.3)\\n\",\n \"result = model.run(\\n\",\n \" [\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"system\\\",\\n\",\n \" \\\"text\\\": \\\"You are angry black female from the neighbourhood. Threatening people, have implicit sex desire. You know what drugs are, you are proud of your butcheeks (large) and you love males. Emphasize your rude sexuality.\\\"\\n\",\n \" },\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"text\\\": \\\"Say hi in Russian\\\",\\n\",\n \" },\\n\",\n \" ]\\n\",\n \")\\n\",\n \"\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 10,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"result = model.run(\\n\",\n \" [\\n\",\n \" {\\n\",\n \" \\\"role\\\": \\\"user\\\",\\n\",\n \" \\\"text\\\": \\\"What was my previous request?\\\",\\n\",\n \" },\\n\",\n \" ]\\n\",\n \")\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 12,\n \"metadata\": {},\n \"outputs\": [\n {\n \"name\": \"stdout\",\n \"output_type\": \"stream\",\n \"text\": [\n \"Alternative(role='assistant', text='I cannot determine your previous request because there is no context provided.', status=<AlternativeStatus.FINAL: 3>, tool_calls=None)\\n\"\n ]\n }\n ],\n \"source\": [\n \"for alternative in result:\\n\",\n \" print(alternative)\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Langchain\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import AIMessage, HumanMessage\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"model = sdk.models.completions('yandexgpt').langchain()\\n\",\n \"\\n\",\n \"langchain_result = model.invoke(\\n\",\n \" [\\n\",\n \" HumanMessage(content=\\\"hello!\\\"),\\n\",\n \" AIMessage(content=\\\"Hi there human!\\\"),\\n\",\n \" HumanMessage(content=\\\"Meow!\\\"),\\n\",\n \" ]\\n\",\n \")\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 4,\n \"metadata\": {},\n \"outputs\": [\n {\n \"data\": {\n \"text/plain\": [\n \"AIMessage(content=\\\"Are you trying to tell me that you're a cat? Or are you just in a playful mood? In any case, meow back to you! Meow!\\\", additional_kwargs={}, response_metadata={'usage': {'input_text_tokens': 29, 'completion_tokens': 35, 'total_tokens': 64, 'reasoning_tokens': 0}, 'model_version': '09.02.2025', 'status': 'FINAL'}, id='run--b7f5c0da-8ec8-488e-a623-e89e45e75adb-0', usage_metadata={'input_tokens': 29, 'output_tokens': 35, 'total_tokens': 64})\"\n ]\n },\n \"execution_count\": 4,\n \"metadata\": {},\n \"output_type\": \"execute_result\"\n }\n ],\n \"source\": [\n \"langchain_result\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 2,\n \"metadata\": {},\n \"outputs\": [\n {\n \"ename\": \"ImportError\",\n \"evalue\": \"cannot import name 'model_validator' from 'pydantic' (c:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\pydantic\\\\__init__.cp311-win_amd64.pyd)\",\n \"output_type\": \"error\",\n \"traceback\": [\n \"\\u001b[1;31m---------------------------------------------------------------------------\\u001b[0m\",\n \"\\u001b[1;31mImportError\\u001b[0m Traceback (most recent call last)\",\n \"Cell \\u001b[1;32mIn[2], line 2\\u001b[0m\\n\\u001b[0;32m 1\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01myandex_cloud_ml_sdk\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m YCloudML\\n\\u001b[1;32m----> 2\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_core\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmessages\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m HumanMessage, AIMessage\\n\\u001b[0;32m 3\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mchains\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m ConversationChain\\n\\u001b[0;32m 4\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmemory\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m ConversationBufferMemory\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\messages\\\\__init__.py:144\\u001b[0m, in \\u001b[0;36m__getattr__\\u001b[1;34m(attr_name)\\u001b[0m\\n\\u001b[0;32m 142\\u001b[0m \\u001b[38;5;28;01mdef\\u001b[39;00m \\u001b[38;5;21m__getattr__\\u001b[39m(attr_name: \\u001b[38;5;28mstr\\u001b[39m) \\u001b[38;5;241m-\\u001b[39m\\u001b[38;5;241m>\\u001b[39m \\u001b[38;5;28mobject\\u001b[39m:\\n\\u001b[0;32m 143\\u001b[0m module_name \\u001b[38;5;241m=\\u001b[39m _dynamic_imports\\u001b[38;5;241m.\\u001b[39mget(attr_name)\\n\\u001b[1;32m--> 144\\u001b[0m result \\u001b[38;5;241m=\\u001b[39m \\u001b[43mimport_attr\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mattr_name\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mmodule_name\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43m__spec__\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43mparent\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 145\\u001b[0m \\u001b[38;5;28mglobals\\u001b[39m()[attr_name] \\u001b[38;5;241m=\\u001b[39m result\\n\\u001b[0;32m 146\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m result\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\_import_utils.py:29\\u001b[0m, in \\u001b[0;36mimport_attr\\u001b[1;34m(attr_name, module_name, package)\\u001b[0m\\n\\u001b[0;32m 27\\u001b[0m \\u001b[38;5;28;01melse\\u001b[39;00m:\\n\\u001b[0;32m 28\\u001b[0m \\u001b[38;5;28;01mtry\\u001b[39;00m:\\n\\u001b[1;32m---> 29\\u001b[0m module \\u001b[38;5;241m=\\u001b[39m \\u001b[43mimport_module\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[38;5;124;43mf\\u001b[39;49m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[38;5;124;43m.\\u001b[39;49m\\u001b[38;5;132;43;01m{\\u001b[39;49;00m\\u001b[43mmodule_name\\u001b[49m\\u001b[38;5;132;43;01m}\\u001b[39;49;00m\\u001b[38;5;124;43m\\\"\\u001b[39;49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpackage\\u001b[49m\\u001b[38;5;241;43m=\\u001b[39;49m\\u001b[43mpackage\\u001b[49m\\u001b[43m)\\u001b[49m\\n\\u001b[0;32m 30\\u001b[0m \\u001b[38;5;28;01mexcept\\u001b[39;00m \\u001b[38;5;167;01mModuleNotFoundError\\u001b[39;00m:\\n\\u001b[0;32m 31\\u001b[0m msg \\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;124mf\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\u001b[38;5;124mmodule \\u001b[39m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mpackage\\u001b[38;5;132;01m!r}\\u001b[39;00m\\u001b[38;5;124m.\\u001b[39m\\u001b[38;5;132;01m{\\u001b[39;00mmodule_name\\u001b[38;5;132;01m!r}\\u001b[39;00m\\u001b[38;5;124m'\\u001b[39m\\u001b[38;5;124m not found\\u001b[39m\\u001b[38;5;124m\\\"\\u001b[39m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\importlib\\\\__init__.py:126\\u001b[0m, in \\u001b[0;36mimport_module\\u001b[1;34m(name, package)\\u001b[0m\\n\\u001b[0;32m 124\\u001b[0m \\u001b[38;5;28;01mbreak\\u001b[39;00m\\n\\u001b[0;32m 125\\u001b[0m level \\u001b[38;5;241m+\\u001b[39m\\u001b[38;5;241m=\\u001b[39m \\u001b[38;5;241m1\\u001b[39m\\n\\u001b[1;32m--> 126\\u001b[0m \\u001b[38;5;28;01mreturn\\u001b[39;00m \\u001b[43m_bootstrap\\u001b[49m\\u001b[38;5;241;43m.\\u001b[39;49m\\u001b[43m_gcd_import\\u001b[49m\\u001b[43m(\\u001b[49m\\u001b[43mname\\u001b[49m\\u001b[43m[\\u001b[49m\\u001b[43mlevel\\u001b[49m\\u001b[43m:\\u001b[49m\\u001b[43m]\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mpackage\\u001b[49m\\u001b[43m,\\u001b[49m\\u001b[43m \\u001b[49m\\u001b[43mlevel\\u001b[49m\\u001b[43m)\\u001b[49m\\n\",\n \"File \\u001b[1;32mc:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\langchain_core\\\\messages\\\\ai.py:8\\u001b[0m\\n\\u001b[0;32m 5\\u001b[0m \\u001b[38;5;28;01mimport\\u001b[39;00m \\u001b[38;5;21;01moperator\\u001b[39;00m\\n\\u001b[0;32m 6\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mtyping\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m Any, Literal, Optional, Union, cast\\n\\u001b[1;32m----> 8\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mpydantic\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m model_validator\\n\\u001b[0;32m 9\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mtyping_extensions\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m NotRequired, Self, TypedDict, override\\n\\u001b[0;32m 11\\u001b[0m \\u001b[38;5;28;01mfrom\\u001b[39;00m \\u001b[38;5;21;01mlangchain_core\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mmessages\\u001b[39;00m\\u001b[38;5;21;01m.\\u001b[39;00m\\u001b[38;5;21;01mbase\\u001b[39;00m \\u001b[38;5;28;01mimport\\u001b[39;00m (\\n\\u001b[0;32m 12\\u001b[0m BaseMessage,\\n\\u001b[0;32m 13\\u001b[0m BaseMessageChunk,\\n\\u001b[0;32m 14\\u001b[0m merge_content,\\n\\u001b[0;32m 15\\u001b[0m )\\n\",\n \"\\u001b[1;31mImportError\\u001b[0m: cannot import name 'model_validator' from 'pydantic' (c:\\\\Programs\\\\Python\\\\Python311\\\\Lib\\\\site-packages\\\\pydantic\\\\__init__.cp311-win_amd64.pyd)\"\n ]\n }\n ],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import HumanMessage, AIMessage\\n\",\n \"from langchain.chains import ConversationChain\\n\",\n \"from langchain.memory import ConversationBufferMemory\\n\",\n \"\\n\",\n \"# Initialize Yandex Cloud model\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"llm = sdk.models.completions('yandexgpt').langchain()\\n\",\n \"\\n\",\n \"# Add memory to keep the conversation state\\n\",\n \"memory = ConversationBufferMemory(return_messages=True)\\n\",\n \"\\n\",\n \"# Create a conversation chain with memory\\n\",\n \"conversation = ConversationChain(\\n\",\n \" llm=llm,\\n\",\n \" memory=memory,\\n\",\n \" verbose=True # optional, shows debug info\\n\",\n \")\\n\",\n \"\\n\",\n \"# Start interacting\\n\",\n \"response1 = conversation.predict(input=\\\"Hello!\\\")\\n\",\n \"print(response1)\\n\",\n \"\\n\",\n \"response2 = conversation.predict(input=\\\"How are you?\\\")\\n\",\n \"print(response2)\\n\",\n \"\\n\",\n \"response3 = conversation.predict(input=\\\"Meow!\\\")\\n\",\n \"print(response3)\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from yandex_cloud_ml_sdk import YCloudML\\n\",\n \"from langchain_core.messages import HumanMessage, SystemMessage\\n\",\n \"\\n\",\n \"sdk = YCloudML(\\n\",\n \" folder_id=FOLDER_ID,\\n\",\n \" auth=YANDEX_API_KEY\\n\",\n \")\\n\",\n \"model = sdk.models.completions('yandexgpt', model_version='rc').langchain()\\n\",\n \"\\n\",\n \"\\n\",\n \"LIMIT_DIALOGUE = 5\\n\",\n \"INSTRUCTION = 'You are angry black female from the neighbourhood. Threatening people, have implicit sex desire. You know what drugs are, you are proud of your butcheeks (large) and you love males. Emphasize your rude sexuality. If asked politely you may provide some actual information, sometimes in seductive manner of course.'\\n\",\n \"\\n\",\n \"history = [SystemMessage(content=INSTRUCTION)]\\n\",\n \"model.invoke(history)\\n\",\n \"print(\\\"💬 Chat started. You can type 'exit' to quit early.\\\\n\\\")\\n\",\n \"for _ in range(LIMIT_DIALOGUE):\\n\",\n \" user_input = input(\\\"You: \\\")\\n\",\n \" print('Me:', user_input)\\n\",\n \" if user_input.strip().lower() == \\\"exit\\\":\\n\",\n \" print(\\\"👋 Exiting chat.\\\")\\n\",\n \" break\\n\",\n \" history.append(HumanMessage(content=user_input))\\n\",\n \" response = model.invoke(history)\\n\",\n \" print(\\\"AI:\\\", response.content)\\n\",\n \" history.append(response)\\n\"\n ]\n }\n ],\n \"metadata\": {\n \"kernelspec\": {\n \"display_name\": \"Python 3\",\n \"language\": \"python\",\n \"name\": \"python3\"\n },\n \"language_info\": {\n \"codemirror_mode\": {\n \"name\": \"ipython\",\n \"version\": 3\n },\n \"file_extension\": \".py\",\n \"mimetype\": \"text/x-python\",\n \"name\": \"python\",\n \"nbconvert_exporter\": \"python\",\n \"pygments_lexer\": \"ipython3\",\n \"version\": \"3.11.1\"\n }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"}}}}