Merge branch 'master' of github.com:Mintplex-Labs/anything-llm

This commit is contained in:
timothycarambat 2025-02-13 12:06:41 -08:00
commit 5d916eb6e4
35 changed files with 68 additions and 68 deletions
.devcontainer
.github/workflows
BARE_METAL.md
collector
extensions/resync
utils/extensions/RepoLoader
GithubRepo
index.js
frontend
.env.example
src
components
DataConnectorOption/media
DefaultChat
Footer
Modals/ManageWorkspace/DataConnectors
Connectors/Github
index.jsx
locales
pages/GeneralSettings/PrivacyAndData
server
models
utils/vectorDbProviders
astra
milvus
qdrant
zilliz

View file

@ -20,7 +20,7 @@ Welcome to the AnythingLLM development container configuration, designed to crea
## Getting Started
1. Using Github Codepaces. Just select to create a new workspace, and the devcontainer will be created for you.
1. Using GitHub Codespaces. Just select to create a new workspace, and the devcontainer will be created for you.
2. Using your Local VSCode (Release or Insiders). We suggest you first make a fork of the repo and then clone it to your local machine using VSCode tools. Then open the project folder in VSCode, which will prompt you to open the project in a devcontainer. Select yes, and the devcontainer will be created for you. If this does not happen, you can open the command palette and select "Remote-Containers: Reopen in Container".
@ -36,16 +36,16 @@ Checklist:
- [ ] The usual message asking you to start the Server and Frontend in different windows are now "hidden" in the building process of the devcontainer. Don't forget to do as suggested.
- [ ] Open a JavaScript file, for example "server/index.js" and check if `eslint` is working. It will complain that `'err' is defined but never used.`. This means it is working.
- [ ] Open a React File, for example, "frontend/src/main.jsx," and check if `eslint` complains about `Fast refresh only works when a file has exports. Move your component(s) to a separate file.`. Again, it means `eslint` is working. Now check at the status bar if the `Prettier` has a double checkmark :heavy_check_mark: (double). It means Prettier is working. You will see a nice extension `Formatting:`:heavy_check_mark: that can be used to disable the `Format on Save` feature temporarily.
- [ ] Open a React File, for example, "frontend/src/main.jsx," and check if `eslint` complains about `Fast refresh only works when a file has exports. Move your component(s) to a separate file.`. Again, it means `eslint` is working. Now check at the status bar if the `Prettier` has a double checkmark :heavy_check_mark: (double). It means Prettier is working. You will see a nice extension `Formatting:`:heavy_check_mark: that can be used to disable the `Format on Save` feature temporarily.
- [ ] Check if, on the left pane, you have the NPM Scripts (this may be disabled; look at the "Explorer" tree-dots up-right). There will be scripts inside the `package.json` files. You will basically need to run the `dev:collector`, `dev:server` and the `dev:frontend` in this order. When the frontend finishes starting, a window browser will open **inside** the VSCode. Still, you can open it outside.
:warning: **Important for all developers** :warning:
- [ ] When you are using the `NODE_ENV=development` the server will not store the configurations you set for security reasons. Please set the proper config on file `.env.development`. The side-effect if you don't, everytime you restart the server, you will be sent to the "Onboarding" page again.
**Note when using Github Codespaces**
**Note when using GitHub Codespaces**
- [ ] When running the "Server" for the first time, it will automatically configure its port to be publicly accessible by default, as this is required for the front end to reach the server backend. To know more, read the content of the `.env` file on the frontend folder about this, and if any issues occur, make sure to manually set the port "Visibility" of the "Server" is set to "Public" if needed. Again, this is only needed for developing on Github Codespaces.
- [ ] When running the "Server" for the first time, it will automatically configure its port to be publicly accessible by default, as this is required for the front end to reach the server backend. To know more, read the content of the `.env` file on the frontend folder about this, and if any issues occur, make sure to manually set the port "Visibility" of the "Server" is set to "Public" if needed. Again, this is only needed for developing on GitHub Codespaces.
**For the Collector:**

View file

@ -1,7 +1,7 @@
# This Github action is for publishing of the primary image for AnythingLLM
# This GitHub action is for publishing of the primary image for AnythingLLM
# It will publish a linux/amd64 and linux/arm64 image at the same time
# This file should ONLY BY USED FOR `master` BRANCH.
# TODO: Github now has an ubuntu-24.04-arm64 runner, but we still need
# TODO: GitHub now has an ubuntu-24.04-arm64 runner, but we still need
# to use QEMU to build the arm64 image because Chromium is not available for Linux arm64
# so builds will still fail, or fail much more often. Its inconsistent and frustrating.
name: Publish AnythingLLM Primary Docker image (amd64/arm64)

View file

@ -1,4 +1,4 @@
# This Github action is for validation of all languages which translations are offered for
# This GitHub action is for validation of all languages which translations are offered for
# in the locales folder in `frontend/src`. All languages are compared to the EN translation
# schema since that is the fallback language setting. This workflow will run on all PRs that
# modify any files in the translation directory

View file

@ -33,7 +33,7 @@ STORAGE_DIR="/your/absolute/path/to/server/storage"
5. Edit the `frontend/.env` file for the `VITE_BASE_API` to now be set to `/api`. This is documented in the .env for which one you should use.
```
# VITE_API_BASE='http://localhost:3001/api' # Use this URL when developing locally
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for Github Codespaces
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for GitHub Codespaces
VITE_API_BASE='/api' # Use this URL deploying on non-localhost address OR in docker.
```

View file

