{"repo": "ajirohack/las", "files": {"las-v1/reference_sources/ref_tools_layer/examples/AGiXT-Expert-ezLocalai.ipynb": {"9163b6383dd63f894d28f2767e0cfcebc9a3e621": {"t": 1786068259.6983392, "n": 8491, "h": "a2d41cd4e97d44f1", "c": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Train an Expert Agent in AGiXT with ezLocalai Provider\\n\",\n \"\\n\",\n \"This example assumes that you have your AGiXT and ezLocalai servers set up and running. This example is specifically for running AGiXT with ezLocalai and training a local agent. If you do not wish to run local models, we have the same example set up for using an agent with the OpenAI API.\\n\",\n \"\\n\",\n \"If you do not have ezLocalai set up and you want to set it up to run local models, go to https://github.com/DevXT-LLC/ezlocalai and follow the instructions there to set up the server, then continue with this example.\\n\",\n \"\\n\",\n \"## Create the Agent\\n\",\n \"\\n\",\n \"For this example, we will create an expert on AGiXT. These settings can be easily changed in the streamlit app or over API.\\n\",\n \"\\n\",\n \"Modify the `agixt_server`, `api_key`, `agent_name`, `EZLOCALAI_API_URL`, `EZLOCALAI_API_KEY`, `persona`, and any others as needed.\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from agixtsdk import AGiXTSDK\\n\",\n \"\\n\",\n \"agixt_server = \\\"http://localhost:7437\\\" # Change this to your AGiXT server URL\\n\",\n \"\\n\",\n \"\\n\",\n \"api_key = \\\"None\\\" # Change this to your AGiXT API key (This should be your JWT in the web interface)\\n\",\n \"agixt = AGiXTSDK(base_uri=agixt_server, api_key=api_key)\\n\",\n \"\\n\",\n \"# If you dont have your jwt but have your authenticator:\\n\",\n \"# agixt = AGiXTSDK(base_uri=agixt_server)\\n\",\n \"# agixt.login(email=\\\"Your email address\\\", otp=\\\"123456\\\")\\n\",\n \"\\n\",\n \"\\n\",\n \"agent_name = \\\"AGiXT\\\" # Change this if desired\\n\",\n \"\\n\",\n \"\\n\",\n \"agixt.add_agent(\\n\",\n \" agent_name=agent_name,\\n\",\n \" settings={\\n\",\n \" \\\"provider\\\": \\\"rotation\\\",\\n\",\n \" \\\"vision_provider\\\": \\\"rotation\\\",\\n\",\n \" \\\"tts_provider\\\": \\\"ezlocalai\\\",\\n\",\n \" \\\"transcription_provider\\\": \\\"default\\\",\\n\",\n \" \\\"translation_provider\\\": \\\"default\\\",\\n\",\n \" \\\"embeddings_provider\\\": \\\"default\\\",\\n\",\n \" \\\"image_provider\\\": \\\"None\\\",\\n\",\n \" \\\"ANTHROPIC_API_KEY\\\": \\\"\\\",\\n\",\n \" \\\"ANTHROPIC_MODEL\\\": \\\"claude-3-5-sonnet-20241022\\\",\\n\",\n \" \\\"AZURE_MODEL\\\": \\\"\\\",\\n\",\n \" \\\"AZURE_API_KEY\\\": \\\"\\\",\\n\",\n \" \\\"AZURE_OPENAI_ENDPOINT\\\": \\\"\\\",\\n\",\n \" \\\"AZURE_DEPLOYMENT_NAME\\\": \\\"\\\",\\n\",\n \" \\\"AZURE_TEMPERATURE\\\": 0.7,\\n\",\n \" \\\"AZURE_TOP_P\\\": 0.95,\\n\",\n \" \\\"DEEPSEEK_API_KEY\\\": \\\"\\\",\\n\",\n \" \\\"DEEPSEEK_MODEL\\\": \\\"deepseek-chat\\\",\\n\",\n \" \\\"GOOGLE_API_KEY\\\": \\\"\\\",\\n\",\n \" \\\"GOOGLE_MODEL\\\": \\\"gemini-exp-1206\\\",\\n\",\n \" \\\"GOOGLE_TEMPERATURE\\\": 0.7,\\n\",\n \" \\\"GOOGLE_TOP_P\\\": 0.95,\\n\",\n \" \\\"EZLOCALAI_API_URI\\\": \\\"http://ezlocalai:8091/v1/\\\", # URL for the EZLOCALAI API, change this to your EZLOCALAI API URL. Never use localhost here, it is a different container.\\n\",\n \" \\\"EZLOCALAI_API_KEY\\\": \\\"Your EZLOCALAI API key\\\", # Change this to your EZLOCALAI API key\\n\",\n \" \\\"EZLOCALAI_VOICE\\\": \\\"DukeNukem\\\", # Voice for TTS, change this to the voice you want to use from ezlocalai.\\n\",\n \" \\\"EZLOCALAI_TEMPERATURE\\\": 1.33,\\n\",\n \" \\\"EZLOCALAI_TOP_P\\\": 0.95,\\n\",\n \" \\\"OPENAI_API_KEY\\\": \\\"\\\", # Enter your OpenAI API key here\\n\",\n \" \\\"OPENAI_MODEL\\\": \\\"chatgpt-4o-latest\\\",\\n\",\n \" \\\"XAI_API_KEY\\\": \\\"\\\",\\n\",\n \" \\\"XAI_MODEL\\\": \\\"grok-beta\\\",\\n\",\n \" \\\"EZLOCALAI_MAX_TOKENS\\\": \\\"1\\\",\\n\",\n \" \\\"DEEPSEEK_MAX_TOKENS\\\": \\\"60000\\\",\\n\",\n \" \\\"AZURE_MAX_TOKENS\\\": \\\"100000\\\",\\n\",\n \" \\\"XAI_MAX_TOKENS\\\": \\\"120000\\\",\\n\",\n \" \\\"OPENAI_MAX_TOKENS\\\": \\\"128000\\\",\\n\",\n \" \\\"ANTHROPIC_MAX_TOKENS\\\": \\\"200000\\\",\\n\",\n \" \\\"GOOGLE_MAX_TOKENS\\\": \\\"2097152\\\",\\n\",\n \" \\\"SMARTEST_PROVIDER\\\": \\\"anthropic\\\",\\n\",\n \" \\\"mode\\\": \\\"prompt\\\",\\n\",\n \" \\\"prompt_name\\\": \\\"Think About It\\\",\\n\",\n \" \\\"prompt_category\\\": \\\"Default\\\",\\n\",\n \" \\\"analyze_user_input\\\": False,\\n\",\n \" \\\"websearch\\\": False,\\n\",\n \" \\\"websearch_depth\\\": 2,\\n\",\n \" \\\"WEBSEARCH_TIMEOUT\\\": 0,\\n\",\n \" \\\"persona\\\": \\\"AGiXT is an expert on the AGiXT AI agent automation platform and supports the users of AGiXT.\\\", # Use this field to set persona for the AI model\\n\",\n \" \\\"tts\\\": False,\\n\",\n \" },\\n\",\n \" training_urls=[], # Add training URLs here if you want to train the agent\\n\",\n \")\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Zip your training data\\n\",\n \"\\n\",\n \"Creates a zip file called `training_data.zip` of the AGiXT `docs` folder. You can change this to any folder that you would like to use as training data, or skip this step and use an existing zip file.\\n\",\n \"\\n\",\n \"A good example of what to use for training data would be any PDF, word document, text file, or any other kind of file with information in it that you would like the agent to learn from.\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"from zipfile import ZipFile\\n\",\n \"import os\\n\",\n \"\\n\",\n \"os.chdir(\\\"../\\\")\\n\",\n \"with ZipFile(\\\"examples/training_data.zip\\\", \\\"w\\\") as zipObj:\\n\",\n \" for foldername, subfolders, filenames in os.walk(\\\"docs\\\"):\\n\",\n \" for filename in filenames:\\n\",\n \" file_path = os.path.join(foldername, filename)\\n\",\n \" zipObj.write(file_path)\\n\",\n \"os.chdir(\\\"examples/\\\")\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Train the Agent on the training data\\n\",\n \"\\n\",\n \"This will train the agent on the training data that you have provided. This will take some time to complete depending on the size of the training data. A zip file around 70MB in size takes around 3 minutes to complete. The AGiXT docs should complete very quickly since it is all markdown files totaling around 3MB.\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import base64\\n\",\n \"\\n\",\n \"zip_file_name = \\\"training_data.zip\\\"\\n\",\n \"training_data = base64.b64encode(open(zip_file_name, \\\"rb\\\").read()).decode(\\\"utf-8\\\")\\n\",\n \"\\n\",\n \"agixt.learn_file(\\n\",\n \" agent_name=agent_name,\\n\",\n \" file_name=zip_file_name,\\n\",\n \" file_content=training_data,\\n\",\n \" collection_number=\\\"0\\\",\\n\",\n \")\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"## Chat with your trained expert AGiXT agent\\n\",\n \"\\n\",\n \"AGiXT has direct support for using the OpenAI API for chat completions. See this link for more information to take advantage of the abilities of this endpoint: https://josh-xt.github.io/AGiXT/2-Concepts/04-Chat%20Completions.html\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": null,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n \"import openai\\n\",\n \"\\n\",\n \"prompt = \\\"What can you tell me about AGiXT?\\\"\\n\",\n \"\\n\",\n \"openai.base_url = f\\\"{agixt_server}/v1/\\\"\\n\",\n \"openai.api_key = api_key\\n\",\n \"openai.api_type = \\\"openai\\\"\\n\",\n \"\\n\",\n \"response = openai.chat.completions.create(\\n\",\n \" model=agent_name,\\n\",\n \" messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": prompt}],\\n\",\n \" user=\\\"Tell me about AGiXT\\\", # This field is used for the conversation name, if empty, it will use today's date\\n\",\n \")\\n\",\n \"print(response.choices[0].message.content)\"\n ]\n },\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# That is all! \\n\",\n \"\\n\",\n \"You now have a trained expert agent in AGiXT. This agent will be able to support users by answering questions, providing information, and more about AGiXT.\"\n ]\n }\n ],\n \"metadata\": {\n \"kernelspec\": {\n \"display_name\": \"Python 3\",\n \"language\": \"python\",\n \"name\": \"python3\"\n },\n \"language_info\": {\n \"codemirror_mode\": {\n \"name\": \"ipython\",\n \"version\": 3\n },\n \"file_extension\": \".py\",\n \"mimetype\": \"text/x-python\",\n \"name\": \"python\",\n \"nbconvert_exporter\": \"python\",\n \"pygments_lexer\": \"ipython3\",\n \"version\": \"3.10.16\"\n }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"}}, "las-v1/reference_sources/ref_tools_layer/docker-compose-local.yml": {"9163b6383dd63f894d28f2767e0cfcebc9a3e621": {"t": 1786068530.5138583, "n": 6948, "h": "4a45c6ddd3f0408f", "c": "services:\n agixt:\n build:\n context: .\n dockerfile: Dockerfile\n init: true\n restart: unless-stopped\n # Add capabilities for bubblewrap sandbox\n cap_add:\n - SYS_ADMIN\n - SYS_CHROOT\n - NET_ADMIN\n - NET_RAW\n security_opt:\n - apparmor:unconfined\n # Enable privileged mode for full bubblewrap support\n privileged: true\n environment:\n DATABASE_TYPE: ${DATABASE_TYPE:-postgres}\n DATABASE_NAME: ${DATABASE_NAME:-postgres}\n DATABASE_HOST: ${DATABASE_HOST:-postgres}\n DATABASE_PORT: ${DATABASE_PORT:-5432}\n DATABASE_USER: ${DATABASE_USER:-postgres}\n DATABASE_PASSWORD: ${DATABASE_PASSWORD:-postgres}\n UVICORN_WORKERS: ${UVICORN_WORKERS:-10}\n AGIXT_API_KEY: ${AGIXT_API_KEY:-None}\n AGIXT_URI: ${AGIXT_URI:-http://agixt:7437}\n APP_URI: ${APP_URI:-http://localhost:3437}\n DISABLED_EXTENSIONS: ${DISABLED_EXTENSIONS}\n DISABLED_PROVIDERS: ${DISABLED_PROVIDERS}\n WORKING_DIRECTORY: ${WORKING_DIRECTORY:-/agixt/WORKSPACE}\n REGISTRATION_DISABLED: ${REGISTRATION_DISABLED:-false}\n TOKENIZERS_PARALLELISM: \"false\"\n LOG_LEVEL: ${LOG_LEVEL:-INFO}\n ALEXA_CLIENT_ID: ${ALEXA_CLIENT_ID}\n ALEXA_CLIENT_SECRET: ${ALEXA_CLIENT_SECRET}\n AWS_CLIENT_ID: ${AWS_CLIENT_ID}\n AWS_CLIENT_SECRET: ${AWS_CLIENT_SECRET}\n AWS_REGION: ${AWS_REGION}\n AWS_USER_POOL_ID: ${AWS_USER_POOL_ID}\n DISCORD_CLIENT_ID: ${DISCORD_CLIENT_ID}\n DISCORD_CLIENT_SECRET: ${DISCORD_CLIENT_SECRET}\n FITBIT_CLIENT_ID: ${FITBIT_CLIENT_ID}\n FITBIT_CLIENT_SECRET: ${FITBIT_CLIENT_SECRET}\n GARMIN_CLIENT_ID: ${GARMIN_CLIENT_ID}\n GARMIN_CLIENT_SECRET: ${GARMIN_CLIENT_SECRET}\n GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID}\n GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET}\n GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}\n GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}\n MICROSOFT_CLIENT_ID: ${MICROSOFT_CLIENT_ID}\n MICROSOFT_CLIENT_SECRET: ${MICROSOFT_CLIENT_SECRET}\n META_APP_ID: ${META_APP_ID}\n META_APP_SECRET: ${META_APP_SECRET}\n META_BUSINESS_ID: ${META_BUSINESS_ID}\n TESLA_CLIENT_ID: ${TESLA_CLIENT_ID}\n TESLA_CLIENT_SECRET: ${TESLA_CLIENT_SECRET}\n WALMART_CLIENT_ID: ${WALMART_CLIENT_ID}\n WALMART_CLIENT_SECRET: ${WALMART_CLIENT_SECRET}\n WALMART_MARKETPLACE_ID: ${WALMART_MARKETPLACE_ID}\n X_CLIENT_ID: ${X_CLIENT_ID}\n X_CLIENT_SECRET: ${X_CLIENT_SECRET}\n STORAGE_BACKEND: ${STORAGE_BACKEND:-s3}\n STORAGE_CONTAINER: ${STORAGE_CONTAINER:-agixt-workspace}\n B2_KEY_ID: ${B2_KEY_ID:-}\n B2_APPLICATION_KEY: ${B2_APPLICATION_KEY:-}\n B2_REGION: ${B2_REGION:-us-west-002}\n S3_BUCKET: ${S3_BUCKET:-agixt-workspace}\n S3_ENDPOINT: ${S3_ENDPOINT:-http://minio:9000}\n AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-minioadmin}\n AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-minioadmin}\n AWS_STORAGE_REGION: ${AWS_STORAGE_REGION:-us-east-1}\n AZURE_STORAGE_ACCOUNT_NAME: ${AZURE_STORAGE_ACCOUNT_NAME:-}\n AZURE_STORAGE_KEY: ${AZURE_STORAGE_KEY:-}\n SEED_DATA: ${SEED_DATA:-true}\n AGENT_NAME: ${AGIXT_AGENT:-XT}\n AGENT_PERSONA: ${AGENT_PERSONA}\n TRAINING_URLS: ${TRAINING_URLS}\n ENABLED_COMMANDS: ${ENABLED_COMMANDS}\n EZLOCALAI_VOICE: ${EZLOCALAI_VOICE}\n ANTHROPIC_MODEL: ${ANTHROPIC_MODEL}\n DEEPSEEK_MODEL: ${DEEPSEEK_MODEL}\n AZURE_MODEL: ${AZURE_MODEL}\n GOOGLE_MODEL: ${GOOGLE_MODEL}\n OPENAI_MODEL: ${OPENAI_MODEL}\n XAI_MODEL: ${XAI_MODEL}\n EZLOCALAI_MAX_TOKENS: ${EZLOCALAI_MAX_TOKENS}\n DEEPSEEK_MAX_TOKENS: ${DEEPSEEK_MAX_TOKENS}\n AZURE_MAX_TOKENS: ${AZURE_MAX_TOKENS}\n XAI_MAX_TOKENS: ${XAI_MAX_TOKENS}\n OPENAI_MAX_TOKENS: ${OPENAI_MAX_TOKENS}\n ANTHROPIC_MAX_TOKENS: ${ANTHROPIC_MAX_TOKENS}\n GOOGLE_MAX_TOKENS: ${GOOGLE_MAX_TOKENS}\n AZURE_API_KEY: ${AZURE_API_KEY}\n GOOGLE_API_KEY: ${GOOGLE_API_KEY}\n OPENAI_API_KEY: ${OPENAI_API_KEY}\n ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}\n EZLOCALAI_API_KEY: ${EZLOCALAI_API_KEY}\n DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}\n XAI_API_KEY: ${XAI_API_KEY}\n AZURE_OPENAI_ENDPOINT: ${AZURE_OPENAI_ENDPOINT}\n EZLOCALAI_URI: ${EZLOCALAI_URI}\n ROTATION_EXCLUSIONS: ${ROTATION_EXCLUSIONS}\n GRAPHIQL: ${GRAPHIQL:-true}\n EXTENSIONS_HUB: ${EXTENSIONS_HUB:-}\n EXTENSIONS_HUB_TOKEN: ${EXTENSIONS_HUB_TOKEN:-}\n SMARTEST_PROVIDER: ${SMARTEST_PROVIDER}\n TZ: ${TZ:-America/New_York}\n ports:\n - \"${AGIXT_PORT:-7437}:7437\"\n volumes:\n - ./models:/agixt/models\n depends_on:\n - minio\n - postgres\n agixtinteractive:\n image: joshxt/agixt-interactive:main\n init: true\n environment:\n MODE: production\n NEXT_TELEMETRY_DISABLED: 1\n AGIXT_AGENT: ${AGIXT_AGENT:-XT}\n AGIXT_FOOTER_MESSAGE: ${AGIXT_FOOTER_MESSAGE:-AGiXT 2025}\n AGIXT_SERVER: ${AGIXT_SERVER:-http://localhost:7437}\n APP_DESCRIPTION: ${APP_DESCRIPTION-AGiXT is an advanced artificial intelligence agent orchestration agent.}\n APP_NAME: ${APP_NAME:-AGiXT}\n APP_URI: ${APP_URI:-http://localhost:3437}\n LOG_VERBOSITY_SERVER: ${LOG_VERBOSITY_SERVER:-3}\n AGIXT_FILE_UPLOAD_ENABLED: ${AGIXT_FILE_UPLOAD_ENABLED:-true}\n AGIXT_VOICE_INPUT_ENABLED: ${AGIXT_VOICE_INPUT_ENABLED:-true}\n AGIXT_RLHF: ${AGIXT_RLHF:-true}\n AGIXT_ALLOW_MESSAGE_EDITING: ${AGIXT_ALLOW_MESSAGE_EDITING:-true}\n AGIXT_ALLOW_MESSAGE_DELETION: ${AGIXT_ALLOW_MESSAGE_DELETION:-true}\n AGIXT_SHOW_OVERRIDE_SWITCHES: ${AGIXT_SHOW_OVERRIDE_SWITCHES:-tts,websearch,analyze-user-input}\n ALLOW_EMAIL_SIGN_IN: ${ALLOW_EMAIL_SIGN_IN:-true}\n TZ: ${TZ:-America/New_York}\n ports:\n - \"${AGIXT_INTERACTIVE_PORT:-3437}:3437\"\n restart: unless-stopped\n volumes:\n - ./node_modules:/app/node_modules\n postgres:\n image: postgres\n container_name: postgres\n ports:\n - ${AGIXTDB_PORT:-5432}:5432\n environment:\n POSTGRES_USER: ${POSTGRES_USER:-postgres}\n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}\n POSTGRES_DB: ${POSTGRES_DB:-postgres}\n volumes:\n - ./models/data:/var/lib/postgresql/data\n healthcheck:\n test: [\"CMD\", \"pg_isready\", \"-U\", \"${POSTGRES_USER:-postgres}\"]\n interval: 30s\n timeout: 10s\n retries: 5\n restart: unless-stopped\n minio:\n image: minio/minio:RELEASE.2025-09-07T16-13-09Z\n container_name: agixt-minio\n ports:\n - \"${MINIO_PORT:-9000}:9000\"\n - \"${MINIO_CONSOLE_PORT:-9001}:9001\"\n environment:\n MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}\n MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}\n command: server /data --console-address \":9001\"\n volumes:\n - ./WORKSPACE:/data\n healthcheck:\n test: [\"CMD\", \"curl\", \"-f\", \"http://localhost:9000/minio/health/live\"]\n interval: 30s\n timeout: 20s\n retries: 3\n restart: unless-stopped\n"}}, "las-v1/reference_sources/ref_data_layer/server/.env.example": {"9163b6383dd63f894d28f2767e0cfcebc9a3e621": {"t": 1786068547.0860195, "n": 12187, "h": "2725604554e5fa0e", "c": "SERVER_PORT=3001\nJWT_SECRET=\"my-random-string-for-seeding\" # Please generate random string at least 12 chars long.\n# JWT_EXPIRY=\"30d\" # (optional) https://docs.anythingllm.com/configuration#custom-ttl-for-sessions\nSIG_KEY='passphrase' # Please generate random string at least 32 chars long.\nSIG_SALT='salt' # Please generate random string at least 32 chars long.\n\n###########################################\n######## LLM API SElECTION ################\n###########################################\n# LLM_PROVIDER='openai'\n# OPEN_AI_KEY=\n# OPEN_MODEL_PREF='gpt-4o'\n\n# LLM_PROVIDER='gemini'\n# GEMINI_API_KEY=\n# GEMINI_LLM_MODEL_PREF='gemini-2.0-flash-lite'\n\n# LLM_PROVIDER='azure'\n# AZURE_OPENAI_ENDPOINT=\n# AZURE_OPENAI_KEY=\n# OPEN_MODEL_PREF='my-gpt35-deployment' # This is the \"deployment\" on Azure you want to use. Not the base model.\n# EMBEDDING_MODEL_PREF='embedder-model' # This is the \"deployment\" on Azure you want to use for embeddings. Not the base model. Valid base model is text-embedding-ada-002\n\n# LLM_PROVIDER='anthropic'\n# ANTHROPIC_API_KEY=sk-ant-xxxx\n# ANTHROPIC_MODEL_PREF='claude-2'\n\n# LLM_PROVIDER='lmstudio'\n# LMSTUDIO_BASE_PATH='http://your-server:1234/v1'\n# LMSTUDIO_MODEL_PREF='Loaded from Chat UI' # this is a bug in LMStudio 0.2.17\n# LMSTUDIO_MODEL_TOKEN_LIMIT=4096\n\n# LLM_PROVIDER='localai'\n# LOCAL_AI_BASE_PATH='http://localhost:8080/v1'\n# LOCAL_AI_MODEL_PREF='luna-ai-llama2'\n# LOCAL_AI_MODEL_TOKEN_LIMIT=4096\n# LOCAL_AI_API_KEY=\"sk-123abc\"\n\n# LLM_PROVIDER='ollama'\n# OLLAMA_BASE_PATH='http://host.docker.internal:11434'\n# OLLAMA_MODEL_PREF='llama2'\n# OLLAMA_MODEL_TOKEN_LIMIT=4096\n# OLLAMA_AUTH_TOKEN='your-ollama-auth-token-here (optional, only for ollama running behind auth - Bearer token)'\n\n# LLM_PROVIDER='togetherai'\n# TOGETHER_AI_API_KEY='my-together-ai-key'\n# TOGETHER_AI_MODEL_PREF='mistralai/Mixtral-8x7B-Instruct-v0.1'\n\n# LLM_PROVIDER='fireworksai'\n# FIREWORKS_AI_LLM_API_KEY='my-fireworks-ai-key'\n# FIREWORKS_AI_LLM_MODEL_PREF='accounts/fireworks/models/llama-v3p1-8b-instruct'\n\n# LLM_PROVIDER='perplexity'\n# PERPLEXITY_API_KEY='my-perplexity-key'\n# PERPLEXITY_MODEL_PREF='codellama-34b-instruct'\n\n# LLM_PROVIDER='deepseek'\n# DEEPSEEK_API_KEY=YOUR_API_KEY\n# DEEPSEEK_MODEL_PREF='deepseek-chat'\n\n# LLM_PROVIDER='openrouter'\n# OPENROUTER_API_KEY='my-openrouter-key'\n# OPENROUTER_MODEL_PREF='openrouter/auto'\n\n# LLM_PROVIDER='mistral'\n# MISTRAL_API_KEY='example-mistral-ai-api-key'\n# MISTRAL_MODEL_PREF='mistral-tiny'\n\n# LLM_PROVIDER='huggingface'\n# HUGGING_FACE_LLM_ENDPOINT=https://uuid-here.us-east-1.aws.endpoints.huggingface.cloud\n# HUGGING_FACE_LLM_API_KEY=hf_xxxxxx\n# HUGGING_FACE_LLM_TOKEN_LIMIT=8000\n\n# LLM_PROVIDER='groq'\n# GROQ_API_KEY=gsk_abcxyz\n# GROQ_MODEL_PREF=llama3-8b-8192\n\n# LLM_PROVIDER='koboldcpp'\n# KOBOLD_CPP_BASE_PATH='http://127.0.0.1:5000/v1'\n# KOBOLD_CPP_MODEL_PREF='koboldcpp/codellama-7b-instruct.Q4_K_S'\n# KOBOLD_CPP_MODEL_TOKEN_LIMIT=4096\n# KOBOLD_CPP_MAX_TOKENS=2048\n\n# LLM_PROVIDER='textgenwebui'\n# TEXT_GEN_WEB_UI_BASE_PATH='http://127.0.0.1:5000/v1'\n# TEXT_GEN_WEB_UI_TOKEN_LIMIT=4096\n# TEXT_GEN_WEB_UI_API_KEY='sk-123abc'\n\n# LLM_PROVIDER='generic-openai'\n# GENERIC_OPEN_AI_BASE_PATH='http://proxy.url.openai.com/v1'\n# GENERIC_OPEN_AI_MODEL_PREF='gpt-3.5-turbo'\n# GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=4096\n# GENERIC_OPEN_AI_API_KEY=sk-123abc\n\n# LLM_PROVIDER='litellm'\n# LITE_LLM_MODEL_PREF='gpt-3.5-turbo'\n# LITE_LLM_MODEL_TOKEN_LIMIT=4096\n# LITE_LLM_BASE_PATH='http://127.0.0.1:4000'\n# LITE_LLM_API_KEY='sk-123abc'\n\n# LLM_PROVIDER='novita'\n# NOVITA_LLM_API_KEY='your-novita-api-key-here' check on https://novita.ai/settings#key-management\n# NOVITA_LLM_MODEL_PREF='deepseek/deepseek-r1'\n\n# LLM_PROVIDER='cohere'\n# COHERE_API_KEY=\n# COHERE_MODEL_PREF='command-r'\n\n# LLM_PROVIDER='bedrock'\n# AWS_BEDROCK_LLM_ACCESS_KEY_ID=\n# AWS_BEDROCK_LLM_ACCESS_KEY=\n# AWS_BEDROCK_LLM_REGION=us-west-2\n# AWS_BEDROCK_LLM_MODEL_PREFERENCE=meta.llama3-1-8b-instruct-v1:0\n# AWS_BEDROCK_LLM_MODEL_TOKEN_LIMIT=8191\n# AWS_BEDROCK_LLM_CONNECTION_METHOD=iam\n# AWS_BEDROCK_LLM_MAX_OUTPUT_TOKENS=4096\n# AWS_BEDROCK_LLM_SESSION_TOKEN= # Only required if CONNECTION_METHOD is 'sessionToken'\n\n# LLM_PROVIDER='apipie'\n# APIPIE_LLM_API_KEY='sk-123abc'\n# APIPIE_LLM_MODEL_PREF='openrouter/llama-3.1-8b-instruct'\n\n# LLM_PROVIDER='xai'\n# XAI_LLM_API_KEY='xai-your-api-key-here'\n# XAI_LLM_MODEL_PREF='grok-beta'\n\n# LLM_PROVIDER='nvidia-nim'\n# NVIDIA_NIM_LLM_BASE_PATH='http://127.0.0.1:8000'\n# NVIDIA_NIM_LLM_MODEL_PREF='meta/llama-3.2-3b-instruct'\n\n# LLM_PROVIDER='ppio'\n# PPIO_API_KEY='your-ppio-api-key-here'\n# PPIO_MODEL_PREF='deepseek/deepseek-v3/community'\n\n# LLM_PROVIDER='moonshotai'\n# MOONSHOT_AI_API_KEY='your-moonshot-api-key-here'\n# MOONSHOT_AI_MODEL_PREF='moonshot-v1-32k'\n\n###########################################\n######## Embedding API SElECTION ##########\n###########################################\n# This will be the assumed default embedding seleciton and model\n# EMBEDDING_ENGINE='native'\n# EMBEDDING_MODEL_PREF='Xenova/all-MiniLM-L6-v2'\n\n# Only used if you are using an LLM that does not natively support embedding (openai or Azure)\n# EMBEDDING_ENGINE='openai'\n# OPEN_AI_KEY=sk-xxxx\n# EMBEDDING_MODEL_PREF='text-embedding-ada-002'\n\n# EMBEDDING_ENGINE='azure'\n# AZURE_OPENAI_ENDPOINT=\n# AZURE_OPENAI_KEY=\n# EMBEDDING_MODEL_PREF='my-embedder-model' # This is the \"deployment\" on Azure you want to use for embeddings. Not the base model. Valid base model is text-embedding-ada-002\n\n# EMBEDDING_ENGINE='localai'\n# EMBEDDING_BASE_PATH='http://localhost:8080/v1'\n# EMBEDDING_MODEL_PREF='text-embedding-ada-002'\n# EMBEDDING_MODEL_MAX_CHUNK_LENGTH=1000 # The max chunk size in chars a string to embed can be\n\n# EMBEDDING_ENGINE='ollama'\n# EMBEDDING_BASE_PATH='http://127.0.0.1:11434'\n# EMBEDDING_MODEL_PREF='nomic-embed-text:latest'\n# EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192\n\n# EMBEDDING_ENGINE='lmstudio'\n# EMBEDDING_BASE_PATH='https://localhost:1234/v1'\n# EMBEDDING_MODEL_PREF='nomic-ai/nomic-embed-text-v1.5-GGUF/nomic-embed-text-v1.5.Q4_0.gguf'\n# EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192\n\n# EMBEDDING_ENGINE='cohere'\n# COHERE_API_KEY=\n# EMBEDDING_MODEL_PREF='embed-english-v3.0'\n\n# EMBEDDING_ENGINE='voyageai'\n# VOYAGEAI_API_KEY=\n# EMBEDDING_MODEL_PREF='voyage-large-2-instruct'\n\n# EMBEDDING_ENGINE='litellm'\n# EMBEDDING_MODEL_PREF='text-embedding-ada-002'\n# EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192\n# LITE_LLM_BASE_PATH='http://127.0.0.1:4000'\n# LITE_LLM_API_KEY='sk-123abc'\n\n# EMBEDDING_ENGINE='generic-openai'\n# EMBEDDING_MODEL_PREF='text-embedding-ada-002'\n# EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192\n# EMBEDDING_BASE_PATH='http://127.0.0.1:4000'\n# GENERIC_OPEN_AI_EMBEDDING_API_KEY='sk-123abc'\n# GENERIC_OPEN_AI_EMBEDDING_MAX_CONCURRENT_CHUNKS=500\n\n# EMBEDDING_ENGINE='gemini'\n# GEMINI_EMBEDDING_API_KEY=\n# EMBEDDING_MODEL_PREF='text-embedding-004'\n\n###########################################\n######## Vector Database Selection ########\n###########################################\n# Enable all below if you are using vector database: Chroma.\n# VECTOR_DB=\"chroma\"\n# CHROMA_ENDPOINT='http://localhost:8000'\n# CHROMA_API_HEADER=\"X-Api-Key\"\n# CHROMA_API_KEY=\"sk-123abc\"\n\n# Enable all below if you are using vector database: Pinecone.\n# VECTOR_DB=\"pinecone\"\n# PINECONE_API_KEY=\n# PINECONE_INDEX=\n\n# Enable all below if you are using vector database: Astra DB.\n# VECTOR_DB=\"astra\"\n# ASTRA_DB_APPLICATION_TOKEN=\n# ASTRA_DB_ENDPOINT=\n\n# Enable all below if you are using vector database: LanceDB.\nVECTOR_DB=\"lancedb\"\n\n# Enable all below if you are using vector database: Weaviate.\n# VECTOR_DB=\"pgvector\"\n# PGVECTOR_CONNECTION_STRING=\"postgresql://dbuser:dbuserpass@localhost:5432/yourdb\"\n# PGVECTOR_TABLE_NAME=\"anythingllm_vectors\" # optional, but can be defined\n\n# Enable all below if you are using vector database: Weaviate.\n# VECTOR_DB=\"weaviate\"\n# WEAVIATE_ENDPOINT=\"http://localhost:8080\"\n# WEAVIATE_API_KEY=\n\n# Enable all below if you are using vector database: Qdrant.\n# VECTOR_DB=\"qdrant\"\n# QDRANT_ENDPOINT=\"http://localhost:6333\"\n# QDRANT_API_KEY=\n\n# Enable all below if you are using vector database: Milvus.\n# VECTOR_DB=\"milvus\"\n# MILVUS_ADDRESS=\"http://localhost:19530\"\n# MILVUS_USERNAME=\n# MILVUS_PASSWORD=\n\n# Enable all below if you are using vector database: Zilliz Cloud.\n# VECTOR_DB=\"zilliz\"\n# ZILLIZ_ENDPOINT=\"https://sample.api.gcp-us-west1.zillizcloud.com\"\n# ZILLIZ_API_TOKEN=api-token-here\n\n###########################################\n######## Audio Model Selection ############\n###########################################\n# (default) use built-in whisper-small model.\nWHISPER_PROVIDER=\"local\"\n\n# use openai hosted whisper model.\n# WHISPER_PROVIDER=\"openai\"\n# OPEN_AI_KEY=sk-xxxxxxxx\n\n###########################################\n######## TTS/STT Model Selection ##########\n###########################################\nTTS_PROVIDER=\"native\"\n\n# TTS_PROVIDER=\"openai\"\n# TTS_OPEN_AI_KEY=sk-example\n# TTS_OPEN_AI_VOICE_MODEL=nova\n\n# TTS_PROVIDER=\"elevenlabs\"\n# TTS_ELEVEN_LABS_KEY=\n# TTS_ELEVEN_LABS_VOICE_MODEL=21m00Tcm4TlvDq8ikWAM # Rachel\n\n# TTS_PROVIDER=\"generic-openai\"\n# TTS_OPEN_AI_COMPATIBLE_KEY=sk-example\n# TTS_OPEN_AI_COMPATIBLE_MODEL=tts-1\n# TTS_OPEN_AI_COMPATIBLE_VOICE_MODEL=nova\n# TTS_OPEN_AI_COMPATIBLE_ENDPOINT=\"https://api.openai.com/v1\"\n\n# CLOUD DEPLOYMENT VARIRABLES ONLY\n# AUTH_TOKEN=\"hunter2\" # This is the password to your application if remote hosting.\n# STORAGE_DIR= # absolute filesystem path with no trailing slash\n\n###########################################\n######## PASSWORD COMPLEXITY ##############\n###########################################\n# Enforce a password schema for your organization users.\n# Documentation on how to use https://github.com/kamronbatman/joi-password-complexity\n#PASSWORDMINCHAR=8\n#PASSWORDMAXCHAR=250\n#PASSWORDLOWERCASE=1\n#PASSWORDUPPERCASE=1\n#PASSWORDNUMERIC=1\n#PASSWORDSYMBOL=1\n#PASSWORDREQUIREMENTS=4\n\n###########################################\n######## ENABLE HTTPS SERVER ##############\n###########################################\n# By enabling this and providing the path/filename for the key and cert,\n# the server will use HTTPS instead of HTTP.\n#ENABLE_HTTPS=\"true\"\n#HTTPS_CERT_PATH=\"sslcert/cert.pem\"\n#HTTPS_KEY_PATH=\"sslcert/key.pem\"\n\n###########################################\n######## AGENT SERVICE KEYS ###############\n###########################################\n\n#------ SEARCH ENGINES -------\n#=============================\n#------ Google Search -------- https://programmablesearchengine.google.com/controlpanel/create\n# AGENT_GSE_KEY=\n# AGENT_GSE_CTX=\n\n#------ SearchApi.io ----------- https://www.searchapi.io/\n# AGENT_SEARCHAPI_API_KEY=\n# AGENT_SEARCHAPI_ENGINE=google\n\n#------ Serper.dev ----------- https://serper.dev/\n# AGENT_SERPER_DEV_KEY=\n\n#------ Bing Search ----------- https://portal.azure.com/\n# AGENT_BING_SEARCH_API_KEY=\n\n#------ Serply.io ----------- https://serply.io/\n# AGENT_SERPLY_API_KEY=\n\n#------ SearXNG ----------- https://github.com/searxng/searxng\n# AGENT_SEARXNG_API_URL=\n\n#------ Tavily ----------- https://www.tavily.com/\n# AGENT_TAVILY_API_KEY=\n\n###########################################\n######## Other Configurations ############\n###########################################\n\n# Disable viewing chat history from the UI and frontend APIs.\n# See https://docs.anythingllm.com/configuration#disable-view-chat-history for more information.\n# DISABLE_VIEW_CHAT_HISTORY=1\n\n# Enable simple SSO passthrough to pre-authenticate users from a third party service.\n# See https://docs.anythingllm.com/configuration#simple-sso-passthrough for more information.\n# SIMPLE_SSO_ENABLED=1\n# SIMPLE_SSO_NO_LOGIN=1\n\n# Allow scraping of any IP address in collector - must be string \"true\" to be enabled\n# See https://docs.anythingllm.com/configuration#local-ip-address-scraping for more information.\n# COLLECTOR_ALLOW_ANY_IP=\"true\"\n\n# Specify the target languages for when using OCR to parse images and PDFs.\n# This is a comma separated list of language codes as a string. Unsupported languages will be ignored.\n# Default is English. See https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html for a list of valid language codes.\n# TARGET_OCR_LANG=eng,deu,ita,spa,fra,por,rus,nld,tur,hun,pol,ita,spa,fra,por,rus,nld,tur,hun,pol"}}}}