Skip to content

Conversation

@jamadeo
Copy link
Collaborator

@jamadeo jamadeo commented Jul 14, 2025

This implements streaming for OpenAI, which is really just the same implementation as Databricks as the latter uses the format of the former. I also moved that implementation into the formats/openai.rs accordingly, and cleaned up the get_usage function a bit (it only ever returned one type of error, which we just turned into Usage::default).

@jamadeo jamadeo changed the title Implement streaming for OpenAI feat: Implement streaming for OpenAI Jul 14, 2025
@michaelneale
Copy link
Collaborator

nice one @jamadeo do you want a hand test of this with my own openai api to be sure?

@michaelneale michaelneale self-assigned this Jul 14, 2025
Copy link
Collaborator

@michaelneale michaelneale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beautiful change @jamadeo - tested it out works great

@michaelneale
Copy link
Collaborator

similarly, for anthropic: #3419

@jamadeo jamadeo merged commit 6555a53 into main Jul 15, 2025
8 checks passed
@jamadeo jamadeo deleted the jackamadeo/stream-openai branch July 15, 2025 19:16
@jamadeo
Copy link
Collaborator Author

jamadeo commented Jul 15, 2025

Huh, seems usage wasn't coming back for OpenAI. I thought it worked when I saw the cost counter go up in the UI, but that seems to use something other than the response token counts?

Anyway, #3441 to fix it

zanesq added a commit that referenced this pull request Jul 15, 2025
* 'main' of github.com:block/goose:
  fix: Set include_usage=true for OpenAI streaming (#3441)
  feat: `recipe list` (#2814) (#2815)
  docs: update github mcp config (#3433)
  feat: Implement streaming for OpenAI (#3413)
  fix: improve extension startup error messages with command details (#2694)
  [feat]: improve file search tools to add globsearch / grep tools (#3368)
  docs: typo in guide description (#3429)
  fix: use safe_truncate to truncate charactor (#3263) (#3264)
  fix: convert invalid recipe variable name to raw content (#3420)
  center goose mobile screenshot (#3418)
  docs: model context limit overrides (#3377)
  docs: Subagents (#3402)
  fix: avoid pass encoded empty string to goose run --recipe (#3361)
  ux: alphabetize extensions (#3416)
  fix: message concatenation in server session management (#3412)
  refactor: streamline memory directory management (#3345)
  feat: Add AZURE_OPENAI_API_KEY as a visible config parameter (#3265)
  feat: stream LLM responses (#2677)

# Conflicts:
#	crates/goose/src/session/storage.rs
#	ui/desktop/src/components/ChatView.tsx
#	ui/desktop/src/components/settings/extensions/subcomponents/ExtensionList.tsx
lifeizhou-ap added a commit that referenced this pull request Jul 16, 2025
* main: (54 commits)
  UI update with sidebar and settings tabs (#3288)
  docs: add CLIStreamExtensionInstructions component (#3443)
  chore(release): release version 1.0.36 (#3436)
  [goose-llm] fix image content bug, add optional request_id field (#3439)
  fix: Set include_usage=true for OpenAI streaming (#3441)
  feat: `recipe list` (#2814) (#2815)
  docs: update github mcp config (#3433)
  feat: Implement streaming for OpenAI (#3413)
  fix: improve extension startup error messages with command details (#2694)
  [feat]: improve file search tools to add globsearch / grep tools (#3368)
  docs: typo in guide description (#3429)
  fix: use safe_truncate to truncate charactor (#3263) (#3264)
  fix: convert invalid recipe variable name to raw content (#3420)
  center goose mobile screenshot (#3418)
  docs: model context limit overrides (#3377)
  docs: Subagents (#3402)
  fix: avoid pass encoded empty string to goose run --recipe (#3361)
  ux: alphabetize extensions (#3416)
  fix: message concatenation in server session management (#3412)
  refactor: streamline memory directory management (#3345)
  ...
lifeizhou-ap added a commit that referenced this pull request Jul 16, 2025
* main:
  UI update with sidebar and settings tabs (#3288)
  docs: add CLIStreamExtensionInstructions component (#3443)
  chore(release): release version 1.0.36 (#3436)
  [goose-llm] fix image content bug, add optional request_id field (#3439)
  fix: Set include_usage=true for OpenAI streaming (#3441)
  feat: `recipe list` (#2814) (#2815)
  docs: update github mcp config (#3433)
  feat: Implement streaming for OpenAI (#3413)
  fix: improve extension startup error messages with command details (#2694)
  [feat]: improve file search tools to add globsearch / grep tools (#3368)
  docs: typo in guide description (#3429)
  fix: use safe_truncate to truncate charactor (#3263) (#3264)
s-soroosh pushed a commit to s-soroosh/goose that referenced this pull request Jul 18, 2025
kwsantiago pushed a commit to kwsantiago/goose that referenced this pull request Jul 19, 2025
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
atarantino pushed a commit to atarantino/goose that referenced this pull request Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants