Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.1.124 #1965

Merged
merged 124 commits into from
May 8, 2024
Merged

0.1.124 #1965

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
142f82b
Added some i18n keys & updated german locale
Apr 30, 2024
30d1048
resolved the conflicts 😍
Apr 30, 2024
dd52ea9
added and improved some german translations
Apr 30, 2024
e57c0c3
resolved conflicts #2
May 2, 2024
9d8c23b
fix: synchronized with the latest updates.
aguvener May 3, 2024
115c3a3
✨add Symbol startup prompt startup instructions in ShortcutsModal
Yanyutin753 May 3, 2024
ecfb689
refac
tjbck May 3, 2024
e4c7762
Merge pull request #1946 from Yanyutin753/shortcuts-dev
tjbck May 3, 2024
46027cc
Merge branch 'dev' into dev
tjbck May 3, 2024
e3a3a03
Merge pull request #1944 from aguvener/dev
tjbck May 3, 2024
3e6b94d
fix: sidebar handle
tjbck May 3, 2024
70ae053
fix: ascii art issue
tjbck May 3, 2024
ecde762
chore: format
tjbck May 3, 2024
e8085f8
fix: litellm warning message
tjbck May 3, 2024
facb6ed
refac: chat tags
tjbck May 3, 2024
fa3c7bc
fix
tjbck May 3, 2024
d4db3dd
fix: tag delete issue
tjbck May 3, 2024
84ec588
fix: tag delete issue
tjbck May 4, 2024
53dae39
feat: chat list group by time range
tjbck May 4, 2024
0a8dae6
refac: styling
tjbck May 4, 2024
24c0dbe
fix: pending permission issue
tjbck May 4, 2024
1c39e5c
refac: styling
tjbck May 4, 2024
c0fbf1e
refac: styling
tjbck May 4, 2024
cb2e989
Adding language Arabic
bo3bdo May 4, 2024
36d8442
fix: chat list time range
tjbck May 4, 2024
a341cfe
refac: getTimeRange
tjbck May 4, 2024
3a2f1d5
fix: promptTemplate infinite loop
tjbck May 4, 2024
af1d847
fix: disable template variables in prompt
tjbck May 4, 2024
9c1f224
Update translation.json
bo3bdo May 4, 2024
2fec591
Update translation.json
bo3bdo May 4, 2024
c2f4294
Merge pull request #1973 from bo3bdo/main
tjbck May 4, 2024
594f2f2
chore: formatting
tjbck May 4, 2024
e92311b
fix: image download issue
tjbck May 6, 2024
b8c97fa
feat: restrict title gen output to 50 tokens
cheahjs May 6, 2024
e31cf08
merged conflicts in PL locale
May 6, 2024
0334ab7
Merge pull request #2001 from cheahjs/feat/limit-title-gen-tokens
tjbck May 6, 2024
761c66a
🤩 Added custom openai tts models and role variables
Yanyutin753 May 6, 2024
5f7188b
fix python test
Yanyutin753 May 6, 2024
2dcd9e7
resetted parser - only new keys
May 6, 2024
6fa8885
Merge pull request #1874 from jannikstdl/update-i18n
tjbck May 6, 2024
7f1acf9
chore: format
tjbck May 6, 2024
95f579c
feat: rag ssl verification env var
tjbck May 6, 2024
07b39d1
refac: document settings
tjbck May 6, 2024
cecb87b
feat: web_loader_ssl_verification setting
tjbck May 6, 2024
aa0bf79
chore: format
tjbck May 6, 2024
546d553
fix: wait for Ollama to come up in integration test
cheahjs May 6, 2024
ba09fcd
Merge pull request #2026 from cheahjs/fix/integration-test-wait-ollama
tjbck May 6, 2024
0872bea
feat: show RAG query results as citations
cheahjs May 6, 2024
2571f3c
fix: remove stray debug logs
cheahjs May 6, 2024
c3425f3
fix: update translation files
cheahjs May 6, 2024
4c6567c
feat: group citations by source
cheahjs May 6, 2024
e70cdf1
refac: styling
tjbck May 6, 2024
38590da
fix: styling
tjbck May 6, 2024
4c49013
refac: styling
tjbck May 6, 2024
64ed0d1
refac: include source name to citation
tjbck May 6, 2024
aef2a51
refac: citation rendering
tjbck May 6, 2024
c84e0aa
fix: .env load
tjbck May 6, 2024
e98cb45
Merge pull request #2011 from cheahjs/feat/rag-citations
tjbck May 6, 2024
4854696
chore: format
tjbck May 6, 2024
bf604bc
refac: styling
tjbck May 6, 2024
7f61722
refac: styling
tjbck May 6, 2024
9aa689e
feat: title trim quotation marks
tjbck May 6, 2024
9b59039
refac: styling
tjbck May 7, 2024
66e7e57
refac: citation styling
tjbck May 7, 2024
5d6517c
update the name
Yanyutin753 May 7, 2024
f58eb0d
feat: browser search engine support
tjbck May 7, 2024
e3a49c8
fix: styling
tjbck May 7, 2024
7874bea
fix: code block rendering issue
tjbck May 7, 2024
04a9115
feat: esc image preview
tjbck May 7, 2024
bfb8b08
Remove Helm charts, which have moved to a separate repo
0xThresh May 7, 2024
ab43bd1
Merge pull request #2030 from 0xThresh/remove-helm
tjbck May 7, 2024
55321a3
Added new translation strings + 1 i18n kkey
May 7, 2024
755dd85
Added localisation for the new chat timestamps
May 7, 2024
8d5f35a
addition
jannikstdl May 7, 2024
11dcbb2
fix Submit button not beeing a i18n key
jannikstdl May 7, 2024
3404b8d
added some missing keys
jannikstdl May 7, 2024
f32094d
Added keys as comments so they dont get removed by the parser
jannikstdl May 7, 2024
d27f805
doc: note PRs should target `dev`
akx May 7, 2024
03955d6
chore: pin youtube-transcript-api like the rest
akx May 7, 2024
3723f42
chore: remove duplicate requirements
akx May 7, 2024
cbd1929
chore: remove uuid requirement (it's a standard library module)
akx May 7, 2024
61bb1f1
fix: do not use hardware ID in document ID generation
akx May 7, 2024
cc72341
found more tooltops without i18n keys
jannikstdl May 7, 2024
9f4a710
more keys
jannikstdl May 7, 2024
06683f5
changed german spelling
jannikstdl May 7, 2024
a2d0f9c
fix german spelling
jannikstdl May 7, 2024
7ce157a
fix german spelling
jannikstdl May 7, 2024
242e70d
Adjust text formatting per Chinese copywriting guidelines
ihavecoke May 7, 2024
3f14d8b
Merge pull request #2038 from akx/pr-branch
tjbck May 7, 2024
5661de3
Merge pull request #2039 from akx/py-requirement-fixes
tjbck May 7, 2024
39bc3b5
Merge pull request #2032 from jannikstdl/update-de-locale
tjbck May 7, 2024
1b5d88d
Merge branch 'dev' into update-chat-timestamp-locale
tjbck May 7, 2024
838c6f8
Merge pull request #2033 from jannikstdl/update-chat-timestamp-locale
tjbck May 7, 2024
876853f
Merge pull request #2040 from akx/uuid4
tjbck May 7, 2024
68c182d
Merge branch 'dev' into main
tjbck May 7, 2024
a32a752
Merge pull request #2049 from ihavecoke/main
tjbck May 7, 2024
ea69c24
fix: allow message switch during regeneration
tjbck May 7, 2024
c631764
chore: format
tjbck May 7, 2024
6d99ef8
Hindi Translation file Added and language JSON updated
AnkurSachdeva22 May 7, 2024
0ed5405
Merge branch 'dev' into main
AnkurSachdeva22 May 7, 2024
32f74c9
fix: don't group dependabot updates because of conflicts
cheahjs May 8, 2024
2969918
feat: enable dependabot for github actions
cheahjs May 8, 2024
34632b7
fix: formatting
cheahjs May 8, 2024
1ea91f9
Merge pull request #2067 from cheahjs/feat/dependabot-updates
tjbck May 8, 2024
72675ec
refac: citation styling
tjbck May 8, 2024
9c190b5
feat: /v1/models endpoint added for ollama proxy
tjbck May 8, 2024
7dade07
language.json sorted by language code
AnkurSachdeva22 May 8, 2024
9fefddd
Merge branch 'main' of https://github.com/AnkurSachdeva22/open-webui-…
AnkurSachdeva22 May 8, 2024
20c4ada
feat: add Finnish localization 🇫🇮
akx May 8, 2024
ceecfb6
fix: reword WEBUI_SECRET_KEY generation log line
cheahjs May 8, 2024
421a964
Merge pull request #2082 from cheahjs/fix/reword-secret-key
tjbck May 8, 2024
675328c
Merge pull request #2002 from Yanyutin753/addAudio
tjbck May 8, 2024
84ea10a
Merge pull request #2061 from AnkurSachdeva22/main
tjbck May 8, 2024
0d633c0
Merge pull request #2079 from akx/fi
tjbck May 8, 2024
01472c0
feat: support webui_auth false
tjbck May 8, 2024
c40e634
feat: better error message
tjbck May 8, 2024
6023f86
chore: format
tjbck May 8, 2024
87daf12
refac: styling
tjbck May 8, 2024
d3822f7
feat: non-english youtube support
tjbck May 8, 2024
06cbe33
feat: youtube loader language env var
tjbck May 8, 2024
73689bb
doc: changelog
tjbck May 8, 2024
37abc15
doc: fix
tjbck May 8, 2024
c99e351
Update CHANGELOG.md
tjbck May 8, 2024
b44ae53
Update CHANGELOG.md
tjbck May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 10 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/backend"
schedule:
interval: daily
time: "13:00"
groups:
python-packages:
patterns:
- "*"
- package-ecosystem: pip
directory: '/backend'
schedule:
interval: daily
time: '13:00'
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
# Check for updates to GitHub Actions every week
interval: 'weekly'
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## Pull Request Checklist

- [ ] **Target branch:** Pull requests should target the `dev` branch.
- [ ] **Description:** Briefly describe the changes in this pull request.
- [ ] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description.
- [ ] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources?
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,16 @@ jobs:

- name: Build and run Compose Stack
run: |
docker compose up --detach --build
docker compose --file docker-compose.yaml --file docker-compose.api.yaml up --detach --build

- name: Wait for Ollama to be up
timeout-minutes: 5
run: |
until curl --output /dev/null --silent --fail http://localhost:11434; do
printf '.'
sleep 1
done
echo "Service is up!"

- name: Preload Ollama model
run: |
Expand Down
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.124] - 2024-05-08

