Skip to main content

Python client for Semantic Equivalence API - optimize prompts for semantic equivalence

Project description

Semantic EQ Client

This package provides a simple Python client for the Semantic EQ API.

Installation

pip install semantic-eq

Usage

from client_lib import SemanticEQ
import openai

# Initialize SemanticEQ client, compress your system prompt
seq_client = SemanticEQ(api_key="YOUR_SEMANTIC_EQ_API_KEY", system_prompt="<your-input-system-prompt>")

# Compress the original user prompt and system prompt
compressed = seq_client.compress_prompt(user_prompt="Your long and detailed prompt...")

# Call OpenAI's GPT-4 with the compressed prompt
openai.api_key = "YOUR_OPENAI_API_KEY"
response = openai.ChatCompletion.create(
    model="gpt-4o",  # or "gpt-4" if preferred
    messages=[
        {"role": "system", "content": compressed.compressed_system_prompt},
        {"role": "user", "content": compressed.compressed_user_prompt}
    ]
)

# Print the response from GPT-4
print(response["choices"][0]["message"]["content"])

Publishing a New Version (for Maintainers)

Publishing the client is handled by a script that automates the entire process.

Prerequisites:

  1. PyPI Account: You need an account on PyPI and an API token.
  2. Twine Configuration: Your local machine must be configured to authenticate with PyPI. You can do this by setting the TWINE_USERNAME and TWINE_PASSWORD environment variables.

To publish a new version:

  1. Navigate to the client directory: cd semantic_eq_client
  2. Run the publishing script. You have two options:
    • To automatically bump the patch version (e.g., 1.0.1 -> 1.0.2), run the script without arguments:
      ./publish_client_lib.sh
      
    • To specify an exact version (e.g., for a major release like 2.0.0), provide it as an argument:
      ./publish_client_lib.sh 2.0.0
      
  3. The script will handle everything else automatically.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semantic_eq-1.0.6.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

semantic_eq-1.0.6-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file semantic_eq-1.0.6.tar.gz.

File metadata

  • Download URL: semantic_eq-1.0.6.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for semantic_eq-1.0.6.tar.gz
Algorithm Hash digest
SHA256 6a75e4179c51a18a025b0d3c7b7891fe2f0bb0891128982c96a9ae109b26ed0c
MD5 96c0b56e680e733d1d1721428e7e3bda
BLAKE2b-256 e6ecad0e9f473e883a83bae7941543e3b31e0b67fd71b432ee6785ff2a3f64e3

See more details on using hashes here.

File details

Details for the file semantic_eq-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: semantic_eq-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for semantic_eq-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9b433e714bb0fe0e80bc299b7281fa6447e3bef9eb8313db32be98a606ab87e4
MD5 c025c40e82f0f37a2dbe2fdaac52b18f
BLAKE2b-256 9d1ee416d143c922809d982bf54ad1c6fe2dcf715e67007af7bde90266fa6bd2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page