No project description provided
Project description
OpenAI extensions
Get Pocket OpenAI Tool Spec
from hyperpocket.tool import from_git
from hyperpocket_openai import PocketOpenAI
pocket = PocketOpenAI(tools=[
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
]
)
# get openai tool specs from pocket
tool_specs = pocket.get_open_ai_tool_specs()
Tool Injection
import os
from openai import OpenAI
llm = OpenAI()
messages = [
{
"role": "user",
"content": "get slack message",
}
]
response = llm.chat.completions.create(
model=os.getenv("OPEN_AI_MODEL"),
messages=messages,
tools=tool_specs # pass the tool specs as an tools argument
)
Tool Call
response = llm.chat.completions.create(
model=os.getenv("OPEN_AI_MODEL"),
messages=messages,
tools=tool_specs
)
choice = response.choices[0]
messages.append(choice.message)
if choice.finish_reason == "tool_calls":
for tool_call in choice.message.tool_calls:
# tool call by pocket
tool_message = pocket.invoke(tool_call)
messages.append(tool_message)
# ...
Full Code
import os
from hyperpocket.tool import from_git
from openai import OpenAI
from hyperpocket_openai import PocketOpenAI
pocket = PocketOpenAI(tools=[
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
]
)
tool_specs = pocket.get_open_ai_tool_specs()
llm = OpenAI()
messages = [
{
"role": "user",
"content": "get slack message",
}
]
response = llm.chat.completions.create(
model=os.getenv("OPEN_AI_MODEL"),
messages=messages,
tools=tool_specs
)
choice = response.choices[0]
messages.append(choice.message)
if choice.finish_reason == "tool_calls":
for tool_call in choice.message.tool_calls:
tool_message = pocket.invoke(tool_call)
messages.append(tool_message)
repsonse_after_tool_call = llm.chat.completions.create(
model=os.getenv("OPEN_AI_MODEL"),
messages=messages,
tools=tool_specs
)
Examples
from hyperpocket.tool import from_git
from openai import OpenAI
from hyperpocket_openai import PocketOpenAI
pocket = PocketOpenAI(
tools=[
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/get-message"),
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/slack/post-message"),
]
)
tool_specs = pocket.get_open_ai_tool_specs()
model = OpenAI()
messages = []
while True:
print("user input(q to quit) : ", end="")
user_input = input()
if user_input == "q":
break
user_message = {"content": user_input, "role": "user"}
messages.append(user_message)
while True:
response = model.chat.completions.create(
model="gpt-4o",
messages=messages,
tools=tool_specs,
)
choice = response.choices[0]
messages.append(choice.message)
if choice.finish_reason == "stop":
break
elif choice.finish_reason == "tool_calls":
tool_calls = choice.message.tool_calls
for tool_call in tool_calls:
tool_message = pocket.invoke(tool_call)
messages.append(tool_message)
print("response : ", messages[-1].content)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hyperpocket_openai-0.1.8.tar.gz
(58.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hyperpocket_openai-0.1.8.tar.gz.
File metadata
- Download URL: hyperpocket_openai-0.1.8.tar.gz
- Upload date:
- Size: 58.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
767e652c8a6759eb0b6cf43ff79c8ed0d0ca02a95309a27ecf23e1192fde007c
|
|
| MD5 |
5a60a9fb53722269044c86b8bc7e85e9
|
|
| BLAKE2b-256 |
3b6cff3ba98c3c1d17ef6d81098bb41f79c6384567c33da865d1556bc53329e8
|
File details
Details for the file hyperpocket_openai-0.1.8-py3-none-any.whl.
File metadata
- Download URL: hyperpocket_openai-0.1.8-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c159cdcb97801f2c2c679ac3f981e8cec449fbe025e206098a171f90dd5d563d
|
|
| MD5 |
2043a90eb407374ed4a0f654d91115c9
|
|
| BLAKE2b-256 |
12531eb28ce5c44f4a3d1510febe0d5e26b387a11b9b5eda38e568a81d0cfe92
|