Training materials for LLM engineering
- Creating an
OpenAI clientusing Azure
from openai import AzureOpenAI
client = AzureOpenAI(
api_key={api_key},
azure_endpoint={azure_api_endpoint},
api_version={api_version}
)- Creating an
assistantusing Azure OpenAI client
See more here.
from openai import AzureOpenAI
assistantClient = AzureOpenAI(
api_key={api_key},
azure_endpoint=f"{azure_api_endpoint}/openai/assistants?api-version={api_version}",
api_version={api_version}
)
assistant = assistantClient.beta.assistants.create(
name="Math Assistant",
instructions="You are an AI assistant that can write code to help answer math questions.",
tools=[{"type": "code_interpreter"}],
model="gpt-4o" # model deployed in Azure
)- Creating a
threadusing Azure OpenAI client
See more here.
from openai import AzureOpenAI
threadsClient = AzureOpenAI(
api_key={api_key},
azure_endpoint=f"{azure_api_endpoint}/openai/threads?api-version={api_version}",
api_version={api_version}
)
thread = threadsClient.beta.threads.create()- Creating a
messageusing Azure OpenAI client
See more here.
from openai import AzureOpenAI
messageClient = AzureOpenAI(
api_key={api_key},
azure_endpoint=f"{azure_api_endpoint}/openai/threads/{thread.id}/messages?api-version={api_version}",
api_version={api_version}
)
# Add a user question to the thread
message = messageClient.beta.threads.messages.create(
thread_id={thread.id},
role="user",
content="Who are the characters in the story?"
)- Creating a
runusing Azure OpenAI Client
See more here.
from openai import AzureOpenAI
runClient = AzureOpenAI(
api_key={api_key},
azure_endpoint=f"{azure_api_endpoint}/openai/threads/{thread.id}/runs?api-version={api_version}",
api_version={api_version}
)
# Run the thread
run = runClient.beta.threads.runs.create(
thread_id={thread.id},
assistant_id={assistant.id},
)- Create the client
from langchain_openai import AzureChatOpenAI
from langchain.schema.output_parser import StrOutputParser
from operator import itemgetter
client = AzureChatOpenAI(
model={model}, #eg. gpt-4o
api_key={api_key},
api_version={api_version},
azure_endpoint={azure_endpoint}
)
chain = return (
{"context": itemgetter("context"), "question": itemgetter("question")}
| prompt | client | StrOutputParser()
)
response = chain.invoke({"context": {context}, "question": {user_input}})Learn more about Azure OpenAI documentation from here.