### Added

- **🖼️ Improved Chat Sidebar**: Now conveniently displays time ranges and organizes chats by today, yesterday, and more.
- **📜 Citations in RAG Feature**: Easily track the context fed to the LLM with added citations in the RAG feature.
- **🔒 Auth Disable Option**: Introducing the ability to disable authentication. Set 'WEBUI_AUTH' to False to disable authentication. Note: Only applicable for fresh installations without existing users.
- **📹 Enhanced YouTube RAG Pipeline**: Now supports non-English videos for an enriched experience.
- **🔊 Specify OpenAI TTS Models**: Customize your TTS experience by specifying OpenAI TTS models.
- **🔧 Additional Environment Variables**: Discover more environment variables in our comprehensive documentation at Open WebUI Documentation (https://docs.openwebui.com).
- **🌐 Language Support**: Arabic, Finnish, and Hindi added; Improved support for German, Vietnamese, and Chinese.

### Fixed

- **🛠️ Model Selector Styling**: Addressed styling issues for improved user experience.
- **⚠️ Warning Messages**: Resolved backend warning messages.

### Changed

- **📝 Title Generation**: Limited output to 50 tokens.
- **📦 Helm Charts**: Removed Helm charts, now available in a separate repository (https://github.com/open-webui/helm-charts).

## [0.1.123] - 2024-05-02

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ We offer various installation alternatives, including non-Docker methods, Docker

### Troubleshooting

Encountering connection issues? Our [Open WebUI Documentation](https://docs.openwebui.com/getting-started/troubleshooting/) has got you covered. For further assistance and to join our vibrant community, visit the [Open WebUI Discord](https://discord.gg/5rJgQTnV4s).
Encountering connection issues? Our [Open WebUI Documentation](https://docs.openwebui.com/troubleshooting/) has got you covered. For further assistance and to join our vibrant community, visit the [Open WebUI Discord](https://discord.gg/5rJgQTnV4s).

### Keeping Your Docker Installation Up-to-Date

Expand Down
12 changes: 12 additions & 0 deletions backend/apps/audio/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
DEVICE_TYPE,
AUDIO_OPENAI_API_BASE_URL,
AUDIO_OPENAI_API_KEY,
AUDIO_OPENAI_API_MODEL,
AUDIO_OPENAI_API_VOICE,
)

log = logging.getLogger(__name__)
Expand All @@ -60,6 +62,8 @@

app.state.OPENAI_API_BASE_URL = AUDIO_OPENAI_API_BASE_URL
app.state.OPENAI_API_KEY = AUDIO_OPENAI_API_KEY
app.state.OPENAI_API_MODEL = AUDIO_OPENAI_API_MODEL
app.state.OPENAI_API_VOICE = AUDIO_OPENAI_API_VOICE

# setting device type for whisper model
whisper_device_type = DEVICE_TYPE if DEVICE_TYPE and DEVICE_TYPE == "cuda" else "cpu"
Expand All @@ -72,13 +76,17 @@
class OpenAIConfigUpdateForm(BaseModel):
url: str
key: str
model: str
speaker: str


@app.get("/config")
async def get_openai_config(user=Depends(get_admin_user)):
return {
"OPENAI_API_BASE_URL": app.state.OPENAI_API_BASE_URL,
"OPENAI_API_KEY": app.state.OPENAI_API_KEY,
"OPENAI_API_MODEL": app.state.OPENAI_API_MODEL,
"OPENAI_API_VOICE": app.state.OPENAI_API_VOICE,
}


Expand All @@ -91,11 +99,15 @@ async def update_openai_config(

app.state.OPENAI_API_BASE_URL = form_data.url
app.state.OPENAI_API_KEY = form_data.key
app.state.OPENAI_API_MODEL = form_data.model
app.state.OPENAI_API_VOICE = form_data.speaker

return {
"status": True,
"OPENAI_API_BASE_URL": app.state.OPENAI_API_BASE_URL,
"OPENAI_API_KEY": app.state.OPENAI_API_KEY,
"OPENAI_API_MODEL": app.state.OPENAI_API_MODEL,
"OPENAI_API_VOICE": app.state.OPENAI_API_VOICE,
}


Expand Down
4 changes: 4 additions & 0 deletions backend/apps/litellm/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
LITELLM_PROXY_HOST,
)

import warnings

warnings.simplefilter("ignore")

from litellm.utils import get_llm_provider

import asyncio
Expand Down
93 changes: 85 additions & 8 deletions backend/apps/ollama/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,19 @@
import aiohttp
import asyncio
import logging
import time
from urllib.parse import urlparse
from typing import Optional, List, Union


from apps.web.models.users import Users
from constants import ERROR_MESSAGES
from utils.utils import decode_token, get_current_user, get_admin_user
from utils.utils import (
decode_token,
get_current_user,
get_verified_user,
get_admin_user,
)


from config import (
Expand Down Expand Up @@ -164,7 +170,7 @@ async def get_all_models():
@app.get("/api/tags")
@app.get("/api/tags/{url_idx}")
async def get_ollama_tags(
url_idx: Optional[int] = None, user=Depends(get_current_user)
url_idx: Optional[int] = None, user=Depends(get_verified_user)
):
if url_idx == None:
models = await get_all_models()
Expand Down Expand Up @@ -563,7 +569,7 @@ async def delete_model(


@app.post("/api/show")
async def show_model_info(form_data: ModelNameForm, user=Depends(get_current_user)):
async def show_model_info(form_data: ModelNameForm, user=Depends(get_verified_user)):
if form_data.name not in app.state.MODELS:
raise HTTPException(
status_code=400,
Expand Down Expand Up @@ -612,7 +618,7 @@ class GenerateEmbeddingsForm(BaseModel):
async def generate_embeddings(
form_data: GenerateEmbeddingsForm,
url_idx: Optional[int] = None,
user=Depends(get_current_user),
user=Depends(get_verified_user),
):
if url_idx == None:
model = form_data.model
Expand Down Expand Up @@ -730,7 +736,7 @@ class GenerateCompletionForm(BaseModel):
async def generate_completion(
form_data: GenerateCompletionForm,
url_idx: Optional[int] = None,
user=Depends(get_current_user),
user=Depends(get_verified_user),
):

if url_idx == None:
Expand Down Expand Up @@ -833,7 +839,7 @@ class GenerateChatCompletionForm(BaseModel):
async def generate_chat_completion(
form_data: GenerateChatCompletionForm,
url_idx: Optional[int] = None,
user=Depends(get_current_user),
user=Depends(get_verified_user),
):

if url_idx == None:
Expand Down Expand Up @@ -942,7 +948,7 @@ class OpenAIChatCompletionForm(BaseModel):
async def generate_openai_chat_completion(
form_data: OpenAIChatCompletionForm,
url_idx: Optional[int] = None,
user=Depends(get_current_user),
user=Depends(get_verified_user),
):

if url_idx == None:
Expand Down Expand Up @@ -1026,6 +1032,75 @@ def stream_content():
)


@app.get("/v1/models")
@app.get("/v1/models/{url_idx}")
async def get_openai_models(
url_idx: Optional[int] = None,
user=Depends(get_verified_user),
):
if url_idx == None:
models = await get_all_models()

if app.state.ENABLE_MODEL_FILTER:
if user.role == "user":
models["models"] = list(
filter(
lambda model: model["name"] in app.state.MODEL_FILTER_LIST,
models["models"],
)
)

return {
"data": [
{
"id": model["model"],
"object": "model",
"created": int(time.time()),
"owned_by": "openai",
}
for model in models["models"]
],
"object": "list",
}

else:
url = app.state.OLLAMA_BASE_URLS[url_idx]
try:
r = requests.request(method="GET", url=f"{url}/api/tags")
r.raise_for_status()

models = r.json()

return {
"data": [
{
"id": model["model"],
"object": "model",
"created": int(time.time()),
"owned_by": "openai",
}
for model in models["models"]
],
"object": "list",
}

except Exception as e:
log.exception(e)
error_detail = "Open WebUI: Server Connection Error"
if r is not None:
try:
res = r.json()
if "error" in res:
error_detail = f"Ollama: {res['error']}"
except:
error_detail = f"Ollama: {e}"

raise HTTPException(
status_code=r.status_code if r else 500,
detail=error_detail,
)


class UrlForm(BaseModel):
url: str

Expand Down Expand Up @@ -1241,7 +1316,9 @@ def file_process_stream():


@app.api_route("/{path:path}", methods=["GET", "POST", "PUT", "DELETE"])
async def deprecated_proxy(path: str, request: Request, user=Depends(get_current_user)):
async def deprecated_proxy(
path: str, request: Request, user=Depends(get_verified_user)
):
url = app.state.OLLAMA_BASE_URLS[0]
target_url = f"{url}/{path}"

Expand Down