diff --git a/.github/workflows/rsync.yml b/.github/workflows/rsync.yml new file mode 100644 index 00000000..523456d0 --- /dev/null +++ b/.github/workflows/rsync.yml @@ -0,0 +1,40 @@ +name: Upstream Sync + +permissions: + contents: write + +on: + schedule: + - cron: "0 0 * * *" # every day + workflow_dispatch: + +jobs: + sync_latest_from_upstream: + name: Sync latest commits from upstream repo + runs-on: ubuntu-latest + if: ${{ github.event.repository.fork }} + + steps: + # Step 1: run a standard checkout action + - name: Checkout target repo + uses: actions/checkout@v3 + + # Step 2: run the sync action + - name: Sync upstream changes + id: sync + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 + with: + upstream_sync_repo: ParisNeo/Gpt4All-ui + upstream_sync_branch: main + target_sync_branch: main + target_repo_token: ${{ secrets.GITHUB_TOKEN }} # automatically generated, no need to set + + # Set test_mode true to run tests instead of the true action!! + test_mode: false + + - name: Sync check + if: failure() + run: | + echo "::error::Synchronization failed due to insufficient permissions (this is the expected behavior), please go to the warehouse homepage to execute manually[Sync fork]。" + echo "::error::Due to insufficient permissions, synchronization failed (as expected). Please go to the repository homepage and manually perform [Sync fork]." + exit 1 diff --git a/api/db.py b/api/db.py index f93645b9..767aef85 100644 --- a/api/db.py +++ b/api/db.py @@ -285,7 +285,7 @@ class DiscussionsDB: discussion = {"id": discussion_id, "title": discussion_title, "messages": []} # Insert discussion into the database - self.insert("INSERT INTO discussion (id, title) VALUES (?, ?)", (discussion_id, discussion_title)) + discussion_id = self.insert("INSERT INTO discussion (title) VALUES (?)", (discussion_title,)) for message_data in messages_data: sender = message_data.get("sender") diff --git a/app.py b/app.py index 37776e02..2dc572fe 100644 --- a/app.py +++ b/app.py @@ -248,8 +248,8 @@ class Gpt4AllWebUI(GPT4AllAPI): return jsonify(discussions) def import_multiple_discussions(self): - data = request.get_json() - discussions = data + discussions = request.get_json()["jArray"] + self.db.import_from_json(discussions) return jsonify(discussions) def reset(self): @@ -317,8 +317,8 @@ class Gpt4AllWebUI(GPT4AllAPI): else: personality_info['avatar'] = "" personalities[language_folder.name][category_folder.name].append(personality_info) - except: - print(f"Couldn't load personality from {personality_folder}") + except Exception as ex: + print(f"Couldn't load personality from {personality_folder} [{ex}]") return json.dumps(personalities) def get_personality(): diff --git a/bindings/llama_cpp_official/__init__.py b/bindings/llama_cpp_official/__init__.py index 3cb309b6..c1039272 100644 --- a/bindings/llama_cpp_official/__init__.py +++ b/bindings/llama_cpp_official/__init__.py @@ -35,8 +35,8 @@ class LLAMACPP(LLMBinding): """ super().__init__(config, False) seed = config["seed"] - if seed <=0: - seed = random.randint(1, 2**31) + # if seed <=0: + # seed = random.randint(1, 2**31) if not "n_gpu_layers" in self.config: self.config["n_gpu_layers"] = 20