discourse-ai/lib/ai_bot
Sam 823e8ef490
FEATURE: partial tool call support for OpenAI and Anthropic (#908)
Implement streaming tool call implementation for Anthropic and Open AI.

When calling:

llm.generate(..., partial_tool_calls: true) do ...
Partials may contain ToolCall instances with partial: true, These tool calls are partially populated with json partially parsed.

So for example when performing a search you may get:

ToolCall(..., {search: "hello" })
ToolCall(..., {search: "hello world" })

The library used to parse json is:

https://github.com/dgraham/json-stream

We use a fork cause we need access to the internal buffer.

This prepares internals to perform partial tool calls, but does not implement it yet.
2024-11-14 06:58:24 +11:00
..
personas FEATURE: improve tool support (#904) 2024-11-12 08:14:30 +11:00
tools FIX: encode parameters returned from LLMs correctly (#889) 2024-11-04 10:07:17 +11:00
bot.rb FEATURE: partial tool call support for OpenAI and Anthropic (#908) 2024-11-14 06:58:24 +11:00
entry_point.rb FEATURE: new endpoint for directly accessing a persona (#876) 2024-10-30 10:28:20 +11:00
playground.rb FEATURE: partial tool call support for OpenAI and Anthropic (#908) 2024-11-14 06:58:24 +11:00
question_consolidator.rb FEATURE: GPT4o support and better auditing (#618) 2024-05-14 13:28:46 +10:00
response_http_streamer.rb FEATURE: support custom instructions for persona streaming (#890) 2024-11-05 07:43:26 +11:00
site_settings_extension.rb DEV: Rewire AI bot internals to use LlmModel (#638) 2024-06-18 14:32:14 -03:00
tool_runner.rb FIX: encode parameters returned from LLMs correctly (#889) 2024-11-04 10:07:17 +11:00