promptlayer 0.1.77__tar.gz → 0.1.79__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of promptlayer might be problematic. Click here for more details.

Files changed (20) hide show
  1. {promptlayer-0.1.77 → promptlayer-0.1.79}/PKG-INFO +1 -1
  2. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/promptlayer.py +6 -4
  3. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/utils.py +75 -10
  4. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/PKG-INFO +1 -1
  5. {promptlayer-0.1.77 → promptlayer-0.1.79}/setup.py +1 -1
  6. {promptlayer-0.1.77 → promptlayer-0.1.79}/LICENSE +0 -0
  7. {promptlayer-0.1.77 → promptlayer-0.1.79}/README.md +0 -0
  8. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/__init__.py +0 -0
  9. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/__init__.py +0 -0
  10. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/llms/__init__.py +0 -0
  11. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/llms/openai.py +0 -0
  12. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/prompts/__init__.py +0 -0
  13. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/prompts/prompts.py +0 -0
  14. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/track/__init__.py +0 -0
  15. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/track/track.py +0 -0
  16. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/SOURCES.txt +0 -0
  17. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/dependency_links.txt +0 -0
  18. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/requires.txt +0 -0
  19. {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/top_level.txt +0 -0
  20. {promptlayer-0.1.77 → promptlayer-0.1.79}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: promptlayer
3
- Version: 0.1.77
3
+ Version: 0.1.79
4
4
  Summary: PromptLayer is a package to keep track of your GPT models training
5
5
  Home-page: https://www.promptlayer.com
6
6
  Author: Magniv
@@ -1,6 +1,10 @@
1
1
  import datetime
2
2
  import inspect
3
- from promptlayer.utils import get_api_key, promptlayer_api_handler, run_in_thread_async
3
+ from promptlayer.utils import (
4
+ get_api_key,
5
+ promptlayer_api_handler,
6
+ promptlayer_api_handler_async,
7
+ )
4
8
 
5
9
 
6
10
  class PromptLayerBase(object):
@@ -36,9 +40,7 @@ class PromptLayerBase(object):
36
40
  async def async_wrapper(*args, **kwargs):
37
41
  response = await function_object(*args, **kwargs)
38
42
  request_end_time = datetime.datetime.now().timestamp()
39
- return await run_in_thread_async(
40
- None,
41
- promptlayer_api_handler,
43
+ return await promptlayer_api_handler_async(
42
44
  object.__getattribute__(self, "_function_name"),
43
45
  object.__getattribute__(self, "_provider_type"),
44
46
  args,
@@ -1,11 +1,18 @@
1
1
  import asyncio
2
2
  import contextvars
3
- from copy import deepcopy
4
3
  import functools
5
- import promptlayer
6
- import requests
4
+ import os
7
5
  import sys
8
6
  import types
7
+ from copy import deepcopy
8
+
9
+ import requests
10
+
11
+ import promptlayer
12
+
13
+ URL_API_PROMPTLAYER = os.environ.setdefault(
14
+ "URL_API_PROMPTLAYER", "https://api.promptlayer.com"
15
+ )
9
16
 
10
17
 
11
18
  def get_api_key():
@@ -64,6 +71,34 @@ def promptlayer_api_handler(
64
71
  return response
65
72
 
66
73
 
74
+ async def promptlayer_api_handler_async(
75
+ function_name,
76
+ provider_type,
77
+ args,
78
+ kwargs,
79
+ tags,
80
+ response,
81
+ request_start_time,
82
+ request_end_time,
83
+ api_key,
84
+ return_pl_id=False,
85
+ ):
86
+ return await run_in_thread_async(
87
+ None,
88
+ promptlayer_api_handler,
89
+ function_name,
90
+ provider_type,
91
+ args,
92
+ kwargs,
93
+ tags,
94
+ response,
95
+ request_start_time,
96
+ request_end_time,
97
+ get_api_key(),
98
+ return_pl_id=return_pl_id,
99
+ )
100
+
101
+
67
102
  def promptlayer_api_request(
68
103
  function_name,
69
104
  provider_type,
@@ -80,7 +115,7 @@ def promptlayer_api_request(
80
115
  response = response.to_dict_recursive()
81
116
  try:
82
117
  request_response = requests.post(
83
- "https://api.promptlayer.com/track-request",
118
+ f"{URL_API_PROMPTLAYER}/track-request",
84
119
  json={
85
120
  "function_name": function_name,
86
121
  "provider_type": provider_type,
@@ -113,10 +148,38 @@ def promptlayer_api_request(
113
148
  return request_response.json().get("request_id")
114
149
 
115
150
 
151
+ def promptlayer_api_request_async(
152
+ function_name,
153
+ provider_type,
154
+ args,
155
+ kwargs,
156
+ tags,
157
+ response,
158
+ request_start_time,
159
+ request_end_time,
160
+ api_key,
161
+ return_pl_id=False,
162
+ ):
163
+ return run_in_thread_async(
164
+ None,
165
+ promptlayer_api_request,
166
+ function_name,
167
+ provider_type,
168
+ args,
169
+ kwargs,
170
+ tags,
171
+ response,
172
+ request_start_time,
173
+ request_end_time,
174
+ api_key,
175
+ return_pl_id=return_pl_id,
176
+ )
177
+
178
+
116
179
  def promptlayer_get_prompt(prompt_name, api_key):
117
180
  try:
118
181
  request_response = requests.post(
119
- "https://api.promptlayer.com/library-get-prompt-template",
182
+ f"{URL_API_PROMPTLAYER}/library-get-prompt-template",
120
183
  json={"prompt_name": prompt_name, "api_key": api_key,},
121
184
  )
122
185
  if request_response.status_code != 200:
@@ -138,7 +201,7 @@ def promptlayer_get_prompt(prompt_name, api_key):
138
201
  def promptlayer_publish_prompt(prompt_name, prompt_template, tags, api_key):
139
202
  try:
140
203
  request_response = requests.post(
141
- "https://api.promptlayer.com/library-publish-prompt-template",
204
+ f"{URL_API_PROMPTLAYER}/library-publish-prompt-template",
142
205
  json={
143
206
  "prompt_name": prompt_name,
144
207
  "prompt_template": prompt_template,
@@ -165,7 +228,7 @@ def promptlayer_publish_prompt(prompt_name, prompt_template, tags, api_key):
165
228
  def promptlayer_track_prompt(request_id, prompt_name, input_variables, api_key):
166
229
  try:
167
230
  request_response = requests.post(
168
- "https://api.promptlayer.com/library-track-prompt",
231
+ f"{URL_API_PROMPTLAYER}/library-track-prompt",
169
232
  json={
170
233
  "request_id": request_id,
171
234
  "prompt_name": prompt_name,
@@ -198,7 +261,7 @@ def promptlayer_track_prompt(request_id, prompt_name, input_variables, api_key):
198
261
  def promptlayer_track_metadata(request_id, metadata, api_key):
199
262
  try:
200
263
  request_response = requests.post(
201
- "https://api.promptlayer.com/library-track-metadata",
264
+ f"{URL_API_PROMPTLAYER}/library-track-metadata",
202
265
  json={"request_id": request_id, "metadata": metadata, "api_key": api_key,},
203
266
  )
204
267
  if request_response.status_code != 200:
@@ -226,7 +289,7 @@ def promptlayer_track_metadata(request_id, metadata, api_key):
226
289
  def promptlayer_track_score(request_id, score, api_key):
227
290
  try:
228
291
  request_response = requests.post(
229
- "https://api.promptlayer.com/library-track-score",
292
+ f"{URL_API_PROMPTLAYER}/library-track-score",
230
293
  json={"request_id": request_id, "score": score, "api_key": api_key,},
231
294
  )
232
295
  if request_response.status_code != 200:
@@ -303,7 +366,9 @@ class OpenAIGeneratorProxy:
303
366
  final_result = deepcopy(self.results[-1])
304
367
  final_result.choices[0].text = response
305
368
  return final_result
306
- elif hasattr(self.results[0].choices[0], "delta"): # this is completion with delta
369
+ elif hasattr(
370
+ self.results[0].choices[0], "delta"
371
+ ): # this is completion with delta
307
372
  response = {"message": {"role": "", "content": ""}}
308
373
  for result in self.results:
309
374
  if hasattr(result.choices[0].delta, "role"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: promptlayer
3
- Version: 0.1.77
3
+ Version: 0.1.79
4
4
  Summary: PromptLayer is a package to keep track of your GPT models training
5
5
  Home-page: https://www.promptlayer.com
6
6
  Author: Magniv
@@ -17,7 +17,7 @@ setup(
17
17
  author_email="hello@magniv.io",
18
18
  url="https://www.promptlayer.com",
19
19
  project_urls={"Documentation": "https://magniv.notion.site/Prompt-Layer-Docs-db0e6f50cacf4564a6d09824ba17a629",},
20
- version="0.1.77",
20
+ version="0.1.79",
21
21
  py_modules=["promptlayer"],
22
22
  packages=find_packages(),
23
23
  install_requires=["requests", "openai", "langchain"],
File without changes
File without changes
File without changes