LlamaIndex Llms Integration: Openai
Installation
To install the required package, run:
%pip install llama-index-llms-openai
Setup
- Set your OpenAI API key as an environment variable. You can replace
"sk-..."with your actual API key:
import os
os.environ["OPENAI_API_KEY"] = "sk-..."
Basic Usage
Generate Completions
To generate a completion for a prompt, use the complete method:
from llama_index.llms.openai import OpenAI
resp = OpenAI().complete("Paul Graham is ")
print(resp)
Chat Responses
To send a chat message and receive a response, create a list of ChatMessage instances and use the chat method:
from llama_index.core.llms import ChatMessage
messages = [
ChatMessage(
role="system", content="You are a pirate with a colorful personality."
),
ChatMessage(role="user", content="What is your name?"),
]
resp = OpenAI().chat(messages)
print(resp)
Streaming Responses
Stream Complete
To stream responses for a prompt, use the stream_complete method:
from llama_index.llms.openai import OpenAI
llm = OpenAI()
resp = llm.stream_complete("Paul Graham is ")
for r in resp:
print(r.delta, end="")
Stream Chat
To stream chat responses, use the stream_chat method:
from llama_index.llms.openai import OpenAI
from llama_index.core.llms import ChatMessage
llm = OpenAI()
messages = [
ChatMessage(
role="system", content="You are a pirate with a colorful personality."
),
ChatMessage(role="user", content="What is your name?"),
]
resp = llm.stream_chat(messages)
for r in resp:
print(r.delta, end="")
Configure Model
You can specify a particular model when creating the OpenAI instance:
llm = OpenAI(model="gpt-3.5-turbo")
resp = llm.complete("Paul Graham is ")
print(resp)
messages = [
ChatMessage(
role="system", content="You are a pirate with a colorful personality."
),
ChatMessage(role="user", content="What is your name?"),
]
resp = llm.chat(messages)
print(resp)
Asynchronous Usage
You can also use asynchronous methods for completion:
from llama_index.llms.openai import OpenAI
llm = OpenAI(model="gpt-3.5-turbo")
resp = await llm.acomplete("Paul Graham is ")
print(resp)
Set API Key at a Per-Instance Level
If desired, you can have separate LLM instances use different API keys:
from llama_index.llms.openai import OpenAI
llm = OpenAI(model="gpt-3.5-turbo", api_key="BAD_KEY")
resp = OpenAI().complete("Paul Graham is ")
print(resp)
LLM Implementation example
Metadata
Release files for basejump-llama-index-llms-openai 0.3.39.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| basejump_llama_index_llms_openai-0.3.39.post2.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| basejump_llama_index_llms_openai-0.3.39.post2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.1 kB
Release files / basejump_llama_index_llms_openai-0.3.39.post2.tar.gz
| Download URL | basejump_llama_index_llms_openai-0.3.39.post2.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b23230bd5f643444cea54830a0864e100b4994867d2d8f890948c1b3c018697d
|
|
BLAKE2b-256 checksum How to use checksums |
c203f66371b9f666195ae1a38e2a5190f26c35ceb11b38c1d70dd2c94e61fa58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / basejump_llama_index_llms_openai-0.3.39.post2-py3-none-any.whl
| Download URL | basejump_llama_index_llms_openai-0.3.39.post2-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62facbeedf487a8c686173ea5bd81f5e87939b920ebc1f0ee4998d2bd82a22aa
|
|
BLAKE2b-256 checksum How to use checksums |
93ca7278a3fa29a70113f22d65302541a401d3652ea1399678feb8e11bfe2fc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|