feat: JINA_API_BASE_URL
This commit is contained in:
@@ -3186,6 +3186,12 @@ JINA_API_KEY = PersistentConfig(
|
||||
os.getenv("JINA_API_KEY", ""),
|
||||
)
|
||||
|
||||
JINA_API_BASE_URL = PersistentConfig(
|
||||
"JINA_API_BASE_URL",
|
||||
"rag.web.search.jina_api_base_url",
|
||||
os.getenv("JINA_API_BASE_URL", ""),
|
||||
)
|
||||
|
||||
SEARCHAPI_API_KEY = PersistentConfig(
|
||||
"SEARCHAPI_API_KEY",
|
||||
"rag.web.search.searchapi_api_key",
|
||||
|
||||
@@ -299,6 +299,7 @@ from open_webui.config import (
|
||||
WEB_SEARCH_DOMAIN_FILTER_LIST,
|
||||
OLLAMA_CLOUD_WEB_SEARCH_API_KEY,
|
||||
JINA_API_KEY,
|
||||
JINA_API_BASE_URL,
|
||||
SEARCHAPI_API_KEY,
|
||||
SEARCHAPI_ENGINE,
|
||||
SERPAPI_API_KEY,
|
||||
@@ -969,6 +970,7 @@ app.state.config.SEARCHAPI_ENGINE = SEARCHAPI_ENGINE
|
||||
app.state.config.SERPAPI_API_KEY = SERPAPI_API_KEY
|
||||
app.state.config.SERPAPI_ENGINE = SERPAPI_ENGINE
|
||||
app.state.config.JINA_API_KEY = JINA_API_KEY
|
||||
app.state.config.JINA_API_BASE_URL = JINA_API_BASE_URL
|
||||
app.state.config.BING_SEARCH_V7_ENDPOINT = BING_SEARCH_V7_ENDPOINT
|
||||
app.state.config.BING_SEARCH_V7_SUBSCRIPTION_KEY = BING_SEARCH_V7_SUBSCRIPTION_KEY
|
||||
app.state.config.EXA_API_KEY = EXA_API_KEY
|
||||
|
||||
@@ -7,17 +7,21 @@ from yarl import URL
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def search_jina(api_key: str, query: str, count: int) -> list[SearchResult]:
|
||||
def search_jina(
|
||||
api_key: str, query: str, count: int, base_url: str = ""
|
||||
) -> list[SearchResult]:
|
||||
"""
|
||||
Search using Jina's Search API and return the results as a list of SearchResult objects.
|
||||
Args:
|
||||
api_key (str): The Jina API key
|
||||
query (str): The query to search for
|
||||
count (int): The number of results to return
|
||||
base_url (str): Optional custom base URL for the Jina API
|
||||
|
||||
Returns:
|
||||
list[SearchResult]: A list of search results
|
||||
"""
|
||||
jina_search_endpoint = "https://s.jina.ai/"
|
||||
jina_search_endpoint = base_url if base_url else "https://s.jina.ai/"
|
||||
|
||||
headers = {
|
||||
"Accept": "application/json",
|
||||
|
||||
@@ -548,6 +548,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
|
||||
"SERPAPI_API_KEY": request.app.state.config.SERPAPI_API_KEY,
|
||||
"SERPAPI_ENGINE": request.app.state.config.SERPAPI_ENGINE,
|
||||
"JINA_API_KEY": request.app.state.config.JINA_API_KEY,
|
||||
"JINA_API_BASE_URL": request.app.state.config.JINA_API_BASE_URL,
|
||||
"BING_SEARCH_V7_ENDPOINT": request.app.state.config.BING_SEARCH_V7_ENDPOINT,
|
||||
"BING_SEARCH_V7_SUBSCRIPTION_KEY": request.app.state.config.BING_SEARCH_V7_SUBSCRIPTION_KEY,
|
||||
"EXA_API_KEY": request.app.state.config.EXA_API_KEY,
|
||||
@@ -609,6 +610,7 @@ class WebConfig(BaseModel):
|
||||
SERPAPI_API_KEY: Optional[str] = None
|
||||
SERPAPI_ENGINE: Optional[str] = None
|
||||
JINA_API_KEY: Optional[str] = None
|
||||
JINA_API_BASE_URL: Optional[str] = None
|
||||
BING_SEARCH_V7_ENDPOINT: Optional[str] = None
|
||||
BING_SEARCH_V7_SUBSCRIPTION_KEY: Optional[str] = None
|
||||
EXA_API_KEY: Optional[str] = None
|
||||
@@ -1094,6 +1096,7 @@ async def update_rag_config(
|
||||
request.app.state.config.SERPAPI_API_KEY = form_data.web.SERPAPI_API_KEY
|
||||
request.app.state.config.SERPAPI_ENGINE = form_data.web.SERPAPI_ENGINE
|
||||
request.app.state.config.JINA_API_KEY = form_data.web.JINA_API_KEY
|
||||
request.app.state.config.JINA_API_BASE_URL = form_data.web.JINA_API_BASE_URL
|
||||
request.app.state.config.BING_SEARCH_V7_ENDPOINT = (
|
||||
form_data.web.BING_SEARCH_V7_ENDPOINT
|
||||
)
|
||||
@@ -1246,6 +1249,7 @@ async def update_rag_config(
|
||||
"SERPAPI_API_KEY": request.app.state.config.SERPAPI_API_KEY,
|
||||
"SERPAPI_ENGINE": request.app.state.config.SERPAPI_ENGINE,
|
||||
"JINA_API_KEY": request.app.state.config.JINA_API_KEY,
|
||||
"JINA_API_BASE_URL": request.app.state.config.JINA_API_BASE_URL,
|
||||
"BING_SEARCH_V7_ENDPOINT": request.app.state.config.BING_SEARCH_V7_ENDPOINT,
|
||||
"BING_SEARCH_V7_SUBSCRIPTION_KEY": request.app.state.config.BING_SEARCH_V7_SUBSCRIPTION_KEY,
|
||||
"EXA_API_KEY": request.app.state.config.EXA_API_KEY,
|
||||
@@ -2027,6 +2031,7 @@ def search_web(
|
||||
request.app.state.config.JINA_API_KEY,
|
||||
query,
|
||||
request.app.state.config.WEB_SEARCH_RESULT_COUNT,
|
||||
request.app.state.config.JINA_API_BASE_URL,
|
||||
)
|
||||
elif engine == "bing":
|
||||
return search_bing(
|
||||
|
||||
Reference in New Issue
Block a user