Skip to main content

WikipediaQuery

Struct WikipediaQuery 

Source
pub struct WikipediaQuery {
    pub options: WikipediaQueryOptions,
    /* private fields */
}
Expand description

A tool for querying Wikipedia articles

This tool searches Wikipedia and returns summaries of the top matching articles. It’s useful for answering general questions about people, places, companies, facts, historical events, and other subjects that have Wikipedia articles.

§Examples

use langchain_rust::tools::{Tool, WikipediaQuery, WikipediaQueryOptions};
use serde_json::json;

#[tokio::main]
async fn main() {
    let options = WikipediaQueryOptions {
        top_k_results: 2,
        max_doc_content_length: 2000,
        lang: "en".to_string(),
    };

    let wiki = WikipediaQuery::new(options);
    let result = wiki.run(json!("LangChain")).await.unwrap();
    println!("{}", result);
}

Fields§

§options: WikipediaQueryOptions

Implementations§

Source§

impl WikipediaQuery

Source

pub fn new(options: WikipediaQueryOptions) -> Self

Creates a new WikipediaQuery with custom options

§Arguments
  • options - Configuration options for Wikipedia queries
Source

pub fn with_lang(lang: impl Into<String>) -> Self

Creates a WikipediaQuery with a specific language

§Arguments
  • lang - Language code (e.g., “en”, “es”, “fr”, “de”)
Source

pub fn with_top_k_results(self, top_k: usize) -> Self

Sets the maximum number of results to return

Source

pub fn with_max_doc_content_length(self, max_len: usize) -> Self

Sets the maximum content length per document

Source

pub fn with_base_url(self, base_url: impl Into<String>) -> Self

Overrides the API origin (e.g. http://127.0.0.1:1234) instead of deriving it from the configured language. Mainly useful for pointing the tool at a mock server in tests or at a self-hosted MediaWiki instance.

Trait Implementations§

Source§

impl Default for WikipediaQuery

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Tool for WikipediaQuery

Source§

fn name(&self) -> String

Returns the name of the tool.
Source§

fn description(&self) -> String

Provides a description of what the tool does and when to use it.
Source§

fn run<'life0, 'async_trait>( &'life0 self, input: Value, ) -> Pin<Box<dyn Future<Output = Result<String, Box<dyn Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Executes the core functionality of the tool. Read more
Source§

fn parameters(&self) -> Value

This are the parametters for OpenAi-like function call. You should return a jsnon like this one Read more
Source§

fn call<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<String, Box<dyn Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Processes an input string and executes the tool’s functionality, returning a Result. Read more
Source§

fn parse_input<'life0, 'life1, 'async_trait>( &'life0 self, input: &'life1 str, ) -> Pin<Box<dyn Future<Output = Value> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Parses the input string, which could be a JSON value or a raw string, depending on the LLM model. Read more

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> LangchainIntoOpenAI<U> for T
where U: OpenAIFromLangchain<T>,

Source§

fn into_openai(self) -> U

Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T, U> OpenAiIntoLangchain<U> for T
where U: LangchainFromOpenAI<T>,

Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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: Sized + 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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, U> TryLangchainIntoOpenAI<U> for T

Source§

impl<T, U> TryOpenAiIntoLangchain<U> for T

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