Feat/deepseek adapter dropin 14224636701039833263 (#47)
* feat: refactor DeepSeekReasonerAgent as a drop-in replacement for pydantic_ai Agent This refactor improves the `DeepSeekReasonerAgent` adapter to be a robust, drop-in replacement for native PydanticAI Agents. It brings several enhancements: 1. Re-implemented `run()` to manually inject historical messages (`message_history`) and dependencies, preserving state across workflows. 2. Replaced the simplistic crash loop with an explicit, manual multi-turn retry mechanism. If the Markdown JSON parser fails, it correctly injects the `ValidationError` back into the conversation history and prompts the model to correct its structure up to `retries` times. 3. Designed an elegant proxy `AgentRunResultProxy` to seamlessly wrap `AgentRunResult` outputs. This cleanly passes through downstream calls (e.g., `result.data`, `result.usage()`, `result.all_messages()`) avoiding `AttributeError`s and Monkey-patching. 4. Integrated fallback tool descriptions parsing, dynamically instructing the model on available tools. 5. Adapted `AgentFactory` to correctly propagate `tools` and `retries`. Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com> * feat: add deepseek provider option to frontend - Added 'deepseek' option to `ProvidersSettings.tsx` `<select>` - Updated frontend Typescript interfaces in `index.ts` to allow 'deepseek' as `provider_type` - Validated frontend build successful Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com> --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com>
This commit is contained in:
parent
5694a30ca8
commit
c1af32e604
|
|
@ -182,6 +182,7 @@ export function ProvidersSettings() {
|
|||
>
|
||||
<option value="openai">OpenAI</option>
|
||||
<option value="gemini">Gemini</option>
|
||||
<option value="deepseek">DeepSeek</option>
|
||||
<option value="claude">Claude</option>
|
||||
<option value="local">Local</option>
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ export interface User {
|
|||
|
||||
// Provider types
|
||||
export interface Provider {
|
||||
provider_type: 'openai' | 'gemini' | 'claude' | 'local';
|
||||
provider_type: 'openai' | 'gemini' | 'claude' | 'local' | 'deepseek';
|
||||
provider_title: string;
|
||||
provider_url?: string;
|
||||
provider_owner?: string;
|
||||
|
|
@ -25,7 +25,7 @@ export interface Provider {
|
|||
}
|
||||
|
||||
export interface ProviderRegisterRequest {
|
||||
provider_type: 'openai' | 'gemini' | 'claude' | 'local';
|
||||
provider_type: 'openai' | 'gemini' | 'claude' | 'local' | 'deepseek';
|
||||
provider_title: string;
|
||||
provider_url: string;
|
||||
provider_apikey: string;
|
||||
|
|
|
|||
Loading…
Reference in New Issue