wikitool
¶
WikiTool
¶
WikiTool(source: WikiProvider, llm: LLMProvider)
Wiki Tool.
PARAMETER | DESCRIPTION |
---|---|
source |
Source provider
TYPE:
|
llm |
LLM Provider
TYPE:
|
Example
Create a WikiTool object with Wikipedia and SentenceTransformers.
>>> from wikitool import WikiTool
>>> from wikitool.extras.st_provider import STProvider
>>> from wikitool.sources.wiki_source import WikiProvider
>>> tool = WikiTool(
... source=WikiProvider("WikiTool wikitool@test.com", "test"),
... llm=STProvider("thenlper/gte-small"),
... )
search
¶
search(
queries: str | list[str],
top_k: int = 5,
chunk_size: int | None = None,
chunk_overlap: int | None = None,
) -> list[list[str]]
Search the source using the llm provider.
PARAMETER | DESCRIPTION |
---|---|
queries |
Query (or list of queries) to search. |
top_k |
Amount of results to return.
TYPE:
|
chunk_size |
Chunk size for wikitool.llm_provider.LLMProvider.chunk.
TYPE:
|
chunk_overlap |
Chunk overlap for wikitool.llm_provider.LLMProvider.chunk.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
list[list[str]]
|
List of search results. |
Example
Search Wikipedia using SentenceTransformers.
>>> from wikitool import WikiTool
>>> from wikitool.extras.st_provider import STProvider
>>> from wikitool.sources.wiki_source import WikiProvider
>>> tool = WikiTool(
... source=WikiProvider("WikiTool wikitool@test.com", "test"),
... llm=STProvider("thenlper/gte-small"),
... )
>>> top_k = 3
>>> results = tool.search(["query_1", "query_2"], top_k, 512, 64)
>>> assert isinstance(results, list)
>>> assert len(results) == 2
>>> assert isinstance(results[0][0], str)
>>> assert len(results[0]) == top_k
Note
Even when a single query is provided, a list of lists is returned. So, to get the result of a single query:
>>> from wikitool import WikiTool
>>> from wikitool.extras.st_provider import STProvider
>>> from wikitool.sources.wiki_source import WikiProvider
>>> tool = WikiTool(
... source=WikiProvider("WikiTool wikitool@test.com", "test"),
... llm=STProvider("thenlper/gte-small"),
... )
>>> top_k = 3
>>> results = tool.search("single query", top_k, 512, 64)
>>> query_result = results[0]
>>> assert isinstance(query_result, list)
>>> assert isinstance(query_result[0], str)
>>> assert len(query_result) == top_k