How openai/openai-go works
OpenAI Go API Library is a Go client SDK for calling OpenAI’s REST API. Its main workflow is an application configuring a client, submitting model input through a service such as Responses, sending an authenticated HTTP request, and receiving decoded output; streaming and multi-turn conversation APIs extend that workflow. The tree and README document broader audio, image, files, fine-tuning, vector-store, administrative, and realtime capabilities. Sampled service methods confirm request execution through request configuration, but most service wiring and transport internals were not sampled, so uncertain call links are omitted.
Main entry points: client.go API client · requestconfig.go Request execution · response.go Responses API · conversation.go Conversations
Components 18
Client setup
- API client
client.go
Model APIs
- Responses API
responses/response.go - Conversations
conversations/conversation.go - Chat completions
chatcompletion.go - Audio and images
audio.go - Files and uploads
file.go - Fine-tuning
finetuning.go - Vector stores
vectorstore.go - Admin services
admin.go
Realtime and events
- Live sessions
live/live.go - Realtime sessions
realtime/realtime.go - Webhook events
webhooks/webhook.go
Request infrastructure
- Request execution
internal/requestconfig/requestconfig.go - JSON encoding
internal/apijson/encoder.go - Stream support
packages/ssestream/ssestream.go
Provider integrations
- Bedrock provider
bedrock/bedrock.go
Other components
- Go application
- OpenAI API
Connections 24
- Go application → API client: configures
- API client → Responses API: exposes
- API client → Conversations: exposes
- API client → Chat completions: exposes
- API client → Audio and images: exposes
- API client → Files and uploads: exposes
- API client → Fine-tuning: exposes
- API client → Vector stores: exposes
- API client → Admin services: exposes
- Go application → Responses API: submits input
- Responses API → Request execution: executes request
- Conversations → Request execution: executes request
- Admin services → Request execution: executes request
- Request execution → JSON encoding: encodes payload
- Request execution → OpenAI API: sends HTTP
- OpenAI API → Request execution: returns response
- Request execution → Responses API: decodes result
- Go application → Live sessions: opens session
- Go application → Realtime sessions: opens session
- Go application → Webhook events: verifies events
- Realtime sessions → OpenAI API: connects
- Live sessions → OpenAI API: connects
- Responses API → Stream support: streams output
- Go application → Bedrock provider: configures provider