mirror of
https://github.com/Mintplex-Labs/langchain-python.git
synced 2026-07-24 12:05:28 -04:00
3ecdea8be4
This is a work in progress PR to track my progres.
## TODO:
- [x] Get results using the specifed searx host
- [x] Prioritize returning an `answer` or results otherwise
- [ ] expose the field `infobox` when available
- [ ] expose `score` of result to help agent's decision
- [ ] expose the `suggestions` field to agents so they could try new
queries if no results are found with the orignial query ?
- [ ] Dynamic tool description for agents ?
- Searx offers many engines and a search syntax that agents can take
advantage of. It would be nice to generate a dynamic Tool description so
that it can be used many times as a tool but for different purposes.
- [x] Limit number of results
- [ ] Implement paging
- [x] Miror the usage of the Google Search tool
- [x] easy selection of search engines
- [x] Documentation
- [ ] update HowTo guide notebook on Search Tools
- [ ] Handle async
- [ ] Tests
### Add examples / documentation on possible uses with
- [ ] getting factual answers with `!wiki` option and `infoboxes`
- [ ] getting `suggestions`
- [ ] getting `corrections`
---------
Co-authored-by: blob42 <spike@w530>
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
95 lines
2.3 KiB
Python
95 lines
2.3 KiB
Python
"""Main entrypoint into package."""
|
|
|
|
from typing import Optional
|
|
|
|
from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
|
|
from langchain.cache import BaseCache
|
|
from langchain.callbacks import (
|
|
set_default_callback_manager,
|
|
set_handler,
|
|
set_tracing_callback_manager,
|
|
)
|
|
from langchain.chains import (
|
|
ConversationChain,
|
|
LLMBashChain,
|
|
LLMChain,
|
|
LLMCheckerChain,
|
|
LLMMathChain,
|
|
PALChain,
|
|
QAWithSourcesChain,
|
|
SQLDatabaseChain,
|
|
VectorDBQA,
|
|
VectorDBQAWithSourcesChain,
|
|
)
|
|
from langchain.docstore import InMemoryDocstore, Wikipedia
|
|
from langchain.llms import (
|
|
Anthropic,
|
|
CerebriumAI,
|
|
Cohere,
|
|
ForefrontAI,
|
|
GooseAI,
|
|
HuggingFaceHub,
|
|
OpenAI,
|
|
Petals,
|
|
)
|
|
from langchain.llms.huggingface_pipeline import HuggingFacePipeline
|
|
from langchain.prompts import (
|
|
BasePromptTemplate,
|
|
FewShotPromptTemplate,
|
|
Prompt,
|
|
PromptTemplate,
|
|
)
|
|
from langchain.serpapi import SerpAPIChain, SerpAPIWrapper
|
|
from langchain.sql_database import SQLDatabase
|
|
from langchain.utilities.google_search import GoogleSearchAPIWrapper
|
|
from langchain.utilities.google_serper import GoogleSerperAPIWrapper
|
|
from langchain.utilities.searx_search import SearxSearchWrapper
|
|
from langchain.utilities.wolfram_alpha import WolframAlphaAPIWrapper
|
|
from langchain.vectorstores import FAISS, ElasticVectorSearch
|
|
|
|
verbose: bool = False
|
|
llm_cache: Optional[BaseCache] = None
|
|
set_default_callback_manager()
|
|
|
|
__all__ = [
|
|
"LLMChain",
|
|
"LLMBashChain",
|
|
"LLMCheckerChain",
|
|
"LLMMathChain",
|
|
"SelfAskWithSearchChain",
|
|
"SerpAPIWrapper",
|
|
"SerpAPIChain",
|
|
"SearxSearchWrapper",
|
|
"GoogleSearchAPIWrapper",
|
|
"GoogleSerperAPIWrapper",
|
|
"WolframAlphaAPIWrapper",
|
|
"Anthropic",
|
|
"CerebriumAI",
|
|
"Cohere",
|
|
"ForefrontAI",
|
|
"GooseAI",
|
|
"OpenAI",
|
|
"Petals",
|
|
"BasePromptTemplate",
|
|
"Prompt",
|
|
"FewShotPromptTemplate",
|
|
"PromptTemplate",
|
|
"ReActChain",
|
|
"Wikipedia",
|
|
"HuggingFaceHub",
|
|
"HuggingFacePipeline",
|
|
"SQLDatabase",
|
|
"SQLDatabaseChain",
|
|
"FAISS",
|
|
"MRKLChain",
|
|
"VectorDBQA",
|
|
"ElasticVectorSearch",
|
|
"InMemoryDocstore",
|
|
"ConversationChain",
|
|
"VectorDBQAWithSourcesChain",
|
|
"QAWithSourcesChain",
|
|
"PALChain",
|
|
"set_handler",
|
|
"set_tracing_callback_manager",
|
|
]
|