@ -95,7 +95,7 @@ async function resyncGithub({ chunkSource }, response) {
sourceFilePath: source.searchParams.get('path'),
});
if (!success) throw new Error(`Failed to sync Github file content. ${reason}`);
if (!success) throw new Error(`Failed to sync GitHub file content. ${reason}`);
response.status(200).json({ success, content });
} catch (e) {
console.error(e);

View file

@ -35,7 +35,7 @@ class GitHubRepoLoader {
// Not a github url at all.
if (url.hostname !== "github.com") {
console.log(
`[Github Loader]: Invalid Github URL provided! Hostname must be 'github.com'. Got ${url.hostname}`
`[GitHub Loader]: Invalid GitHub URL provided! Hostname must be 'github.com'. Got ${url.hostname}`
);
return false;
}
@ -45,7 +45,7 @@ class GitHubRepoLoader {
const [author, project, ..._rest] = url.pathname.slice(1).split("/");
if (!author || !project) {
console.log(
`[Github Loader]: Invalid Github URL provided! URL must be in the format of 'github.com/{author}/{project}'. Got ${url.pathname}`
`[GitHub Loader]: Invalid GitHub URL provided! URL must be in the format of 'github.com/{author}/{project}'. Got ${url.pathname}`
);
return false;
}
@ -55,7 +55,7 @@ class GitHubRepoLoader {
return true;
} catch (e) {
console.log(
`[Github Loader]: Invalid Github URL provided! Error: ${e.message}`
`[GitHub Loader]: Invalid GitHub URL provided! Error: ${e.message}`
);
return false;
}
@ -68,10 +68,10 @@ class GitHubRepoLoader {
if (!!this.branch && this.branches.includes(this.branch)) return;
console.log(
"[Github Loader]: Branch not set! Auto-assigning to a default branch."
"[GitHub Loader]: Branch not set! Auto-assigning to a default branch."
);
this.branch = this.branches.includes("main") ? "main" : "master";
console.log(`[Github Loader]: Branch auto-assigned to ${this.branch}.`);
console.log(`[GitHub Loader]: Branch auto-assigned to ${this.branch}.`);
return;
}
@ -90,7 +90,7 @@ class GitHubRepoLoader {
})
.catch((e) => {
console.error(
"Invalid Github Access Token provided! Access token will not be used",
"Invalid GitHub Access Token provided! Access token will not be used",
e.message
);
return false;
@ -118,14 +118,14 @@ class GitHubRepoLoader {
* @throws {Error} If the RepoLoader is not in a ready state.
*/
async recursiveLoader() {
if (!this.ready) throw new Error("[Github Loader]: not in ready state!");
if (!this.ready) throw new Error("[GitHub Loader]: not in ready state!");
const {
GithubRepoLoader: LCGithubLoader,
} = require("@langchain/community/document_loaders/web/github");
if (this.accessToken)
console.log(
`[Github Loader]: Access token set! Recursive loading enabled!`
`[GitHub Loader]: Access token set! Recursive loading enabled!`
);
const loader = new LCGithubLoader(this.repo, {

View file

@ -7,7 +7,7 @@ const { writeToServerDocuments } = require("../../../files");
const { tokenizeString } = require("../../../tokenizer");
/**
* Load in a Github Repo recursively or just the top level if no PAT is provided
* Load in a GitHub Repo recursively or just the top level if no PAT is provided
* @param {object} args - forwarded request body params
* @param {import("../../../middleware/setDataSigner").ResponseWithSigner} response - Express response object with encryptionWorker
* @returns
@ -19,11 +19,11 @@ async function loadGithubRepo(args, response) {
if (!repo.ready)
return {
success: false,
reason: "Could not prepare Github repo for loading! Check URL",
reason: "Could not prepare GitHub repo for loading! Check URL",
};
console.log(
`-- Working Github ${repo.author}/${repo.project}:${repo.branch} --`
`-- Working GitHub ${repo.author}/${repo.project}:${repo.branch} --`
);
const docs = await repo.recursiveLoader();
if (!docs.length) {
@ -33,7 +33,7 @@ async function loadGithubRepo(args, response) {
};
}
console.log(`[Github Loader]: Found ${docs.length} source files. Saving...`);
console.log(`[GitHub Loader]: Found ${docs.length} source files. Saving...`);
const outFolder = slugify(
`${repo.author}-${repo.project}-${repo.branch}-${v4().slice(0, 4)}`
).toLowerCase();
@ -69,7 +69,7 @@ async function loadGithubRepo(args, response) {
token_count_estimate: tokenizeString(doc.pageContent),
};
console.log(
`[Github Loader]: Saving ${doc.metadata.source} to ${outFolder}`
`[GitHub Loader]: Saving ${doc.metadata.source} to ${outFolder}`
);
writeToServerDocuments(
data,
@ -92,7 +92,7 @@ async function loadGithubRepo(args, response) {
}
/**
* Gets the page content from a specific source file in a give Github Repo, not all items in a repo.
* Gets the page content from a specific source file in a give GitHub Repo, not all items in a repo.
* @returns
*/
async function fetchGithubFile({
@ -112,11 +112,11 @@ async function fetchGithubFile({
return {
success: false,
content: null,
reason: "Could not prepare Github repo for loading! Check URL or PAT.",
reason: "Could not prepare GitHub repo for loading! Check URL or PAT.",
};
console.log(
`-- Working Github ${repo.author}/${repo.project}:${repo.branch} file:${sourceFilePath} --`
`-- Working GitHub ${repo.author}/${repo.project}:${repo.branch} file:${sourceFilePath} --`
);
const fileContent = await repo.fetchSingleFile(sourceFilePath);
if (!fileContent) {

View file

@ -1,6 +1,6 @@
/**
* Dynamically load the correct repository loader from a specific platform
* by default will return Github.
* by default will return GitHub.
* @param {('github'|'gitlab')} platform
* @returns {import("./GithubRepo/RepoLoader")|import("./GitlabRepo/RepoLoader")} the repo loader class for provider
*/

View file

@ -1,3 +1,3 @@
VITE_API_BASE='http://localhost:3001/api' # Use this URL when developing locally
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for Github Codespaces
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for GitHub Codespaces
# VITE_API_BASE='/api' # Use this URL deploying on non-localhost address OR in docker.

View file

@ -1,11 +1,11 @@
import Github from "./github.svg";
import GitHub from "./github.svg";
import Gitlab from "./gitlab.svg";
import YouTube from "./youtube.svg";
import Link from "./link.svg";
import Confluence from "./confluence.jpeg";
const ConnectorImages = {
github: Github,
github: GitHub,
gitlab: Gitlab,
youtube: YouTube,
websiteDepth: Link,

View file

@ -159,7 +159,7 @@ export default function DefaultChatContainer() {
className="mt-5 w-fit transition-all duration-300 border border-slate-200 px-4 py-2 rounded-lg text-white light:border-black/50 light:text-theme-text-primary text-sm items-center flex gap-x-2 hover:bg-slate-200 hover:text-slate-800 focus:ring-gray-800"
>
<GithubLogo className="h-4 w-4" />
<p>{t("welcomeMessage.starOnGithub")}</p>
<p>{t("welcomeMessage.starOnGitHub")}</p>
</a>
<a
href={paths.mailToMintplex()}

View file

@ -55,9 +55,9 @@ export default function Footer() {
target="_blank"
rel="noreferrer"
className="transition-all duration-300 p-2 rounded-full bg-theme-sidebar-footer-icon hover:bg-theme-sidebar-footer-icon-hover"
aria-label="Find us on Github"
aria-label="Find us on GitHub"
data-tooltip-id="footer-item"
data-tooltip-content="View source code on Github"
data-tooltip-content="View source code on GitHub"
>
<GithubLogo
weight="fill"

View file

@ -89,7 +89,7 @@ export default function GithubOptions() {
<div className="flex flex-col pr-10">
<div className="flex flex-col gap-y-1 mb-4">
<label className="text-white font-bold text-sm flex gap-x-2 items-center">
<p className="font-bold text-white">Github Access Token</p>{" "}
<p className="font-bold text-white">GitHub Access Token</p>{" "}
<p className="text-xs font-light flex items-center">
<span className="text-theme-text-secondary">
optional

View file

@ -13,7 +13,7 @@ export const DATA_CONNECTORS = {
name: "GitHub Repo",
image: ConnectorImages.github,
description:
"Import an entire public or private Github repository in a single click.",
"Import an entire public or private GitHub repository in a single click.",
options: <GithubOptions />,
},
gitlab: {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM ist der einfachste Weg, leistungsstarke KI-Produkte wie OpenAI, GPT-4, LangChain, PineconeDB, ChromaDB und andere Dienste in einem übersichtlichen Paket ohne Aufwand zusammenzufassen, um Ihre Produktivität um das 100-fache zu steigern.",
part3:
"AnythingLLM kann vollständig lokal auf Ihrem Computer mit geringem Overhead laufen - Sie werden nicht einmal bemerken, dass es da ist! Keine GPU erforderlich. Cloud- und On-Premises-Installation ist ebenfalls verfügbar.\nDas KI-Tool-Ökosystem wird jeden Tag leistungsfähiger. AnythingLLM macht es einfach, es zu nutzen.",
githubIssue: "Erstellen Sie ein Problem auf Github",
githubIssue: "Erstellen Sie ein Problem auf GitHub",
user1: "Wie fange ich an?!",
part4:
'Es ist einfach. Alle Sammlungen sind in Behältern organisiert, die wir "Arbeitsbereiche" nennen. Arbeitsbereiche sind Behälter für Dateien, Dokumente, Bilder, PDFs und andere Dateien, die in etwas umgewandelt werden, das LLMs verstehen und in Gesprächen verwenden können.\n\nSie können jederzeit Dateien hinzufügen und entfernen.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM ist mehr als eine intelligentere Dropbox.\n\nAnythingLLM bietet zwei Möglichkeiten, mit Ihren Daten zu sprechen:\n\n<i>Abfrage:</i> Ihre Chats geben Daten oder Schlussfolgerungen zurück, die in den Dokumenten Ihres Arbeitsbereichs gefunden wurden, auf die es Zugriff hat. Je mehr Dokumente Sie dem Arbeitsbereich hinzufügen, desto intelligenter wird er! \n\n<i>Konversation:</i> Ihre Dokumente + Ihr laufender Chat-Verlauf tragen gleichzeitig zum LLM-Wissen bei. Großartig für das Anhängen von Echtzeit-Textinformationen oder Korrekturen und Missverständnissen, die das LLM haben könnte. \n\nSie können zwischen beiden Modi wechseln \n<i>mitten im Chatten!</i>",
user3: "Wow, das klingt erstaunlich, lass es mich gleich ausprobieren!",
part6: "Viel Spaß!",
starOnGithub: "Stern auf GitHub",
starOnGitHub: "Stern auf GitHub",
contact: "Kontaktieren Sie Mintplex Labs",
},
"new-workspace": {

View file

@ -134,7 +134,7 @@ const TRANSLATIONS = {
"AnythingLLM is the easiest way to put powerful AI products like OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB, and other services together in a neat package with no fuss to increase your productivity by 100x.",
part3:
"AnythingLLM can run totally locally on your machine with little overhead you wont even notice it's there! No GPU needed. Cloud and on-premises installation is available as well.\nThe AI tooling ecosystem gets more powerful everyday. AnythingLLM makes it easy to use.",
githubIssue: "Create an issue on Github",
githubIssue: "Create an issue on GitHub",
user1: "How do I get started?!",
part4:
"It's simple. All collections are organized into buckets we call \"Workspaces\". Workspaces are buckets of files, documents, images, PDFs, and other files which will be transformed into something LLM's can understand and use in conversation.\n\nYou can add and remove files at anytime.",
@ -145,7 +145,7 @@ const TRANSLATIONS = {
"AnythingLLM is more than a smarter Dropbox.\n\nAnythingLLM offers two ways of talking with your data:\n\n<i>Query:</i> Your chats will return data or inferences found with the documents in your workspace it has access to. Adding more documents to the Workspace make it smarter! \n\n<i>Conversational:</i> Your documents + your on-going chat history both contribute to the LLM knowledge at the same time. Great for appending real-time text-based info or corrections and misunderstandings the LLM might have. \n\nYou can toggle between either mode \n<i>in the middle of chatting!</i>",
user3: "Wow, this sounds amazing, let me try it out already!",
part6: "Have Fun!",
starOnGithub: "Star on GitHub",
starOnGitHub: "Star on GitHub",
contact: "Contact Mintplex Labs",
},

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM es la forma más sencilla de integrar productos de inteligencia artificial potentes como OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB y otros servicios en un paquete ordenado, sin complicaciones, para aumentar tu productividad en un 100x.",
part3:
"AnythingLLM puede ejecutarse completamente en tu máquina local con poco impacto, ¡ni siquiera notarás que está ahí! No se necesita GPU. También está disponible la instalación en la nube y en instalaciones locales.\nEl ecosistema de herramientas de inteligencia artificial se vuelve más poderoso cada día. AnythingLLM facilita su uso.",
githubIssue: "Crear un problema en Github",
githubIssue: "Crear un problema en GitHub",
user1: "¿Cómo empiezo?!",
part4:
'Es simple. Todas las colecciones se organizan en contenedores que llamamos "Workspaces". Los Workspaces son contenedores de archivos, documentos, imágenes, PDFs y otros archivos que se transformarán en algo que los LLM puedan entender y usar en una conversación.\n\nPuedes agregar y eliminar archivos en cualquier momento.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM es más que un Dropbox más inteligente.\n\nAnythingLLM ofrece dos formas de interactuar con tus datos:\n\n<i>Consulta:</i> Tus chats devolverán datos o inferencias encontradas con los documentos en tu workspace al que tiene acceso. ¡Agregar más documentos al workspace lo hace más inteligente! \n\n<i>Conversacional:</i> Tus documentos y tu historial de chat en curso contribuyen al conocimiento del LLM al mismo tiempo. Ideal para agregar información en tiempo real basada en texto o correcciones y malentendidos que el LLM pueda tener.\n\n¡Puedes alternar entre ambos modos <i>en medio de una conversación!</i>",
user3: "¡Vaya, esto suena increíble, déjame probarlo ya!",
part6: "¡Diviértete!",
starOnGithub: "Estrella en GitHub",
starOnGitHub: "Estrella en GitHub",
contact: "Contactar a Mintplex Labs",
},
"new-workspace": {

View file

@ -130,7 +130,7 @@ const TRANSLATIONS = {
"AnythingLLM بیشتر از یک دراپ‌باکس هوشمند است.\n\nAnythingLLM دو روش برای صحبت با داده‌های شما ارائه می‌دهد:\n\n<i>پرس‌وجو:</i> گفتگوهای شما داده‌ها یا استنباط‌های یافت شده در اسناد فضای کاری که به آن دسترسی دارد را برمی‌گرداند. افزودن اسناد بیشتر به فضای کاری آن را هوشمندتر می‌کند!\n\n<i>مکالمه‌ای:</i> اسناد شما + تاریخچه گفتگوی جاری شما هر دو همزمان به دانش LLM کمک می‌کنند. برای افزودن اطلاعات متنی بلادرنگ یا اصلاح اشتباهات و سوءتفاهم‌هایی که LLM ممکن است داشته باشد، عالی است.\n\nشما می‌توانید بین هر دو حالت \n<i>در وسط گفتگو!</i> جابجا شوید.",
user3: "وای، این عالی به نظر می‌رسد، بگذارید همین حالا امتحانش کنم!",
part6: "خوش بگذره!",
starOnGithub: "ستاره در گیت‌هاب",
starOnGitHub: "ستاره در گیت‌هاب",
contact: "تماس با Mintplex Labs",
},
"new-workspace": {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM est le moyen le plus simple de regrouper des produits d'intelligence artificielle puissants tels que OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB et d'autres services dans un package soigné, sans tracas, pour augmenter votre productivité de 100x.",
part3:
"AnythingLLM peut fonctionner totalement localement sur votre machine avec peu d'impact, vous ne remarquerez même pas qu'il est là ! Pas besoin de GPU. L'installation en cloud et sur site est également disponible.\nL'écosystème des outils d'IA devient plus puissant chaque jour. AnythingLLM le rend facile à utiliser.",
githubIssue: "Créer un problème sur Github",
githubIssue: "Créer un problème sur GitHub",
user1: "Comment commencer?!",
part4:
'C\'est simple. Toutes les collections sont organisées en compartiments que nous appelons "Workspaces". Les Workspaces sont des compartiments de fichiers, documents, images, PDFs et autres fichiers qui seront transformés en quelque chose que les LLM peuvent comprendre et utiliser dans une conversation.\n\nVous pouvez ajouter et supprimer des fichiers à tout moment.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM est plus qu'un Dropbox plus intelligent.\n\nAnythingLLM offre deux façons de parler avec vos données:\n\n<i>Interrogation :</i> Vos chats renverront des données ou des inférences trouvées avec les documents dans votre workspace auquel il a accès. Ajouter plus de documents au workspace le rend plus intelligent !\n\n<i>Conversationnel :</i> Vos documents et votre historique de chat en cours contribuent tous deux aux connaissances du LLM en même temps. Idéal pour ajouter des informations en temps réel basées sur du texte ou des corrections et des malentendus que le LLM pourrait avoir.\n\nVous pouvez basculer entre les deux modes <i>en plein milieu d'une conversation !</i>",
user3: "Wow, cela semble incroyable, laissez-moi l'essayer tout de suite !",
part6: "Amusez-vous bien !",
starOnGithub: "Étoile sur GitHub",
starOnGitHub: "Étoile sur GitHub",
contact: "Contacter Mintplex Labs",
},
"new-workspace": {

View file

@ -119,7 +119,7 @@ const TRANSLATIONS = {
"AnythingLLM היא הדרך הקלה ביותר לשלב מוצרים חזקים של AI כמו OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB ושירותים אחרים בחבילה אחת ללא מאמץ כדי להגדיל את הפרודוקטיביות שלך פי 100.",
part3:
"AnythingLLM יכול לפעול באופן מקומי לחלוטין על המחשב שלך עם מעט עלויות ביצוע שאתה אפילו לא תבחין בהן! לא נדרש GPU. התקנה בענן ובמקום היא זמינה גם כן.\nמערכת הכלים של AI הופכת חזקה יותר מדי יום. AnythingLLM הופכת את השימוש בה פשוט.",
githubIssue: "צור בעיה ב-Github",
githubIssue: "צור בעיה ב-GitHub",
user1: "איך אני מתחיל?!",
part4:
"זה פשוט. כל אוסף מאורגן לדליים שאנחנו קוראים להם 'סביבות עבודה'. סביבות עבודה הן דליים של קבצים, מסמכים, תמונות, PDF וקבצים אחרים שיהפכו למשהו ש-LLM יכולות להבין ולעשות איתו שימוש בשיחה.\n\nתוכל להוסיף ולהסיר קבצים בכל עת.",
@ -129,7 +129,7 @@ const TRANSLATIONS = {
"AnythingLLM היא יותר מ-Dropbox חכם יותר.\n\nAnythingLLM מציעה שתי דרכים לשוחח עם הנתונים שלך:\n\n<i>שאילתה:</i> השיחות שלך יחזירו נתונים או מסקנות שנמצאות במסמכים בסביבת העבודה שלך אליה יש לה גישה. הוספת עוד מסמכים לסביבת העבודה הופכת אותה לחכמה יותר! \n\n<i>שיחה:</i> המסמכים שלך + היסטוריית השיחה הנוכחית שלך תורמות יחד לידע של LLM בו זמנית. נהדר להוספת מידע טקסטואלי בזמן אמת או תיקונים וחוסר הבנות שאולי יהיו ל-LLM.\n\nאתה יכול לעבור בין שני המצבים \n<i>אפילו באמצע שיחה!</i>",
user3: "וואו, זה נשמע מדהים, תן לי לנסות את זה כבר!",
part6: "תהנה!",
starOnGithub: "שים כוכב ב-GitHub",
starOnGitHub: "שים כוכב ב-GitHub",
contact: "צור קשר עם Mintplex Labs",
},
"new-workspace": {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM è il modo più semplice per mettere insieme potenti prodotti di intelligenza artificiale come OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB e altri servizi in un pacchetto ordinato e senza problemi per aumentare la tua produttività di 100 volte.",
part3:
"AnythingLLM può essere eseguito completamente in locale sulla tua macchina con un overhead minimo, non ti accorgerai nemmeno che c'è! Non serve GPU. Sono disponibili anche installazioni cloud e on-premise.\nL'ecosistema degli strumenti di intelligenza artificiale diventa ogni giorno più potente. AnythingLLM lo rende facile da usare.",
githubIssue: "Apri una issue su Github",
githubIssue: "Apri una issue su GitHub",
user1: "Come posso iniziare?!",
part4:
'È semplice. Tutte le raccolte sono organizzate in contenitori che chiamiamo "Aree di lavoro". Le aree di lavoro sono contenitori di file, documenti, immagini, PDF e altri file che verranno trasformati in qualcosa che gli LLM possono comprendere e utilizzare nella conversazione.\n\nPuoi aggiungere e rimuovere file in qualsiasi momento.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM è migliore di un Dropbox più smart.\n\nAnythingLLM offre due modi di comunicare con i tuoi dati:\n\n<i>Query:</i> Le tue chat restituiranno dati o inferenze trovate con i documenti nella tua area di lavoro a cui ha accesso. Aggiungere più documenti all'area di lavoro lo rende più intelligente! \n\n<i>Conversazionale:</i> i tuoi documenti + la cronologia delle chat in corso contribuiscono entrambi alla conoscenza dell'LLM allo stesso tempo. Ottimo per aggiungere informazioni basate su testo in tempo reale o correzioni e incomprensioni che l'LLM potrebbe avere. \n\nPuoi passare da una modalità all'altra \n<i>nel mezzo della chat!</i>",
user3: "Wow, sembra fantastico, fammi provare!",
part6: "Divertiti!",
starOnGithub: "Metti una stella su GitHub",
starOnGitHub: "Metti una stella su GitHub",
contact: "Contatta Mintplex Labs",
},
"new-workspace": {

View file

@ -130,7 +130,7 @@ const TRANSLATIONS = {
"AnythingLLM은 OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB 등 강력한 AI 제품을 번거로움 없이 깔끔하게 패키지로 묶어 생산성을 100배 향상시키는 가장 쉬운 방법입니다.",
part3:
"AnythingLLM은 로컬 컴퓨터에서 완전히 작동하며, 거의 리소스를 사용하지 않으므로 존재조차 느끼지 못할 것입니다! GPU가 필요하지 않습니다. 클라우드 및 온프레미스 설치도 가능합니다.\nAI 도구 생태계는 날로 강력해지고 있습니다. AnythingLLM은 이를 쉽게 사용할 수 있게 해줍니다.",
githubIssue: "Github에 이슈 생성하기",
githubIssue: "GitHub에 이슈 생성하기",
user1: "어떻게 시작하나요?!",
part4:
'간단합니다. 모든 컬렉션은 "워크스페이스"라고 부르는 버킷으로 구성됩니다. 워크스페이스는 문서, 이미지, PDF 및 기타 파일의 버킷으로, LLM이 이해하고 대화에서 사용할 수 있는 형태로 변환합니다.\n\n언제든지 파일을 추가하고 삭제할 수 있습니다.',
@ -141,7 +141,7 @@ const TRANSLATIONS = {
"AnythingLLM은 더 스마트한 Dropbox 이상의 것입니다.\n\nAnythingLLM은 데이터와 대화할 수 있는 두 가지 방법을 제공합니다:\n\n<i>쿼리:</i> 워크스페이스 내 문서에서 찾아낸 데이터나 추론 결과만 채팅으로 제공합니다. 워크스페이스에 문서를 더 많이 추가할수록 더 똑똑해집니다!\n\n<i>대화:</i> 문서와 실시간 채팅 기록이 동시에 LLM의 지식에 기여합니다. 실시간 텍스트 정보나 LLM의 오해를 바로잡는 데 매우 유용합니다.\n\n채팅 중간에 <i>모드를 전환할 수 있습니다!</i>",
user3: "와, 이거 정말 놀랍네요, 당장 사용해보고 싶어요!",
part6: "즐기세요!",
starOnGithub: "GitHub에 별표 달기",
starOnGitHub: "GitHub에 별표 달기",
contact: "Mintplex Labs에 연락하기",
},
general: {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM is de eenvoudigste manier om krachtige AI-producten zoals OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB en andere diensten samen te voegen in een net pakket zonder gedoe om je productiviteit met 100x te verhogen.",
part3:
"AnythingLLM kan volledig lokaal op je machine draaien met weinig overhead, je merkt niet eens dat het er is! Geen GPU nodig. Cloud en on-premises installatie is ook beschikbaar.\nHet AI-tooling ecosysteem wordt elke dag krachtiger. AnythingLLM maakt het gemakkelijk te gebruiken.",
githubIssue: "Maak een probleem aan op Github",
githubIssue: "Maak een probleem aan op GitHub",
user1: "Hoe kan ik beginnen?",
part4:
"Het is simpel. Alle verzamelingen zijn georganiseerd in buckets die we \"Werkruimten\" noemen. Werkruimten zijn buckets van bestanden, documenten, afbeeldingen, PDF's en andere bestanden die worden omgezet in iets wat LLM's kunnen begrijpen en gebruiken in gesprekken.\n\nJe kunt op elk moment bestanden toevoegen en verwijderen.",
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM is meer dan een slimmere Dropbox.\n\nAnythingLLM biedt twee manieren om met je gegevens te praten:\n\n<i>Query:</i> Je chats zullen gegevens of inferenties retourneren die zijn gevonden met de documenten in je werkruimte waar het toegang toe heeft. Meer documenten toevoegen aan de Werkruimte maakt het slimmer! \n\n<i>Conversational:</i> Je documenten + je lopende chatgeschiedenis dragen beide tegelijkertijd bij aan de LLM-kennis. Geweldig voor het toevoegen van realtime tekstgebaseerde informatie of correcties en misverstanden die de LLM kan hebben. \n\nJe kunt tijdens het chatten tussen beide modi schakelen \n<i>in het midden van de chat!</i>",
user3: "Wauw, dit klinkt geweldig, laat me het al proberen!",
part6: "Veel Plezier!",
starOnGithub: "Ster op GitHub",
starOnGitHub: "Ster op GitHub",
contact: "Contact Mintplex Labs",
},
"new-workspace": {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM é a maneira mais fácil de reunir produtos de IA poderosos como OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB e outros serviços em um pacote organizado sem complicações para aumentar sua produtividade em 100x.",
part3:
"AnythingLLM pode ser executado totalmente localmente em sua máquina com pouca sobrecarga que você nem perceberá que está lá! Não é necessário GPU. A instalação em nuvem e localmente também está disponível.\nO ecossistema de ferramentas de IA fica mais poderoso a cada dia. AnythingLLM facilita o uso.",
githubIssue: "Criar uma issue no Github",
githubIssue: "Criar uma issue no GitHub",
user1: "Como eu começo?!",
part4:
'É simples. Todas as coleções são organizadas em grupos que chamamos de "Workspaces". Workspaces são grupos de arquivos, documentos, imagens, PDFs e outros arquivos que serão transformados em algo que os LLMs podem entender e usar em conversas.\n\nVocê pode adicionar e remover arquivos a qualquer momento.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM é mais do que um Dropbox mais inteligente.\n\nAnythingLLM oferece duas maneiras de conversar com seus dados:\n\n<i>Consulta:</i> Seus chats retornarão dados ou inferências encontradas com os documentos em seu workspace ao qual tem acesso. Adicionar mais documentos ao Workspace o torna mais inteligente!\n\n<i>Conversacional:</i> Seus documentos + seu histórico de chat em andamento contribuem para o conhecimento do LLM ao mesmo tempo. Ótimo para adicionar informações em tempo real baseadas em texto ou correções e mal-entendidos que o LLM possa ter.\n\nVocê pode alternar entre qualquer modo \n<i>no meio da conversa!</i>",
user3: "Uau, isso soa incrível, deixe-me experimentar já!",
part6: "Divirta-se!",
starOnGithub: "Dar estrela no GitHub",
starOnGitHub: "Dar estrela no GitHub",
contact: "Contato Mintplex Labs",
},
"new-workspace": {

View file

@ -120,7 +120,7 @@ const TRANSLATIONS = {
"AnythingLLM - это самый простой способ объединить мощные продукты ИИ, такие как OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB и другие сервисы, в аккуратный пакет без лишних хлопот, чтобы повысить вашу продуктивность в 100 раз.",
part3:
"AnythingLLM может работать полностью локально на вашем компьютере с минимальной нагрузкой, вы даже не заметите его присутствия! GPU не требуется. Также доступна установка в облаке и на локальных серверах.\nЭкосистема инструментов ИИ становится мощнее с каждым днем. AnythingLLM упрощает их использование.",
githubIssue: "Создать задачу на Github",
githubIssue: "Создать задачу на GitHub",
user1: "Как начать?!",
part4:
'Это просто. Все коллекции организованы в корзины, которые мы называем "Workspaces". Workspaces - это корзины файлов, документов, изображений, PDF и других файлов, которые будут преобразованы в нечто, что LLM сможет понять и использовать в беседе.\n\nВы можете добавлять и удалять файлы в любое время.',
@ -131,7 +131,7 @@ const TRANSLATIONS = {
"AnythingLLM - это больше, чем просто умный Dropbox.\n\nAnythingLLM предлагает два способа общения с вашими данными:\n\n<i>Запрос:</i> Ваши чаты будут возвращать данные или выводы, найденные в документах в вашем workspace, к которому у него есть доступ. Добавление большего количества документов в workspace делает его умнее!\n\n<i>Беседа:</i> Ваши документы и история чатов вместе способствуют знаниям LLM одновременно. Отлично подходит для добавления информации в реальном времени на основе текста или исправления и недоразумений, которые может иметь LLM.\n\nВы можете переключаться между режимами <i>прямо во время чата!</i>",
user3: "Вау, это звучит потрясающе, дайте попробовать прямо сейчас!",
part6: "Веселитесь!",
starOnGithub: "Звезда на GitHub",
starOnGitHub: "Звезда на GitHub",
contact: "Связаться с Mintplex Labs",
},
"new-workspace": {

View file

@ -119,7 +119,7 @@ const TRANSLATIONS = {
"AnythingLLM, OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB ve benzeri güçlü yapay zeka ürünlerini zahmetsizce, düzenli bir paket içinde bir araya getirmenin en kolay yoludur; böylece verimliliğinizi 100 kat artırabilirsiniz.",
part3:
"AnythingLLM tamamen yerel olarak makinenizde çok az kaynakla çalışabilir—orada olduğunu bile fark etmezsiniz! GPU gerekmez. Bulut veya şirket içi (on-premises) kurulum da mevcuttur.\nYapay zeka araç ekosistemi her geçen gün daha da güçleniyor. AnythingLLM bu gücü kolayca kullanmanızı sağlar.",
githubIssue: "Github'da bir sorun oluşturun",
githubIssue: "GitHub'da bir sorun oluşturun",
user1: "Nasıl başlarım?!",
part4:
"Bu çok basit. Tüm koleksiyonlar, 'Çalışma Alanları' (Workspaces) adını verdiğimiz gruplar halinde düzenlenir. Çalışma Alanları; dosyalar, belgeler, resimler, PDF'ler ve diğer dosyaların LLM'lerin anlayabileceği ve sohbette kullanabileceği biçime dönüştürüleceği gruplardır.\n\nİstediğiniz zaman dosya ekleyip kaldırabilirsiniz.",
@ -130,7 +130,7 @@ const TRANSLATIONS = {
"AnythingLLM, sıradan bir Dropbox'tan çok daha fazlasıdır.\n\nAnythingLLM, verilerinizle etkileşime geçmenin iki yolunu sunar:\n\n<i>Sorgu (Query):</i> Sohbetleriniz, çalışma alanınızdaki belgelere erişip onlardan elde ettiği verileri veya çıkarımları size sunar. Çalışma Alanınıza daha fazla belge eklemek, onu daha akıllı hâle getirir!\n\n<i>Konuşma (Conversational):</i> Belgeleriniz ve devam eden sohbet geçmişiniz, aynı anda LLM'in bilgi tabanına katkıda bulunur. Bu, gerçek zamanlı metin bilgileri, düzeltmeler veya LLM'nin yanlış anlayabileceği noktaların düzeltilmesi için mükemmeldir.\n\nSohbet esnasında, <i>iki mod arasında istediğiniz an</i> geçiş yapabilirsiniz!",
user3: "Vay, harika görünüyor. Hemen denemek istiyorum!",
part6: "İyi eğlenceler!",
starOnGithub: "GitHub'da Yıldız Verin",
starOnGitHub: "GitHub'da Yıldız Verin",
contact: "Mintplex Labs ile İletişime Geçin",
},
"new-workspace": {

View file

@ -119,7 +119,7 @@ const TRANSLATIONS = {
"AnythingLLM is the easiest way to put powerful AI products like OpenAi, GPT-4, LangChain, PineconeDB, ChromaDB, and other services together in a neat package with no fuss to increase your productivity by 100x.",
part3:
"AnythingLLM can run totally locally on your machine with little overhead you wont even notice it's there! No GPU needed. Cloud and on-premises installation is available as well.\nThe AI tooling ecosystem gets more powerful everyday. AnythingLLM makes it easy to use.",
githubIssue: "Create an issue on Github",
githubIssue: "Create an issue on GitHub",
user1: "How do I get started?!",
part4:
"It's simple. All collections are organized into buckets we call \"Không gian làm việc\". Không gian làm việc are buckets of files, documents, images, PDFs, and other files which will be transformed into something LLM's can understand and use in conversation.\n\nYou can add and remove files at anytime.",
@ -130,7 +130,7 @@ const TRANSLATIONS = {
"AnythingLLM is more than a smarter Dropbox.\n\nAnythingLLM offers two ways of talking with your data:\n\n<i>Query:</i> Your chats will return data or inferences found with the documents in your workspace it has access to. Adding more documents to the Workspace make it smarter! \n\n<i>Conversational:</i> Your documents + your on-going chat history both contribute to the LLM knowledge at the same time. Great for appending real-time text-based info or corrections and misunderstandings the LLM might have. \n\nYou can toggle between either mode \n<i>in the middle of chatting!</i>",
user3: "Wow, this sounds amazing, let me try it out already!",
part6: "Have Fun!",
starOnGithub: "Star on GitHub",
starOnGitHub: "Star on GitHub",
contact: "Contact Mintplex Labs",
},
"new-workspace": {

View file

@ -123,7 +123,7 @@ const TRANSLATIONS = {
"AnythingLLM 是将强大的 AI 产品(如 OpenAi、GPT-4、LangChain、PineconeDB、ChromaDB 等)整合在一个整洁的包中而无需繁琐操作的最简单方法,可以将你的生产力提高 100 倍。",
part3:
"AnythingLLM 可以完全在你的本地计算机上运行,几乎没有开销,你甚至不会注意到它的存在!无需 GPU。也可以进行云端和本地安装。\nAI 工具生态系统每天都在变得更强大。AnythingLLM 使其易于使用。",
githubIssue: "在 Github 上创建问题",
githubIssue: "在 GitHub 上创建问题",
user1: "我该如何开始?!",
part4:
"很简单。所有集合都组织成我们称之为“工作区”的桶。工作区是文件、文档、图像、PDF 和其他文件的存储桶,这些文件将被转换为 LLM 可以理解和在对话中使用的内容。\n\n你可以随时添加和删除文件。",
@ -133,7 +133,7 @@ const TRANSLATIONS = {
"AnythingLLM 不仅仅是一个更智能的 Dropbox。\n\nAnythingLLM 提供了两种与你的数据交流的方式:\n\n<i>查询:</i> 你的聊天将返回在你的工作区中访问的文档中找到的数据或推论。向工作区添加更多文档会使其更智能!\n\n<i>对话:</i> 你的文档和正在进行的聊天记录同时为 LLM 知识做出贡献。非常适合添加基于文本的实时信息或纠正 LLM 可能存在的误解。\n\n你可以在聊天过程中 <i>切换模式!</i>",
user3: "哇,这听起来很棒,让我马上试试!",
part6: "玩得开心!",
starOnGithub: "在 GitHub 上加星",
starOnGitHub: "在 GitHub 上加星",
contact: "联系 Mintplex Labs",
},
"new-workspace": {

View file

@ -133,7 +133,7 @@ const TRANSLATIONS = {
"AnythingLLM 不僅是一個更聰明的 Dropbox。\n\nAnythingLLM 提供兩種與您的資料互動的方式:\n\n<i>查詢:</i> 您的對話將會根據工作區中可存取的文件內容,傳回資料或推論。新增更多文件到工作區會讓它變得更聰明!\n\n<i>對話:</i> 您的文件加上持續進行中的對話紀錄,兩者會同時貢獻給 LLM 的知識庫。這非常適合用於附加即時的文字資訊,或是修正 LLM 可能產生的誤解。\n\n您可以在<i>對話過程中</i>隨時切換這兩種模式!",
user3: "哇,這聽起來很棒,讓我馬上試試看!",
part6: "祝您使用愉快!",
starOnGithub: "在 GitHub 上給我們星星",
starOnGitHub: "在 GitHub 上給我們星星",
contact: "聯絡 Mintplex Labs",
},
"new-workspace": {

View file

@ -194,7 +194,7 @@ function TelemetryLogs({ settings }) {
className="underline text-blue-400"
target="_blank"
>
Github here
GitHub here
</a>
.
</p>

View file

@ -50,7 +50,7 @@ const DocumentSyncQueue = {
return true; // If is web-link material (prior to feature most chunkSources were links://)
if (chunkSource.startsWith("youtube://")) return true; // If is a youtube link
if (chunkSource.startsWith("confluence://")) return true; // If is a confluence document link
if (chunkSource.startsWith("github://")) return true; // If is a Github file reference
if (chunkSource.startsWith("github://")) return true; // If is a GitHub file reference
if (chunkSource.startsWith("gitlab://")) return true; // If is a Gitlab file reference
return false;
},

View file

@ -85,7 +85,7 @@ const AstraDB = {
if (!isExists) {
if (!dimensions)
throw new Error(
`AstraDB:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on Github for support.`
`AstraDB:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on GitHub for support.`
);
await client.createCollection(namespace, {

View file

@ -97,7 +97,7 @@ const Milvus = {
if (!isExists) {
if (!dimensions)
throw new Error(
`Milvus:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on Github for support.`
`Milvus:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on GitHub for support.`
);
await client.createCollection({

View file

@ -123,7 +123,7 @@ const QDrant = {
}
if (!dimensions)
throw new Error(
`Qdrant:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on Github for support.`
`Qdrant:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on GitHub for support.`
);
await client.createCollection(namespace, {
vectors: {

View file

@ -98,7 +98,7 @@ const Zilliz = {
if (!isExists) {
if (!dimensions)
throw new Error(
`Zilliz:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on Github for support.`
`Zilliz:getOrCreateCollection Unable to infer vector dimension from input. Open an issue on GitHub for support.`
);
await client.createCollection({