Skip to main content

DeepseekAgent

Struct DeepseekAgent 

Source
pub struct DeepseekAgent { /* private fields */ }
Expand description

DeepseekAgent: encapsulates a conversation (Conversation) and a collection of tools.

Responsible for coordinating API calls and executing tools as requested by the model. Fields use pub(crate) visibility so the sibling stream submodule can access internal state (for example tools and tool_index).

Implementations§

Source§

impl DeepseekAgent

Source

pub fn new(token: impl Into<String>) -> Self

Create an Agent using the provided token.

This internally constructs an ApiClient and attaches a DeepseekConversation.

Source

pub fn add_tool<TT: Tool + 'static>(self, tool: TT) -> Self

Add a tool (supports method chaining).

Registers the tool and indexes its raw (protocol) function names so incoming tool call requests can be routed to the correct implementation.

Source

pub fn chat(self, user_message: &str) -> AgentStream

Push a user message into the conversation and return an AgentStream.

The returned AgentStream drives the API request and any subsequent tool execution. The return type uses a fully-qualified path and depends on the sibling stream submodule providing AgentStream.

Source

pub fn with_streaming(self) -> Self

Enable streaming text output for each API turn.

When set, the agent uses send_stream internally so text fragments are yielded to the caller as they arrive instead of waiting for a full response.

Source

pub fn with_system_prompt(self, prompt: impl Into<String>) -> Self

Set a custom system prompt to inject at the start of the conversation.

Builder-style: returns self so the call can be chained.

Source

pub fn with_summarizer(self, summarizer: impl Summarizer + 'static) -> Self

Set a summarizer to use for conversation summarization.

Builder-style: returns self so the call can be chained.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more