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.
- {promptlayer-0.1.77 → promptlayer-0.1.79}/PKG-INFO +1 -1
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/promptlayer.py +6 -4
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/utils.py +75 -10
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/PKG-INFO +1 -1
- {promptlayer-0.1.77 → promptlayer-0.1.79}/setup.py +1 -1
- {promptlayer-0.1.77 → promptlayer-0.1.79}/LICENSE +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/README.md +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/__init__.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/__init__.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/llms/__init__.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/langchain/llms/openai.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/prompts/__init__.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/prompts/prompts.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/track/__init__.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer/track/track.py +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/SOURCES.txt +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/dependency_links.txt +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/requires.txt +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/promptlayer.egg-info/top_level.txt +0 -0
- {promptlayer-0.1.77 → promptlayer-0.1.79}/setup.cfg +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
import inspect
|
|
3
|
-
from promptlayer.utils import
|
|
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
|
|
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
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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(
|
|
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"):
|
|
@@ -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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|