< prev | next >

Application Programming Interface

An Application Programming Interface (API) defines communications between client applications and server software processes.

Machine Learning systems and processes are often accessed via APIs.

API Request specifications define the types and format of API inputs and outputs.

Client Applications and Server Software can be located in the same (local) or separate (remote) hardware systems.

When applications and servers are located in separate hardware systems, the common practice is to use remote access technologies such as:

APIs vs. Functions

APIs and Functions are similar in some ways and different in others:

API Specifications

API Specifications typically include elements such as:

API Processing

API requests are typically processed as illustrated below:

  • Application Processing - programming code that uses APIs to access specifically defined capabilities

  • Client Application - applications that serve defined user requirements

  • Request - data sent in a specific format from a client application to server software, typically including key-value pairs

  • Response - data sent in a specific format from server software to a client application, typically including JSON formatted data

  • Request Handler - programming code that communicates with an application API request send/receive

  • Request Send/Receive - programming code that communicates with a server request handler

  • Server Processing - programming code that performs server functions

  • Server Software - programming code that performs application functions

API Access Example Code

Below is a Python code example of accessing OpenAI GPT model.

# Install the openai library.
pip install openai

#Import the openai library.
import openai

# Set up your OpenAI API key.
# Replace 'your-api-key-here' with your actual OpenAI API key
openai.api_key = "your-api-key-here"

# Define a function to generate a response from GPT
def get_gpt_response(prompt, model="gpt-4", max_tokens=150, temperature=0.7):
    """
    Function to interact with GPT via the OpenAI API.
    
    Args:
        prompt (str): The input prompt to be sent to the model.
        model (str): The name of the GPT model to use, e.g., "gpt-4" or "gpt-3.5-turbo".
        max_tokens (int): The maximum number of tokens to generate in the response.
        temperature (float): Sampling temperature for randomness in the response (0 = deterministic, 1 = very random).

    Returns:
        str: The generated response from GPT.
    """
    try:
        response = openai.Completion.create(
            engine=model,                     # Model to use, e.g., "gpt-4" or "gpt-3.5-turbo"
            prompt=prompt,                   # The prompt or query you want to ask GPT
            max_tokens=max_tokens,   # Limit the response length
            temperature=temperature,  # Randomness level, between 0 and 1
            n=1,                                       # Number of responses to return
            stop=None,                          # Optionally, you can specify stop sequences
        )
        
        # Extract the response text from the API response
        return response.choices[0].text.strip()
    
    except Exception as e:
        print(f"Error communicating with OpenAI API: {e}")
        return None

# Using the function to get a response from GPT.
if __name__ == "__main__":
    prompt = "What are the benefits of using AI in healthcare?"
    
    # Call the function to get GPT's response
    gpt_response = get_gpt_response(prompt, model="gpt-4", max_tokens=200, temperature=0.7)
    
    # Print the response
    print("GPT Response:")
    print(gpt_response)