# Account Creation and Access Source: https://docs.kosmoy.com/account-creation-and-access Learn how to create a Kosmoy account, access Kosmoy Studio and Kosmoy Chat, and manage user invitations. # Account Creation and Access This section guides you through the process of creating a Kosmoy account, accessing the Kosmoy Studio and Kosmoy Chat, and managing user invitations. ## Creating a Kosmoy Account (For Root Users) The first step to using the Kosmoy platform is to create a tenant, which is done by a **Root User**. Follow these steps to get started: 1. **Go to the Kosmoy website:** Navigate to [https://www.kosmoy.com](https://www.kosmoy.com) in your web browser. 2. **Click the "Sign Up" button:** This will initiate the account creation process. 3. **Enter your corporate email:** On the "Create an account" page, provide your corporate email address in the designated field. * Alternatively, you can choose to sign up using **Google** or **Microsoft** SSO by clicking on the respective buttons. If you use SSO, your name and email will be automatically populated from your chosen provider, and you will be directed to step 7. 4. **Click "Continue":** Proceed to the next step. 5. **Create a password:** Enter a strong password that meets the displayed criteria. 6. **Accept Terms and Conditions:** Review and accept the Kosmoy platform's terms and conditions. 7. **Click "Continue":** Proceed to the next step. 8. **Provide your first and last name:** Enter your first and last name in the respective fields. 9. **Click "Continue".** 10. **Choose your organization name:** Enter a name for your organization. This name will be used to identify your tenant. * Your Kosmoy Studio URL will be: `[tenant_name].kosmoy.com` 11. **Click "Continue":** Once the tenant name is verified and accepted, proceed. 12. **Account Created:** After a few seconds, your account and tenant will be created. You will be automatically redirected to the Kosmoy Studio home page. You will also receive a confirmation email. ## Inviting Users (For Root and Admin Users) Once your tenant is created, the Root User can invite Admin, Studio, and Chat Users. Admin Users can invite Studio and Chat Users. 1. **Log in to Kosmoy Studio:** Access your Kosmoy Studio instance using your tenant URL (e.g., `[tenant_name].kosmoy.com`). 2. **Navigate to "Organization Settings":** Go to the settings menu and find "Organization Settings" (only accessible to Root and Admin Users). 3. **Go to "Users Directory" and then "Users":** Here you will see a list of all the users in your organization. 4. **Click "Invite User":** Initiate the invitation process. 5. **Enter the user's email address:** Provide the email address of the user you want to invite. 6. **Select the user role:** Choose the appropriate role for the user (Admin, Studio, or Chat). 7. **Send the invitation:** The invited user will receive an email with instructions on how to accept the invitation. ### Accepting an Invitation 1. **Open the invitation email:** Locate the invitation email sent from Kosmoy. 2. **Click the acceptance link:** This will redirect you to the Kosmoy platform. 3. **Provide your details:** You will be asked to provide your first and last name and create a password. If your email is already registered, you will only be prompted to set a password. Your name might be already provided in this step. 4. **Access the platform:** After completing these steps, you will be automatically logged in to either Kosmoy Studio (for Admin and Studio users) or Kosmoy Chat (for Chat users). ## Accessing Kosmoy Studio * **Directly after account creation:** You will be automatically redirected to the Kosmoy Studio home page after successfully creating your account. * **Subsequent logins:** 1. Go to your tenant URL: `[tenant_name].kosmoy.com`. 2. Enter your credentials (email and password) or use SSO (Google or Microsoft). 3. Click "Sign In". ## Accessing Kosmoy Chat * **After accepting an invitation:** You will be automatically redirected to Kosmoy Chat after accepting an invitation and setting your password. * **Subsequent logins:** You will receive the url to access the Kosmoy Chat upon invitation. 1. Enter your credentials (email and password) or use SSO. 2. Click "Sign In". ## Password Reset To reset your password: 1. **Navigate to "Settings":** Access the settings menu in either Kosmoy Studio or Kosmoy Chat. 2. **Go to "Account Settings" and then "Security":** Find the password reset option. 3. **Follow the on-screen instructions:** You will likely be asked to enter your current password and then create a new one. ## Two-Factor Authentication (2FA) Enable 2FA for an extra layer of security: 1. **Navigate to "Settings":** Access the settings menu in either Kosmoy Studio or Kosmoy Chat. 2. **Go to "Account Settings" and then "Security":** Find the 2FA option. 3. **Follow the on-screen instructions:** The specific steps for enabling 2FA will depend on the supported methods (e.g., authenticator app, SMS). # Build Your First Assistant Source: https://docs.kosmoy.com/build-your-first-assistant A step-by-step guide to creating and deploying your first AI assistant using Kosmoy Studio. # Build Your First Assistant This quick start guide will walk you through the process of creating and deploying a "Personal Assistant" using the Kosmoy Studio, leveraging a pre-integrated OpenAI connection and the powerful GPT-4o model. **Prerequisites:** * A Kosmoy account with a configured tenant. * You should be either the **Root User** or an **Admin User** or a **Studio User**. **Steps:** ## 1. Integrate with OpenAI 1. **Navigate to Integrations:** From the Kosmoy Studio home page, click on the **"Integrations"** icon in the left-hand navigation bar. 2. **Add a New Integration:** Click the **"+ ADD"** button located in the upper right corner of the Integrations section. 3. **Select OpenAI:** In the "Add Integration" workflow, choose **"OpenAI"** from the provider dropdown menu. 4. **Provide your OpenAI API Key:** Enter your OpenAI API key in the designated field. 5. **Click "Next":** Proceed to the next step. 6. **Name and Describe the Integration:** Give your integration a unique name (e.g., "My OpenAI Integration") and an optional description. 7. **Click "Review":** Review the integration details. 8. **Click "Create":** Create the integration. ## 2. Register the GPT-4o Model 1. **Navigate to Models:** Click on the **"Models"** icon in the left-hand navigation bar. 2. **Add a New Model:** Click the **"+ ADD"** button located in the upper right corner of the Models section. 3. **Define Model Type:** Select **"LLM"** as the model type. 4. **Choose Provider and Integration:** Select **"OpenAI"** as the provider and then choose the OpenAI integration you just created from the integration dropdown. 5. **Select Model Version:** Select **"GPT-4o"** from the model version dropdown. 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Model:** Give your model a unique name (e.g., "My GPT-4o Model") and an optional description. 8. **Click "Review":** Review the model details. 9. **Click "Create":** Create the model registration. ## 3. Create a Personal Assistant 1. **Navigate to Assistants:** Click on the **"Assistants"** icon in the left-hand navigation bar. 2. **Add a New Assistant:** Click the **"+ ADD"** button located in the upper right corner of the Assistants section. 3. **Configure Basic Details:** * **Avatar:** Select an avatar for your assistant. * **Name:** Give your assistant a name (e.g., "My First Assistant"). * **Description:** Provide a brief description of your assistant. 4. **Select Template:** Choose the **"Personal Assistant"** template. 5. **Define Scope:** Select **"Private"** as the assistant's scope. 6. **Configure Language:** Keep the default value ("auto") for the language setting. 7. **Click "Next".** 8. **Skip Data Channel and Memory:** For this quick start, we'll skip configuring a Data Channel and leave the Memory settings at their defaults (1 day and 10 past interactions). 9. **Disable Guardrails:** For this quick start, we will keep the Guardrails turned off. 10. **Select Models:** * **Conversational Model:** Select the "My GPT-4o Model" (or the name you gave it) you registered earlier. * **Instructional Model:** Select the "My GPT-4o Model" (or the name you gave it) you registered earlier. 11. **Configure Assistant Prompt:** * **Role:** Define the role of your assistant. *Example:* `You are a helpful personal assistant.` * **Task:** Describe the assistant's task. *Example:* `Your task is to assist the user with scheduling meetings, answering general knowledge questions, and providing recommendations based on their preferences.` * **Operating Principles:** Establish the principles guiding the assistant's behavior. *Example:* `1. Always be polite and respectful. 2. Prioritize user safety and privacy. 3. Provide accurate and up-to-date information. 4. Ask clarifying questions when needed.` * **Attitude:** Define the attitude to be displayed by your assistant *Example:* `Professional and friendly` * **Welcoming Message:** Write a welcoming message for users. *Example:* `Hello! I'm your personal assistant. How can I help you today?` * **Goodbye Message:** Write a goodbye message for users. *Example:* `Goodbye! Have a great day.` 12. **Click "Review":** Review the assistant's configuration. 13. **Click "Create":** Create the assistant. You will be redirected to the Assistants collection page. ## 4. Deploy the Assistant 1. **Locate Your Assistant:** On the Assistants collection page, find the card for the assistant you just created. 2. **Initiate Deployment:** Click the **rocket icon** (without a shadow) located on the lower left side of the assistant's card. 3. **Review Assistant Details:** Review the assistant's details on the deployment page. 4. **Click "Next".** 5. **Select Users:** Select yourself from the list of users to grant access to this private assistant. 6. **Click "Review".** 7. **Click "Deploy":** Deploy the assistant. ## 5. Chat with Your Assistant 1. **Access Kosmoy Chat:** Navigate to your Kosmoy Chat instance at `[tenant_name].client.kosmoy.com`. 2. **Start Chatting:** You should now see your newly deployed "Personal Assistant" available in Kosmoy Chat. Start a conversation and test its capabilities! **Congratulations!** You have successfully created and deployed your first AI assistant using Kosmoy Studio. **Next Steps:** * Explore the advanced features of Kosmoy Studio, including Data Channels, Routers, and Guardrails. * Create more sophisticated assistants tailored to your specific needs. * Refer to the detailed documentation sections for each Kosmoy Studio component to learn more. # Introduction to Kosmoy Source: https://docs.kosmoy.com/introduction Achieve Enterprise GenAI Success with Kosmoy's integrated platform for robust governance, rapid development, and continuous monitoring. # Welcome to Kosmoy: Your Integrated Platform for Enterprise GenAI Success This site provides comprehensive information on leveraging the Kosmoy platform, meticulously crafted to enable **safe, rapid, and impactful Generative AI (GenAI) adoption** across your enterprise. Kosmoy empowers organizations to achieve **Enterprise GenAI Success** through three core pillars: **Robust Governance, Rapid Development, and Continuous Monitoring**. These pillars are seamlessly integrated and delivered through **Kosmoy Studio**, our central platform, and **Kosmoy Chat**, a pre-built application for accessing AI Assistants. A key enabler of Kosmoy's governance and observability is the **Kosmoy LLM Gateway**, a powerful component *within* Kosmoy Studio. ## The Kosmoy Ecosystem: Powering Your GenAI Journey * **Kosmoy Studio:** Your Unified GenAI Command Center. Kosmoy Studio is the central hub for designing, building, deploying, managing, governing, and monitoring your enterprise GenAI applications. Its user-friendly, no-code/low-code environment allows you to configure governance policies, assemble applications, and access real-time monitoring dashboards – all within a single, intuitive interface. Kosmoy Studio empowers you to orchestrate your entire GenAI lifecycle. * **Kosmoy Gateway:** The Intelligent Engine Under the Hood. Operating transparently, the Kosmoy LLM Gateway *enforces* the governance policies you define in Kosmoy Studio and *provides* comprehensive observability across your GenAI landscape. It acts as a smart proxy for all LLM interactions, managing routing, applying guardrails, logging activity, and ensuring secure and compliant communication. The Gateway's configuration is managed entirely within Kosmoy Studio. * **Kosmoy Chat:** Showcasing and Deploying GenAI Power. Kosmoy Chat is a versatile, pre-built GenAI application, fully customizable within Kosmoy Studio. It serves as both a powerful demonstration of the platform's capabilities and a readily deployable solution for providing your teams with secure access to AI Assistants. ## The Three Pillars of Enterprise GenAI Success – Orchestrated by Kosmoy Studio * **Robust Governance (Designed & Managed in Kosmoy Studio, Enforced by the Kosmoy Gateway):** Define and implement centralized LLM management policies, content and usage guardrails, and granular Role-Based Access Control (RBAC) – all within Kosmoy Studio. The Kosmoy Gateway then automatically and consistently enforces these policies for every GenAI interaction. * **Rapid Development (Powered by Kosmoy Studio's No-Code/Low-Code Environment):** Accelerate GenAI innovation with Kosmoy Studio's intuitive visual interface. Rapidly assemble GenAI applications using pre-built connectors, integrations, deployable solutions & agents, RAG-in-a-Box components, and powerful prompt management features. Kosmoy Studio empowers both technical and non-technical users. * **Continuous Monitoring (Accessible in Kosmoy Studio, Enabled by the Kosmoy LLM Gateway):** Gain unparalleled visibility and optimize your GenAI deployments with Kosmoy Studio's comprehensive monitoring dashboards. Access real-time analytics and reporting, powered by the Kosmoy Gateway, on critical metrics including GenAI costs, user feedback, content safety performance, and overall system health. ## Deep Dive: Exploring the Kosmoy Platform Let's explore the key features and functionalities that make Kosmoy the ideal platform for Enterprise GenAI: **Kosmoy Studio: Your Central Hub for AI Development** * **Integrate with Leading AI Providers:** Seamlessly connect to top-tier AI providers like OpenAI, Google, Azure, and AWS. * **Data Management:** * **Data Catalog:** Create an inventory of your data sources (SQL/Vector databases, object stores) using secure **Connections**. * **Data Channels:** Define meaningful links between data and business objectives, enabling AI Assistants to understand data context, crucial for **Retrieval Augmented Generation (RAG)**. * **Data Ingestion:** Transform unstructured data with **Vector Pipelines**, creating embeddings for RAG applications. * **Build and Deploy AI Assistants:** Create no-code **Assistants** for specific tasks. Connect them to **Data Channels** and deploy them privately via **Kosmoy Chat** or publicly via **Communication Channels**. * **Integrate Your Code with Coded Apps:** Register your Python applications as **Coded Apps** and use the **Kosmoy SDK** to connect them to **Kosmoy Gateways**, leveraging governance and observability. * **Enforce Governance with Gateways:** **Kosmoy Gateways**, *configured within Studio*, control access and usage, defining which models, routers, and guardrails are accessible to each Assistant or Coded App. * **Fine-Tune Performance with Routers:** Implement intelligent routing strategies like **Failover** (and future **Load Balancing**) for optimal performance. * **Ensure Responsible AI with Guardrails:** Define and enforce safety guidelines using built-in **Guardrails** to mitigate risks. * **Test and Refine with Quality Assurance:** Thoroughly test your Assistants using the **Quality Assurance** section's interactive **Assistant Tests**. * **Gain Deep Insights with Observability:** The **Insights** section provides comprehensive monitoring: * **Dashboard:** Track key metrics to optimize performance and understand usage patterns. * **Cost and Usage Tracker (Future Enhancement):** Monitor and manage LLM usage costs. * **Guardrail Alerts (Future Enhancement):** View alerts triggered by configured guardrails. * **Error Logs (Future Enhancement):** Debug and troubleshoot with detailed error logs. * **Router Logs (Future Enhancement):** Analyze router behavior. * **Conversations Explorer (Future Enhancement):** Analyze user interactions and gather feedback. **Kosmoy Chat: Streamlined Interaction with AI** **Kosmoy Chat** offers a secure and user-friendly interface for your internal teams to interact with deployed **Private Assistants**. **Kosmoy SDK: Integrate and Extend** The **Kosmoy SDK** lets developers seamlessly integrate Python code with Kosmoy, connecting **Coded Apps** to **Gateways** and leveraging platform features. **Deployment Options:** Kosmoy is primarily a web application, but supports **private cloud deployments** via Kubernetes for organizations with specific security needs. Contact [support@kosmoy.com](mailto:support@kosmoy.com) for more information. By leveraging the integrated Kosmoy platform, your organization can: * Fully realize the transformative potential of GenAI. * Embrace GenAI adoption with speed, security, governance, and control. * Empower users to participate in GenAI innovation, regardless of coding expertise. * Achieve sustainable, scalable, and governed GenAI success, maximizing ROI and minimizing risks. # Introduction to Kosmoy Chat Source: https://docs.kosmoy.com/kosmoy-chat/introduction Discover Kosmoy Chat, your intuitive interface for seamless interaction with AI Assistants built in Kosmoy Studio. # Exploring the Kosmoy Chat **Kosmoy Chat** is the user-friendly interface designed for seamless interaction with AI Assistants created and deployed through **Kosmoy Studio**. It provides a centralized and intuitive platform for end-users to access and collaborate with the powerful AI solutions built by your organization. **Built for Efficiency and Control** **Kosmoy Studio developers are responsible for building, testing, and deploying AI Assistants. Administrators define and enforce platform-wide policies governing their use. Once deployed, developers assign Assistants to specific users, who can then access them through Kosmoy Chat. This gives end-users streamlined access to the AI tools they need, enhancing productivity and simplifying workflows.** **Key Features for Administrators** * **Seamless Integration:** Kosmoy Chat is directly linked to Kosmoy Studio. Assistants built and configured in the Studio can be instantly made available to users in Kosmoy Chat. * **Policy Enforcement:** Administrators can leverage Kosmoy Studio's features to define and enforce policies that govern how AI Assistants are used within Kosmoy Chat, ensuring compliance and responsible AI usage. * **User Management:** Studio users with appropriate permissions (Root or Admin) can invite and manage Chat users, ensuring that only authorized individuals can interact with your organization's AI Assistants. * **Customizable Branding:** Maintain your brand identity by customizing the appearance of Kosmoy Chat with your company logo. * **Compliance:** Showcase important disclaimers and terms and conditions that users must accept before using the platform, ensuring compliance with relevant regulations and policies. **Key Features for End Users** * **User-Friendly Interface:** Kosmoy Chat offers an intuitive and easy-to-navigate interface, making it simple for anyone to interact with AI Assistants. * **Centralized Access:** Access all assigned AI Assistants in one convenient location. * **Action-Oriented Interactions:** Utilize built-in and custom actions to streamline workflows and accomplish tasks efficiently. * **File Uploads (when enabled):** Depending on how the Assistant was configured, some might allow you to upload files and engage in document-based conversations. **Feedback for Continuous Improvement** Kosmoy Chat facilitates valuable feedback from end-users, enabling Studio developers to fine-tune and improve AI Assistants over time. This iterative process ensures that your AI solutions continuously evolve to meet the needs of your users. **Unique Advantages of Kosmoy Chat** * **Purpose-Built for Kosmoy Assistants:** Unlike generic chat platforms, Kosmoy Chat is designed specifically to work with Assistants created in Kosmoy Studio, ensuring optimal performance and compatibility. * **Enterprise-Grade Security and Control:** Kosmoy Chat inherits the robust security and governance features of the Kosmoy platform, giving you peace of mind that your data and interactions are protected. * **Centralized AI Hub:** Kosmoy Chat acts as a centralized hub for your organization's AI interactions, simplifying access and promoting adoption. **What's Next?** * For Kosmoy Studio users looking to deploy assistants to Kosmoy Chat, refer to the sections on **Assistant Management** and **User Management** in the Kosmoy Studio documentation. * For Kosmoy Chat users, you can reach out to your Kosmoy Studio Admin user to be invited to the platform. You can also learn more about how to interact with Assistants in the **[Getting Started with Kosmoy Chat](/getting-started-with-kosmoy-chat)** section (Assuming you will have a dedicated section for Chat users). # Introduction to Kosmoy Private Cloud deployment Source: https://docs.kosmoy.com/kosmoy-private-cloud/introduction Learn about the option of deploying Kosmoy on your private cloud infrastructure for enhanced security and control. # Exploring Kosmoy Private Cloud deployment For organizations with stringent security, compliance, or data sovereignty requirements, Kosmoy offers the flexibility to be deployed within your own private cloud environment. This approach provides you with maximum control over your data and infrastructure, ensuring that your sensitive information remains within your trusted boundaries. **Benefits of Private Cloud Deployment:** * **Enhanced Security:** Maintain complete control over your data and infrastructure, meeting the highest security standards. * **Data Sovereignty:** Ensure your data resides within your chosen geographical location, adhering to data residency regulations. * **Compliance:** Meet specific industry regulations and compliance requirements that mandate private cloud deployments. **Powered by Kubernetes** Kosmoy leverages the power and flexibility of Kubernetes for private cloud deployments. This industry-standard container orchestration platform ensures scalability, resilience, and efficient resource management. **Learn More** To discuss the specific requirements and explore the process of deploying Kosmoy in your private cloud environment, please contact our support team at [support@kosmoy.com](mailto:support@kosmoy.com). You can also schedule a personalized demo to see how Kosmoy can meet your organization's unique needs. # Assistants Source: https://docs.kosmoy.com/kosmoy-studio/apps/assistants Learn how to create, configure, deploy and manage AI Assistants in Kosmoy Studio. # Working with Assistants **Assistants** are the core of Kosmoy Studio's no-code AI application development. They are AI-powered entities designed to perform specific tasks or fulfill particular business objectives. This section guides you through creating, configuring, deploying, testing, and monitoring your Assistants. ## Assistant Concepts * **No-Code AI:** Assistants are built using a visual, intuitive interface, requiring no coding knowledge. * **Templates:** Kosmoy Studio provides pre-built templates to help you quickly create common types of Assistants. Current templates include: * **Receptionist Assistant:** Handles reception-related tasks (e.g., scheduling meetings). *Requires a Google or Outlook Calendar integration.* * **HR Engagement Analyst:** Provides insights and analysis related to human resources. * **Wealth Management Assistant:** Assists with financial planning and investment tasks. * **Personal Assistant:** A general-purpose assistant for various personal tasks. * **Sales Assistant:** Supports sales-related activities. * **Customer Support Assistant:** Helps with customer service inquiries. * **Private vs. Public:** * **Private Assistants:** Accessible only to users within your Kosmoy organization via **Kosmoy Chat**. * **Public Assistants:** Designed to be accessible to the general public through configured **Communication Channels** (e.g., WhatsApp via Twilio). * **Data Channels**: Assistants can be connected to data channels. * **Gateways**: Assistants can be connected to Gateways ## Creating an Assistant 1. **Navigate to Assistants:** From the Kosmoy Studio home page, click on the **"Apps"** menu in the left-hand navigation bar, then select **"Assistants"**. 2. **Add a New Assistant:** Click the **"+ ADD"** button located in the upper right corner of the Assistants section. 3. **Step 1: Set Assistant Properties:** * **Avatar:** Select an avatar for your Assistant. * **Name:** Give your Assistant a unique and descriptive name. * **Description:** Provide a brief description of your Assistant's purpose. * **Template:** Choose an Assistant template from the dropdown menu. *Note:* If you select the "Receptionist Assistant" template, you will be prompted to select a pre-configured Google or Outlook Calendar integration. * **Scope:** Select either "Private" or "Public" from the dropdown menu. This determines how the Assistant will be deployed and accessed. * **Language:** Select the primary language for your Assistant. The default is "auto," which attempts to automatically detect the language. Other options include English, Spanish, Italian, and French. 4. **Click "Next".** 5. **Step 2: Set Assistant Data Access and Memory:** * **Data Channel (Optional):** Select a pre-configured Data Channel from the dropdown menu to connect your Assistant to a data source. * **Memory:** Configure the Assistant's memory settings: * **Time Window:** Define the length of time (e.g., minutes, hours, days) for which messages should be kept in memory. The default is 1 day. * **Past Interactions:** Specify the maximum number of past interactions (question-answer pairs) to retain within the time window. The maximum is 25, and the default is 10. * **Conversation Logger (Optional):** Enable this feature to record assistant interactions, which is helpful to perform a QA over the AI assistant performance. * Select SQL database with write rights enabled * Conversation Breakdown Strategy: Select the amount of time needed to pass from the last message received to consider the current conversation session finalized. * Decide if you would like to track user data or not 6. **Click "Next".** 7. **Step 3: Set Assistant Security Parameters:** This step will be deprecated in the future. * **Guardrails Panel (Optional):** Enable the global toggle and select individual guardrails (Prompt Injection, Harmful Content, Toxic Language) to apply additional safety measures. *Note: Guardrail configuration will eventually be handled exclusively at the Gateway level.* 8. **Click "Next".** 9. **Step 4: Set Assistant Models and Prompt:** * **Model Panel:** * **Conversational Model:** Select the primary model that will power the Assistant's conversational abilities. * **Instructional Model:** Select the model used for instructional tasks or specific commands. *NOTE:* In the future the user will be prompted to select a gateway and, based on that selection, models and routers will be listed here to be selected by the user. * **Assistant Prompt Panel:** Define the core instructions and personality of your Assistant: * **Role:** Describe the Assistant's role (e.g., "Helpful Customer Support Agent"). * **Task:** Specify the Assistant's primary task (e.g., "Answer customer questions about products and services"). * **Operating Principles:** Define guidelines for the Assistant's behavior (e.g., "Be polite and professional," "Provide accurate information"). * **Attitude:** Describe the desired attitude of your assistant (e.g. "Friendly and easy-going"). * **Welcoming Message:** Set the initial message the Assistant will use to greet users. * **Goodbye Message:** Set the message the Assistant will use when ending a conversation. 10. **Click "Review":** Review all the Assistant's configuration details. 11. **Click "Create":** Create the Assistant. ## Assistant Cards The Assistants section displays each created Assistant as a card. Each card shows: * **Assistant Avatar:** The selected avatar for the Assistant will be displayed as the card background. * **Assistant Name:** The name you assigned to the Assistant. * **Description:** The description you provided for the Assistant. * **Scope Icon:** * **Globe Icon:** Indicates a Public Assistant. * **Person Icon:** Indicates a Private Assistant. * **Deployment Status:** * **Rocket Icon (no background):** Indicates the Assistant is *not* deployed. Hovering over this icon will reveal a white background, indicating it's clickable. * **Rocket Icon (with background):** Indicates that the assistant *is* deployed (Future Enhancement). * **Test/Insights Icon:** * **Multi-panel Icon: If undeployed, clicking this icon initiates the Assistant Test creation workflow within the Quality Assurance section.** * **Check Mark Icon: If deployed, clicking this icon navigates you to the Assistant's dashboard within the Insights section.** * **Edit Icon (Pencil):** Click this icon to update the Assistant's configuration (only if the Assistant is *not* deployed). * **Delete Icon (Trash Bin):** Click this icon to remove the Assistant (only if the Assistant is *not* deployed). ## Managing Assistants ### Updating an Assistant You can update *all* configuration parameters of an Assistant **only if it is not deployed**. If the assistant *is* deployed, you will not be able to edit its parameters. 1. **Navigate to Assistants:** Go to **"Apps"** > **"Assistants"**. 2. **Locate the Assistant Card:** Find the card for the Assistant you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Assistant Parameters:** Update the Assistant's configuration as needed. 5. **Click "Save":** Save the changes. **If you attempt to edit a deployed Assistant, a warning banner will be displayed, preventing modifications.** ### Removing an Assistant You can remove an Assistant if it's no longer needed. **However, you cannot delete a deployed Assistant.** 1. **Navigate to Assistants:** Go to **"Apps"** > **"Assistants"**. 2. **Locate the Assistant Card:** Find the card for the Assistant you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a deployed Assistant, a modal will appear, preventing the deletion and explaining that the Assistant is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the Assistant. **Warning:** Deleting an Assistant is a permanent action and cannot be undone. ## Deploying Assistants The deployment process differs depending on whether you are deploying a Private or Public Assistant. ### Deploying Private Assistants 1. **Locate the Assistant Card:** Find the card for the *undeployed* Private Assistant you want to deploy. 2. **Click the Rocket Icon:** This initiates the deployment process. 3. **Select Target Users:** Select the specific Kosmoy users (within your tenant) who should have access to this Assistant in Kosmoy Chat. 4. **"Review" and "Deploy"** Once deployed, the selected users will see the Assistant listed in their Kosmoy Chat interface, allowing them to interact with it directly. ### Deploying Public Assistants 1. **Locate the Assistant Card:** Find the card for the *undeployed* Public Assistant you want to deploy. 2. **Click the Rocket Icon:** This initiates the deployment process. 3. **Select Communication Channel:** Choose a pre-configured Communication Channel from the dropdown menu. Currently, WhatsApp (via Twilio) is supported. 4. **"Review" and "Deploy"** **Prerequisites:** * You must have a **Communication Channel** configured. See the **[Managing Communication Channels](/kosmoy-studio/comm-channels)** section for details. ## Testing Assistants Before deploying your Assistants, it's highly recommended to thoroughly test them using the **Assistant Tests** feature in the **Quality Assurance** section. This allows you to interact with your Assistant in a controlled environment and refine its configuration. See **[Assistant Tests](/kosmoy-studio/quality-assurance/assistant-tests)** for more details. ## Monitoring Assistants After deploying your assistant, you would probably like to track its performance. See **[Dashboard](/kosmoy-studio/insights/dashboard)** for more details. # Coded Apps Source: https://docs.kosmoy.com/kosmoy-studio/apps/coded-apps Learn how to register, connect, and manage your custom code applications within Kosmoy Studio using Coded Apps and the Kosmoy SDK. # Working with Coded Apps **Coded Apps** in Kosmoy Studio provide a way to integrate your existing code artifacts (like Python-based chatbots or AI applications) with the Kosmoy platform. By registering a Coded App and using the **Kosmoy SDK** in your codebase, you can connect your application to a **Kosmoy Gateway** and leverage powerful features like **Guardrails**, **Routers**, and the **Insights** section for monitoring and observability. ## Creating a Coded App 1. **Navigate to Coded Apps:** From the Kosmoy Studio home page, click on the **"Apps"** menu in the left-hand navigation bar, then select **"Coded Apps"**. 2. **Add a New Coded App:** Click the **"+ ADD"** button located in the upper right corner of the Coded Apps section. 3. **Select a Gateway:** Choose the **Gateway** that your Coded App will connect to. This Gateway defines the models, routers, and guardrails that your application can access. 4. **Name and Describe the Coded App:** Give your Coded App a unique name and an optional description. 5. **Click "Review":** Review the Coded App configuration. 6. **Click "Create":** Register the Coded App. ## API Key Generation and Usage Upon creating a Coded App, Kosmoy Studio automatically generates an **App ID** and an **API key**. These credentials are used by the Kosmoy SDK to authenticate your application and establish a connection to the assigned Gateway. **Modal Display:** A modal will appear immediately after creation, displaying the App ID and API key. You can copy these credentials for use in your application's code. **Important:** Store your API key securely. Do not share it publicly or commit it to version control. **Regenerating the API Key:** If you need to regenerate the API key for security reasons: 1. **Navigate to Coded Apps:** Go to **"Apps"** > **"Coded Apps"**. 2. **Locate the Coded App Card:** Find the card for your Coded App. 3. **Click on the Card:** This will take you to the Coded App details page. 4. **Find the "API Key" Panel:** Locate the panel displaying the current (obfuscated) API key. 5. **Click "Regenerate API Key":** This will trigger a confirmation modal. 6. **Confirm Regeneration:** The modal warns you that the old API key will be invalidated. Confirm that you want to proceed. 7. **Copy the New API Key:** The modal will reappear, displaying the newly generated API key. Copy this key for use in your application. ## Coded App Cards The Coded Apps section displays each registered Coded App as a card. Each card shows: * **Coded App Name:** The name you assigned to the Coded App. * **Description:** The description you provided for the Coded App. * **Edit Icon (Pencil):** Click this icon to update the Coded App's name, description, or assigned Gateway. * **Delete Icon (Trash Bin):** Click this icon to remove the Coded App. ## Managing Coded Apps ### Updating a Coded App You can update the name, description, and the assigned Gateway of a registered Coded App. 1. **Navigate to Coded Apps:** Go to **"Apps"** > **"Coded Apps"**. 2. **Locate the Coded App Card:** Find the card for the Coded App you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Parameters:** Update the Coded App's name, description, or select a different Gateway. 5. **Click "Save":** Save the changes. **Warning:** Changing the Gateway can affect your application's functionality. Ensure that the new Gateway provides access to the necessary models and resources. You will be presented with a warning if you try to modify a coded app. ### Removing a Coded App You can remove a registered Coded App if it's no longer needed. 1. **Navigate to Coded Apps:** Go to **"Apps"** > **"Coded Apps"**. 2. **Locate the Coded App Card:** Find the card for the Coded App you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. 4. **Confirm Deletion:** Confirm that you want to delete the Coded App. **Warning:** Deleting a Coded App is a permanent action and cannot be undone. ## Connecting to a Gateway with the Kosmoy SDK To connect your Coded App to its assigned Gateway, you'll use the **Kosmoy SDK** in your Python code. The SDK provides the necessary functions for authenticating your application and interacting with the Gateway. **For detailed instructions and examples on using the Kosmoy SDK, refer to the [Kosmoy SDK Documentation](/kosmoy-sdk/introduction).** ## Monitoring Coded Apps You can monitor the performance, usage, and costs associated with your Coded Apps through the **Insights** section of Kosmoy Studio. This provides valuable data for optimizing your applications and understanding their behavior. # Introduction to Apps in Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/apps/introduction Discover the power of Assistants and Coded Apps, the core building blocks for creating and managing AI applications within Kosmoy Studio. # Introduction to Apps The **Apps** section of Kosmoy Studio is where you create and manage your AI applications. It's the central hub for bringing your AI solutions to life, whether you're building no-code **Assistants** or integrating custom code with **Coded Apps**. Both of these app types represent the way Kosmoy interacts with the outside world. **Two Approaches to AI Application Development:** Kosmoy Studio offers two distinct approaches to developing and deploying AI applications: * **Assistants:** No-code, AI-powered entities designed for specific tasks or business objectives. Assistants are built using an intuitive visual interface and can be connected to Data Channels, enabling them to leverage your organization's data through Retrieval Augmented Generation (RAG) and other techniques. They are deployed either as **Private Assistants** (accessible to your internal team through **Kosmoy Chat**) or **Public Assistants** (accessible through configured Communication Channels). * **Coded Apps:** Represent your existing code artifacts, such as Python-based chatbots or other AI applications. By registering a Coded App in Kosmoy Studio, and **utilizing the Kosmoy SDK within your codebase**, you can connect it to a **Kosmoy Gateway** and leverage the platform's powerful features, including **Guardrails**, **Routers**, and the **Insights** section for monitoring and observability. They are integrated into your existing workflows and products. **Key Similarities:** Although different in their implementation, Assistants and Coded Apps share several core capabilities within the Kosmoy ecosystem: * **Gateway Access:** Both Assistants and Coded Apps connect to **Gateways**, providing governed access to AI models, routers, and guardrails. * **Testing:** Assistants can be thoroughly tested using **App Tests** within the **Quality Assurance** section before deployment. The testing of Coded Apps is performed outside of the Kosmoy Platform. * **Monitoring:** Both application types can be monitored and analyzed through the **Insights** section, offering valuable data on performance, usage, and costs. * **Deployment:** Assistants are designed to be deployed and made accessible to end-users (either privately through Kosmoy Chat or publicly through Communication Channels). Coded Apps, on the other hand, remain as part of your existing workflows. The key here is to understand that, even though Coded Apps remain as part of your code, Kosmoy will treat them as deployed apps from the moment you register them. In the future, the platform will offer more opinionated deployment options for Coded Apps as well. **Choosing the Right Approach:** * **Assistants:** Ideal for rapid prototyping, building internal tools, or creating AI-powered solutions without writing code. * **Coded Apps:** Perfect for integrating Kosmoy's governance and observability features into your existing codebases and leveraging the power of the **Kosmoy SDK**. The Kosmoy SDK provides a programmatic interface to interact with Kosmoy Gateways, enabling you to manage the lifecycle of your Coded Apps and take advantage of features such as dynamic configuration updates and secure access to AI resources. **In the following sections, you will learn more about:** * Creating, configuring, deploying, and managing **Assistants**. * Registering, connecting, and monitoring **Coded Apps**. By mastering both Assistants and Coded Apps, you can unlock the full potential of the Kosmoy platform and build a wide range of sophisticated and well-governed AI applications. # Communication Channels Source: https://docs.kosmoy.com/kosmoy-studio/comm-channels Learn how to create, manage, and utilize Communication Channels to deploy your Public Assistants to external platforms. # Working with Communication Channels **Communication Channels** in Kosmoy Studio provide the bridge between your Public Assistants and external platforms, enabling users to interact with your AI outside of the Kosmoy ecosystem. This section explains how to create, manage, and use Communication Channels. ## Prerequisites Before creating a Communication Channel, you must have an active integration with the corresponding provider (e.g., Twilio for WhatsApp). Refer to the **[Integrations](kosmoy-studio/integrations)** section for details on setting up integrations. ## Currently Supported Channels Kosmoy Studio currently supports the following Communication Channel types: * **WhatsApp (via Twilio):** Deploy your Public Assistants to WhatsApp, making them accessible to users through this popular messaging platform. ## Future Communication Channels Kosmoy is continuously expanding its support for Communication Channels. Future integrations will include: * **Phone PBX (via Twilio):** Enable interaction with your Assistants through traditional phone systems. * **(And more to come)** ## Creating a Communication Channel 1. **Navigate to Communication Channels:** From the Kosmoy Studio home page, click on the **"Communication Channels"** menu in the left-hand navigation bar. 2. **Add a New Channel:** Click the **"+ ADD"** button located in the upper right corner of the Communication Channels section. 3. **Select Channel Type:** Choose the desired channel type from the dropdown menu. Currently, only **"WhatsApp"** is supported. 4. **Select Integration:** Choose the relevant Twilio integration you have previously configured. This integration provides the necessary connection to your Twilio account. 5. **Configure Channel Parameters:** Enter the required parameters for the selected channel type. For WhatsApp, you need to provide: * **Phone Number:** The WhatsApp phone number associated with your Twilio account. 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Channel:** Give your Communication Channel a unique name and an optional description. 8. **Click "Review":** Review the channel configuration. 9. **Click "Create":** Create the Communication Channel. ## Communication Channel Cards The Communication Channels section displays each created channel as a card. Each card shows: * **Channel Type Icon:** An icon representing the channel type (e.g., WhatsApp). * **Channel Name:** The name you assigned to the channel. * **Description:** The description you provided for the channel. * **Edit Icon (Pencil):** Click this icon to update the channel's configuration, name, or description (only if the channel is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the channel (only if the channel is not in use). ## Communication Channel Usage Restrictions **You cannot edit or delete a Communication Channel if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Public Assistants** * **Any other Kosmoy Studio component that references Communication Channels.** **Before attempting to edit or delete a channel, ensure it is not actively used in any of these areas. You may need to modify or remove the channel from those components first.** ## Updating a Communication Channel You can update the configuration, name, and description of a registered Communication Channel, **provided it is not currently referenced** by a Public Assistant. 1. **Navigate to Communication Channels:** Click on the **"Communication Channels"** icon in the left-hand navigation bar. 2. **Locate the Channel Card:** Find the card for the channel you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Channel Parameters:** Update the channel's configuration as needed. For example, you can change the phone number for a WhatsApp channel. You can also modify the name and description. 5. **Click "Save":** Save the changes. **If you attempt to edit a channel that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Communication Channel You can remove a registered Communication Channel if it's no longer needed. **However, you cannot delete a channel that is currently referenced by a Public Assistant.** 1. **Navigate to Communication Channels:** Click on the **"Communication Channels"** icon in the left-hand navigation bar. 2. **Locate the Channel Card:** Find the card for the channel you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a channel that is currently in use, a modal will appear, preventing the deletion and explaining that the channel is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the channel. **Warning:** Deleting a Communication Channel is a permanent action and cannot be undone. Ensure that the channel is not being referenced by any Public Assistant before proceeding. ## Using Communication Channels Communication Channels are used when deploying **Public Assistants**. During the deployment process, you will be prompted to select a Communication Channel, which determines the external platform where the Assistant will be accessible. **Note:** Each Public Assistant can only be associated with one Communication Channel. This section provides a comprehensive guide to managing Communication Channels in Kosmoy Studio. # Connections Source: https://docs.kosmoy.com/kosmoy-studio/data-management/connections Learn how to create and manage database connections to power your data-driven applications. # Working with Connections The **Connections** subsection within Data Management allows you to securely store and manage credentials for accessing various databases. These connections serve as a foundation for registering data sources in the Data Catalog and building data-driven applications. ## Supported Database Types Kosmoy Studio currently supports the following database types: * **SQL Databases:** * PostgreSQL * **Vector Databases:** * PGVector * Weaviate * Pinecone ## Creating a Connection 1. **Navigate to Connections:** * Click on the **"Data Management"** menu in the left-hand navigation bar. * Select **"Connections"** from the expanded menu. 2. **Add a New Connection:** Click the **"+ ADD"** button located in the upper right corner of the Connections section. 3. **Select Database Type:** Choose the type of database you want to connect to (SQL or Vector). 4. **Select Provider:** Choose the specific database provider from the dropdown menu (e.g., PostgreSQL for SQL, PGVector for Vector). 5. **Configure Connection Parameters:** Enter the required connection details for the selected database type and provider. These parameters will vary depending on the provider but typically include: * **Host:** The hostname or IP address of your database server. * **Port:** The port number used to connect to the database. * **Database Name:** The name of the database you want to connect to. * **Username:** Your database username. * **Password:** Your database password. * **(Other provider-specific parameters)** 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Connection:** Give your connection a unique name and an optional description. 8. **Click "Review":** Review the connection details. 9. **Click "Create":** Create the connection. ## Connection Cards The Connections section displays each created connection as a card. Each card shows: * **Database Type Icon:** An icon representing the type of database (e.g., SQL, Vector). * **Connection Name:** The name you assigned to the connection. * **Description:** The description you provided for the connection. * **Edit Icon (Pencil):** Click this icon to update the connection's parameters, name, or description (only if the connection is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the connection (only if the connection is not in use). ## Connection Usage Restrictions **You cannot edit or delete a connection if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Data Catalog** (Databases) * **Any other Kosmoy Studio component that references connections.** **Before attempting to edit or delete a connection, ensure it is not actively used in any of these areas. You may need to modify or remove the connection from those components first.** ## Updating a Connection You can update the parameters, name, and description of a registered connection, **provided it is not currently referenced** by any other component. 1. **Navigate to Connections:** * Click on the **"Data Management"** icon in the left-hand navigation bar. * Select **"Connections"** from the expanded menu. 2. **Locate the Connection Card:** Find the card for the connection you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Connection Parameters:** Update the connection's parameters (host, port, database name, username, password, etc.) as needed. You can also modify the name and description. 5. **Click "Save":** Save the changes. **If you attempt to edit a connection that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Connection You can remove a registered connection if it's no longer needed. **However, you cannot delete a connection that is currently referenced by any other component.** 1. **Navigate to Connections:** * Click on the **"Data Management"** icon in the left-hand navigation bar. * Select **"Connections"** from the expanded menu. 2. **Locate the Connection Card:** Find the card for the connection you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a connection that is currently in use, a modal will appear, preventing the deletion and explaining that the connection is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the connection. **Warning:** Deleting a connection is a permanent action and cannot be undone. Ensure that the connection is not being referenced by any other component before proceeding. # Collections Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-catalog/collections Learn how to create and manage Collections within your Vector Databases in Kosmoy Studio. # Working with Collections The **Collections** section within the Data Catalog allows you to define and manage specific subsets of data within your registered **Vector Databases**. Collections are essential for organizing your vector data and making it accessible to other Kosmoy Studio components, such as Data Channels and Vector Pipelines. **Prerequisites:** Before creating a Collection, you must have a **Vector Database** registered in the Data Catalog. Refer to the **[Databases](/data-management/data-catalog/databases)** section for details. ## Creating a Collection 1. **Navigate to Collections:** From the Kosmoy Studio home page, click on the **"Data Management"** menu in the left-hand navigation bar, then select **"Data Catalog"**, and then click on **"Collections"**. 2. **Add a New Collection:** Click the **"+ ADD"** button located in the upper right corner of the Collections section. 3. **Select Vector Database:** From the dropdown menu, select the pre-configured **Vector Database** in which you want to create the collection. 4. **Define Distance Strategy:** Choose the appropriate distance strategy for your collection. The available options are: * **Euclidean:** Measures the straight-line distance between two vectors. * **Cosine:** Measures the cosine of the angle between two vectors, indicating their directional similarity. * **Max Inner Product:** Calculates the inner product between two vectors. **Note:** The choice of distance strategy depends on the nature of your data and the specific requirements of your application. You should have configured it when creating your Vector Database. 5. **Configure Collection Connection Parameters:** Enter the required connection parameters for your specific Vector Database type. These parameters may vary depending on the database provider. 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Collection:** Give your collection a unique name and an optional description. 8. **Click "Review":** Review the collection configuration. 9. **Click "Create":** Create the collection. ## Collection Cards The Collections section displays each created collection as a card. Each card shows: * **Collection Icon:** An icon representing a collection. * **Collection Name:** The name you assigned to the collection. * **Description:** The description you provided for the collection. * **Edit Icon (Pencil):** Click this icon to update the collection's name or description (only if the collection is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the collection (only if the collection is not in use). ## Collection Usage Restrictions **You cannot edit or delete a collection if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Data Channels** * **Vector Pipelines** * **Any other Kosmoy Studio component that references collections.** **Before attempting to edit or delete a collection, ensure it is not actively used in any of these areas.** ## Updating a Collection You can update the name and description of a registered collection, **provided it is not currently referenced** by any other component. 1. **Navigate to Collections:** Go to **"Data Management"** > **"Data Catalog"** > **"Collections"**. 2. **Locate the Collection Card:** Find the card for the collection you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Name and/or Description:** Update the collection's name and/or description as needed. 5. **Click "Save":** Save the changes. **Note:** You cannot modify the core configuration of a collection (database, distance strategy, connection parameters) after it has been created. ## Removing a Collection You can remove a registered collection if it's no longer needed. **However, you cannot delete a collection that is currently referenced by any other component.** 1. **Navigate to Collections:** Go to **"Data Management"** > **"Data Catalog"** > **"Collections"**. 2. **Locate the Collection Card:** Find the card for the collection you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a collection that is currently in use, a modal will appear, preventing the deletion and explaining that the collection is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the collection. **Warning:** Deleting a collection is a permanent action and cannot be undone. Ensure that the collection is not being referenced by any other component before proceeding. ## Using Collections Collections are primarily used in two ways within Kosmoy Studio: * **Data Channels:** When creating a Vector Data Channel, you need to select a specific collection as the data source. This allows your AI Assistants to access and utilize the vector data within that collection. * **Vector Pipelines:** When configuring a Vector Pipeline, you need to specify a target collection where the generated vector embeddings will be stored. This section provides a detailed guide to creating and managing Collections within Kosmoy Studio's Data Catalog. # Databases Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-catalog/databases Learn how to register and manage your databases within Kosmoy Studio's Data Catalog. # Working with Databases The **Databases** section of the Data Catalog allows you to register databases, creating metadata representations that point to your actual database instances. This provides a structured view of your database contents and enables you to use them in other parts of Kosmoy Studio, such as Data Channels and Vector Pipelines. **Prerequisites:** Before registering a database, you must have a corresponding **Connection** configured. Refer to the **[Connections](/data-management/connections)** section for details. ## Supported Database Types Kosmoy Studio currently supports the following database types: * **SQL Databases:** * PostgreSQL * **Vector Databases:** * PGVector * Weaviate * Pinecone ## Registering a Database 1. **Navigate to Databases:** From the Kosmoy Studio home page, click on the **"Data Management"** menu in the left-hand navigation bar, then select **"Data Catalog"** and then click on **"Databases"**. 2. **Add a New Database:** Click the **"+ ADD"** button located in the upper right corner of the Databases section. 3. **Select Database Type:** Choose either "SQL" or "Vector". 4. **Select Connection:** From the dropdown menu, select the appropriate pre-configured **Connection** for your database. 5. **Configure Database-Specific Settings:** * **For SQL Databases (e.g., PostgreSQL):** Define the **Access Control Rules:** * **Read Access:** Grant read access to the database. * **Write Access:** Grant write access to the database. * **Both:** Grant both read and write access. * **For Vector Databases:** No additional configuration is needed at this step. 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Database:** Give your database a unique name and an optional description. 8. **Click "Review":** Review the database details. 9. **Click "Create":** Register the database in the Data Catalog. ## Database Cards The Databases section displays each registered database as a card. Each card shows: * **Database Type Icon:** An icon representing the type of database (e.g., SQL, Vector). * **Database Name:** The name you assigned to the database. * **Description:** The description you provided for the database. * **Edit Icon (Pencil):** Click this icon to update the database's configuration, name, or description (only if the database is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the database (only if the database is not in use). ## Database Usage Restrictions **You cannot edit or delete a database if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Collections** (for Vector Databases) * **Data Channels** * **Assistants** * **Any other Kosmoy Studio component that references databases.** **Before attempting to edit or delete a database, ensure it is not actively used in any of these areas.** ## Updating a Database You can update the configuration of a registered database, including its connection parameters, name and description, **provided it is not currently referenced** by any other component. 1. **Navigate to Databases:** Go to **"Data Management"** > **"Data Catalog"** > **"Databases"**. 2. **Locate the Database Card:** Find the card for the database you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Database parameters:** Update the database's parameters as needed. 5. **Click "Save":** Save the changes. **If you attempt to edit a database that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Database You can remove a registered database if it's no longer needed. **However, you cannot delete a database that is currently referenced by any other component.** 1. **Navigate to Databases:** Go to **"Data Management"** > **"Data Catalog"** > **"Databases"**. 2. **Locate the Database Card:** Find the card for the database you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a database that is currently in use, a modal will appear, preventing the deletion and explaining that the database is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the database. **Warning:** Deleting a database is a permanent action and cannot be undone. Ensure that the database is not being referenced by any other component before proceeding. ## Using Databases Registered databases can be used to create **Data Channels**. Vector databases can also be used to create **Collections**. # Folders Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-catalog/folders Learn how to define and manage Folders within your registered Object Stores in Kosmoy Studio. # Working with Folders The **Folders** section of the Data Catalog allows you to define and manage specific folders within your registered **Object Stores**. This provides a more granular level of organization for your unstructured data and is essential for setting up **Vector Pipelines**. **Prerequisites:** Before creating a Folder, you must have a corresponding **Object Store** registered in the Data Catalog. Refer to the **[Object Stores](/data-management/data-catalog/object-stores)** section for details. ## Creating a Folder 1. **Navigate to Folders:** From the Kosmoy Studio home page, click on the **"Data Management"** menu in the left-hand navigation bar, then select **"Data Catalog"** and then click on **"Folders"**. 2. **Add a New Folder:** Click the **"+ ADD"** button located in the upper right corner of the Folders section. 3. **Select Object Store:** From the dropdown menu, select the pre-configured **Object Store** where you want to define the folder. 4. **Browse and Select Folder:** Use the visual file browser to navigate the folder structure within the selected Object Store and choose the desired folder. 5. **Click "Next".** 6. **Name and Describe the Folder:** Give your Folder a unique name and an optional description. 7. **Click "Review":** Review the Folder details. 8. **Click "Create":** Register the Folder in the Data Catalog. ## Folder Cards The Folders section displays each created Folder as a card. Each card shows: * **Folder Icon:** An icon representing a folder. * **Folder Name:** The name you assigned to the Folder. * **Description:** The description you provided for the Folder. * **Object Store:** The parent Object Store where the Folder is located. * **Path:** The path to the Folder within the Object Store * **Edit Icon (Pencil):** Click this icon to update the Folder's name, description, or path (only if the Folder is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the Folder (only if the Folder is not in use). ## Folder Usage Restrictions **You cannot edit or delete a Folder if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Vector Pipelines** * **Any other Kosmoy Studio component that references Folders.** **Before attempting to edit or delete a Folder, ensure it is not actively used in any of these areas.** ## Updating a Folder You can update the name, description and even the selected folder of a registered Folder, **provided it is not currently referenced** by any other component. 1. **Navigate to Folders:** Go to **"Data Management"** > **"Data Catalog"** > **"Folders"**. 2. **Locate the Folder Card:** Find the card for the Folder you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Folder Details:** Update the Folder's name, description, or browse to select a different folder within the same Object Store. 5. **Click "Save":** Save the changes. **If you attempt to edit a Folder that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Folder You can remove a registered Folder if it's no longer needed. **However, you cannot delete a Folder that is currently referenced by any other component.** 1. **Navigate to Folders:** Go to **"Data Management"** > **"Data Catalog"** > **"Folders"**. 2. **Locate the Folder Card:** Find the card for the Folder you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a Folder that is currently in use, a modal will appear, preventing the deletion and explaining that the Folder is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the Folder. **Warning:** Deleting a Folder is a permanent action and cannot be undone. Ensure that the Folder is not being referenced by any other component before proceeding. ## Using Folders Folders are primarily used when configuring **Vector Pipelines** in the Data Ingestion section. You need to specify a Folder within a registered Object Store as the source location for the documents that the pipeline will process. # Introduction to Data Catalog in Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-catalog/introduction Learn how to use the Data Catalog to create a structured inventory of your data sources within Kosmoy Studio. # Working with the Data Catalog The **Data Catalog** within Kosmoy Studio provides a centralized and organized way to manage metadata about your data sources. It allows you to create a structured inventory of your databases, collections, object stores, and folders, making it easy to discover, understand, and utilize your data assets within the Kosmoy platform. **Important Note:** The Data Catalog does not store the actual data. Instead, it creates **metadata representations** that point to the actual location of your data sources. This means that your data remains securely stored in its original location, and Kosmoy Studio simply maintains references to it for organizational and access control purposes. **Key Components of the Data Catalog:** * **Databases:** Register your SQL or Vector databases, providing a structured view of their contents. **Requires a pre-existing Connection.** * **Collections:** Define specific collections within your registered **Vector databases**, representing subsets of data relevant to your AI applications. * **Object Stores:** Register your object storage services (such as Amazon S3, Azure Blob Storage, or Google Cloud Storage) to manage unstructured data. **Requires a pre-existing Integration with a multi-service cloud provider.** * **Folders:** Define specific folders within your registered object stores, allowing for granular control over data access. **Benefits of Using the Data Catalog:** * **Centralized Data Discovery:** Easily find and understand your available data sources within a single interface. * **Simplified Data Access:** Streamline the process of connecting your AI applications to relevant data. * **Enhanced Collaboration:** Provide a shared understanding of your data assets across your team. * **Improved Data Governance:** Maintain a clear overview of your data sources and control access through Kosmoy's role-based permissions. **Prerequisites:** Before adding data sources to the Data Catalog, you need to create the necessary **Connections** (for databases) or **Integrations** (for object stores) with your data providers. Refer to the **[Managing Connections](/kosmoy-studio/data-management/connections)** and **[Managing Integrations](/kosmoy-studio/integrations)** sections for details. **In the following sections, you will learn how to:** * Register and manage **Databases** in the Data Catalog. * Define and manage **Collections** within your **Vector databases**. * Register and manage **Object Stores**. * Define and manage specific **Folders** within your Object Stores. By effectively utilizing the Data Catalog, you can unlock the full potential of your data within the Kosmoy platform, enabling you to build powerful and data-driven AI applications. # Object Stores Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-catalog/object-stores Learn how to register and manage your Object Stores within Kosmoy Studio's Data Catalog. # Working with Object Stores The **Object Stores** section of the Data Catalog allows you to register your object storage services (like Amazon S3, Azure Blob Storage, and Google Cloud Storage), making it easier to manage and utilize your unstructured data within Kosmoy Studio. **Prerequisites:** Before registering an Object Store, you must have an active **Integration** with the corresponding cloud provider (AWS, Azure, or Google). Refer to the **[Managing Integrations](/kosmoy-studio/integrations)** section for details. ## Registering an Object Store 1. **Navigate to Object Stores:** From the Kosmoy Studio home page, click on the **"Data Management"** menu in the left-hand navigation bar, then select **"Data Catalog"** and then click on **"Object Stores"**. 2. **Add a New Object Store:** Click the **"+ ADD"** button located in the upper right corner of the Object Stores section. 3. **Select Provider:** Choose the cloud provider of your object store (e.g., Amazon, Azure, Google). 4. **Select Integration:** From the dropdown menu, select the appropriate pre-configured **Integration** for your cloud provider. 5. **Select Object Store:** Choose the specific object store (e.g., S3 bucket, Blob container) you want to register. The available options will be dynamically listed based on your selected Integration. 6. **Click "Next".** 7. **Name and Describe the Object Store:** Give your object store a unique name and an optional description. 8. **Click "Review":** Review the object store details. 9. **Click "Create":** Register the object store in the Data Catalog. ## Object Store Cards The Object Stores section displays each registered object store as a card. Each card shows: * **Object Store Provider Icon:** An icon representing the cloud provider (e.g., AWS, Azure, Google). * **Object Store Name:** The name you assigned to the object store. * **Description:** The description you provided for the object store. * **Edit Icon (Pencil):** Click this icon to update the object store's name, description, or configuration (only if the object store is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the object store (only if the object store is not in use). ## Object Store Usage Restrictions **You cannot edit or delete an Object Store if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Folders** * **Vector Pipelines** * **Any other Kosmoy Studio component that references Object Stores.** **Before attempting to edit or delete an Object Store, ensure it is not actively used in any of these areas.** ## Updating an Object Store You can update the configuration of a registered Object Store, including its name, description, and even the selected object store itself, **provided it is not currently referenced** by any other component. 1. **Navigate to Object Stores:** Go to **"Data Management"** > **"Data Catalog"** > **"Object Stores"**. 2. **Locate the Object Store Card:** Find the card for the Object Store you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Object Store Parameters:** Update the Object Store's configuration as needed. You can change its name, description, and even re-select the object store from the list provided by the integration. 5. **Click "Save":** Save the changes. **If you attempt to edit an Object Store that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing an Object Store You can remove a registered Object Store if it's no longer needed. **However, you cannot delete an Object Store that is currently referenced by any other component.** 1. **Navigate to Object Stores:** Go to **"Data Management"** > **"Data Catalog"** > **"Object Stores"**. 2. **Locate the Object Store Card:** Find the card for the Object Store you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete an Object Store that is currently in use, a modal will appear, preventing the deletion and explaining that the Object Store is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the Object Store. **Warning:** Deleting an Object Store is a permanent action and cannot be undone. Ensure that the Object Store is not being referenced by any other component before proceeding. ## Using Object Stores Registered Object Stores are primarily used when configuring **Vector Pipelines** in the Data Ingestion section. You can select an Object Store and a specific Folder within it as the source for your unstructured data (PDF and Office files) that will be processed by the pipeline. # Data Channels Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-channels Learn how to create and manage Data Channels, linking your data sources to specific business objectives for use by AI Assistants in RAG applications and more. # Working with Data Channels **Data Channels** in Kosmoy Studio are a crucial element for enabling your AI Assistants to effectively utilize your data, especially in **Retrieval Augmented Generation (RAG)** applications. They go beyond simply providing access; they create a **meaningful association between a data source and a specific business objective**. This allows your AI Assistants to understand the *purpose* of the data and use it appropriately. ## Data Channel Concepts * **Links Data to Purpose:** A Data Channel connects a specific database to a defined business objective, providing context for AI Assistants. * **Facilitates AI Assistant Data Retrieval:** Data Channels streamline the process of AI Assistants retrieving relevant information from your data sources. * **One-to-One with Database Types:** Each Data Channel type corresponds directly to a supported database type. Currently, Kosmoy Studio supports **Vector Data Channels** and plans to support **SQL Data Channels, No-SQL Data Channels, Graph Data Channels** and more in the future. ## Creating a Data Channel The process of creating a Data Channel involves selecting the data source and defining its intended use. **The specific steps may vary depending on the Data Channel type.** Here's a general outline: 1. **Navigate to Data Channels:** From the Kosmoy Studio home page, click on the **"Data Management"** menu in the left-hand navigation bar, then select **"Data Channels"**. 2. **Add a New Data Channel:** Click the **"+ ADD"** button located in the upper right corner of the Data Channels section. 3. **Select Data Channel Type:** Choose the appropriate Data Channel type based on your data source. * **Currently Supported:** Vector Data Channel (for Vector Databases) * **Future Support:** SQL Data Channel, No-SQL Data Channel, Graph Data Channel, and others. 4. **Configure Data Channel:** Follow the specific configuration steps for the selected Data Channel type, as detailed in the subsections below. 5. **Name and Describe the Data Channel:** Give your Data Channel a unique name and an optional description that reflects its purpose. **The description provided here is what the AI Assistant will see and use to determine the relevance of the data.** 6. **Review and Create:** Review the Data Channel configuration and click **"Create"** to create the Data Channel. ## Data Channel Creation Workflows ### Creating a Vector Data Channel Follow these steps to create a Vector Data Channel: 1. **Select Database Type:** Choose "Vector" as the database type. 2. **Select Target Vector Database:** Select a previously registered **Vector Database** from the dropdown menu. 3. **Select Target Collection:** Choose a specific **Collection** within the selected Vector Database. 4. **Define Retrieval Strategy:** Select the desired retrieval strategy: **"Similarity Search"** or **"Maximal Marginal Relevance (MMR)"**. 5. **Select Embeddings Model:** Choose a pre-registered embeddings model from the dropdown menu. This model will be used for any retrieval operations if applicable. 6. **Name and Describe the Data Channel:** Give your Data Channel a unique name and a clear description. **This description is crucial, as it will be used by the AI Assistant to determine the business objective and relevance of the data.** For example: "Product descriptions and specifications for answering customer questions via RAG" or "Knowledge base articles to enhance the AI Assistant's responses in a RAG pipeline." 7. **Review and Create:** Review the Data Channel configuration and click **"Create"**. ## Data Channel Cards The Data Channels section displays each created channel as a card. Each card shows: * **Data Channel Type Icon:** An icon representing the type of Data Channel (e.g., Vector, SQL). * **Data Channel Name:** The name you assigned to the Data Channel. * **Description:** The description you provided, including the usage purpose. * **Edit Icon (Pencil):** Click this icon to update the Data Channel's name, description, or usage purpose (only if the Data Channel is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the Data Channel (only if the Data Channel is not in use). ## Data Channel Usage Restrictions **You cannot edit or delete a Data Channel if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Assistants** * **Any other Kosmoy Studio component that references Data Channels.** **Before attempting to edit or delete a Data Channel, ensure it is not actively used in any of these areas.** ## Updating a Data Channel You can update the name, description and usage purpose of a registered Data Channel, **provided it is not currently referenced** by any other component. 1. **Navigate to Data Channels:** Go to **"Data Management"** > **"Data Channels"**. 2. **Locate the Data Channel Card:** Find the card for the Data Channel you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Name, Description and/or usage purpose:** Update the Data Channel's information as needed. **Remember that the description is used by the AI Assistant, so make sure it accurately reflects the intended use.** 5. **Click "Save":** Save the changes. ## Removing a Data Channel You can remove a registered Data Channel if it's no longer needed. **However, you cannot delete a Data Channel that is currently referenced by any other component.** 1. **Navigate to Data Channels:** Go to **"Data Management"** > **"Data Channels"**. 2. **Locate the Data Channel Card:** Find the card for the Data Channel you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a Data Channel that is currently in use, a modal will appear, preventing the deletion and explaining that the Data Channel is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the Data Channel. **Warning:** Deleting a Data Channel is a permanent action and cannot be undone. Ensure that the Data Channel is not being referenced by any other component before proceeding. ## Using Data Channels Data Channels are primarily used when configuring **AI Assistants**. When building an Assistant, you can connect it to one or more Data Channels, giving the Assistant the ability to access and utilize the data within those channels to fulfill its designated purpose. **The AI Assistant will use the Data Channel's description to understand the context and appropriate use of the data, particularly in RAG applications.** # Introduction to Data Ingestion in Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-ingestion/introduction Learn how to use Data Ingestion to prepare and process your unstructured data for use in AI applications, including vectorization for RAG. # Working with Data Ingestion The **Data Ingestion** section of Kosmoy Studio provides the tools you need to transform your unstructured data into a format suitable for use in your AI applications. Currently, the focus is on **vectorization**, a crucial step in building **Retrieval Augmented Generation (RAG)** systems. **Key Features:** * **Vector Pipelines:** Create and manage pipelines that transform unstructured data (PDFs and Office files) from your object stores into vector embeddings stored in your vector databases. * **Support for RAG:** Prepare your data for use in RAG applications, enabling your AI Assistants to retrieve relevant information from your knowledge base and generate more accurate and context-aware responses. **Current Capabilities:** At present, Data Ingestion in Kosmoy Studio is centered around the creation and management of **Vector Pipelines**. These pipelines perform the following actions: 1. **Source Data:** Read PDF and Office files from a specified folder within a registered **Object Store**. 2. **Chunking:** Divide the documents into smaller, manageable chunks based on a defined strategy. 3. **Vectorization:** Generate vector embeddings for each chunk using a selected embeddings model. 4. **Storage:** Store the generated vectors in a target collection within a registered **Vector Database**. **Future Enhancements:** The Data Ingestion capabilities of Kosmoy Studio will continue to evolve, with plans to support additional data types, ingestion methods, and data processing techniques. **In this section, you will learn about:** * Understanding Vector Pipelines and their role in RAG. * Creating and configuring Vector Pipelines. * Managing existing Vector Pipelines. By effectively utilizing Data Ingestion, you can prepare your unstructured data for use in advanced AI applications, unlocking the full potential of techniques like Retrieval Augmented Generation. # Vector Pipelines Source: https://docs.kosmoy.com/kosmoy-studio/data-management/data-ingestion/vector-pipelines Learn how to create, manage, run, and monitor Vector Pipelines to transform unstructured data into vector embeddings for use in RAG applications. # Working with Vector Pipelines **Vector Pipelines** within Kosmoy Studio's Data Ingestion section are designed to streamline the process of preparing unstructured data for use in **Retrieval Augmented Generation (RAG)** and other AI applications. They automate the transformation of documents (PDFs and Office files) into vector embeddings, which can then be efficiently queried and utilized by your AI Assistants. ## Creating a Vector Pipeline Here's a step-by-step guide on how to create a Vector Pipeline: 1. **Navigate to Vector Pipelines:** * Click on the **"Data Management"** icon in the left-hand navigation bar. * Select **"Data Ingestion"** and then **"Vector Pipelines"**. 2. **Add a New Vector Pipeline:** Click the **"+ ADD"** button located in the upper right corner of the Vector Pipelines section. 3. **Select Source Object Store and Folder:** * **Object Store:** Choose a pre-registered **Object Store** from the dropdown menu. This is where your source documents (PDFs and Office files) are located. * **Folder:** Select the specific **Folder** within the Object Store that contains the documents you want to vectorize. 4. **Configure Chunking Strategy:** Define how the documents should be divided into smaller chunks. Choose the appropriate settings for chunk size and overlap based on your specific needs and the nature of your documents. 5. **Select Embeddings Model:** Choose a pre-registered embeddings model from the dropdown menu. This model will be used to generate vector representations of the text chunks. 6. **Select Target Vector Database and Collection:** * **Vector Database:** Choose a pre-registered **Vector Database** where the generated embeddings will be stored. * **Collection:** Select the target **Collection** within the Vector Database. 7. **Click "Next":** Proceed to the next step. 8. **Name and Describe the Pipeline:** Give your Vector Pipeline a unique name and an optional description. 9. **Click "Review":** Review the pipeline configuration. 10. **Click "Create":** Create the Vector Pipeline. ## Vector Pipeline Cards The Vector Pipelines section displays each created pipeline as a card. Each card shows: * **Pipeline Name:** The name you assigned to the pipeline. * **Description:** The description you provided for the pipeline. * **Status:** Indicates the current status of the pipeline (e.g., Created, Running, Completed, Failed). * **Clicking on a card:** Navigates you to the **Pipeline Details Page** where you can run, monitor and stop the pipeline. ## Vector Pipeline Editing and Deletion Restrictions **You cannot edit or delete a Vector Pipeline while it is in a "Running" status.** * **Editing:** If you attempt to edit a pipeline that is currently running, a warning banner will be displayed at the top of the screen, preventing any modifications. * **Deleting:** If you attempt to delete a pipeline that is currently running, a modal will appear, preventing the deletion and explaining that the pipeline is in a "Running" status. ## Updating a Vector Pipeline You can update the configuration of a Vector Pipeline **only if it is not running.** 1. **Navigate to Vector Pipelines:** Go to **"Data Management"** > **"Data Ingestion"** > **"Vector Pipelines"**. 2. **Locate the Vector Pipeline Card:** Find the card for the pipeline you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Pipeline Parameters:** Update the pipeline's configuration as needed. You can change the source, chunking strategy, embeddings model, target database/collection, name and description. 5. **Click "Save":** Save the changes. ## Removing a Vector Pipeline You can remove a registered Vector Pipeline if it's no longer needed. **However, you cannot delete a pipeline that is currently in a "Running" status.** 1. **Navigate to Vector Pipelines:** Go to **"Data Management"** > **"Data Ingestion"** > **"Vector Pipelines"**. 2. **Locate the Vector Pipeline Card:** Find the card for the pipeline you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a pipeline that is currently running, a modal will appear, preventing the deletion and explaining that the pipeline is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the pipeline. **Warning:** Deleting a Vector Pipeline is a permanent action and cannot be undone. ## Running and Monitoring a Vector Pipeline To run, monitor, and stop a Vector Pipeline: 1. **Navigate to Vector Pipelines:** Go to **"Data Management"** > **"Data Ingestion"** > **"Vector Pipelines"**. 2. **Click on the Pipeline Card:** Click on the card of the Vector Pipeline you want to manage. This will take you to the **Pipeline Details Page**. ### Pipeline Details Page The Pipeline Details Page provides detailed information about a specific Vector Pipeline and allows you to manage its execution. **Top Section:** * **Pipeline Name:** The name of the selected pipeline. * **Description:** The description of the selected pipeline. **Main Action Buttons (Top Right):** * **"Run" Button:** Click this button to start a new run of the pipeline. * **"Back" Button:** Click this button to return to the Vector Pipelines collection page. **Runs List:** This section displays a list of all runs for the selected pipeline. * **Refresh Button:** Click this button to refresh the list of runs and see the latest status. {/* */} * **"STOP RUN" Button:** Click this button to stop a currently running pipeline run. This button is only active for running pipelines. {/* */} **Run Information:** Each run in the list displays the following information: * **Run Status:** The status of the run (e.g., Running, Completed, Failed). * **Start Time:** The date and time the run started. * **End Time:** The date and time the run finished (if applicable). * **Duration:** The total duration of the run. ## Using Vector Pipelines Once a Vector Pipeline is created and run, it will process the documents in the specified source folder, generate embeddings, and store them in the target Vector Database collection. This process typically runs in the background. The generated vector embeddings can then be used in **Data Channels** to enable **Retrieval Augmented Generation (RAG)** capabilities in your AI Assistants. # Introduction to Data Management in Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/data-management/introduction An overview of managing your data within Kosmoy Studio, including connections, data catalog, data channels, and data ingestion. # Working with Data Management The **Data Management** section of Kosmoy Studio is your central hub for connecting to, organizing, and managing your data. It provides the tools you need to integrate your data seamlessly into your AI applications, enabling you to build powerful, data-driven solutions, including those that leverage advanced techniques like **Retrieval Augmented Generation (RAG).** **Key Components of Data Management:** * **Data Catalog:** A structured inventory of your data sources, including databases, collections, object stores, and folders. It allows you to easily discover, understand, and utilize your data assets. **Importantly, the Data Catalog does not store the actual data but creates metadata representations that point to the original data locations.** * **Connections:** Securely store and manage credentials for accessing various databases, enabling seamless integration with your data sources. * **Data Channels:** Create a meaningful link between your data and its intended use. **Data Channels associate a specific database with a defined business objective, providing context for AI Assistants and enabling them to retrieve data effectively. This is particularly crucial for applications like RAG, where understanding the purpose of the data is essential.** * **Data Ingestion:** Build and manage data pipelines to prepare and process your data for use in AI applications. **This includes Vector Pipelines, which transform unstructured data (such as PDF files in object store folders) into vectors within a target collection of a Vector Database, forming the foundation of a RAG pipeline.** **In this section, you will learn about:** * Navigating the Data Management interface. * Creating and managing connections to your databases (**Connections**). * Populating the Data Catalog with your data sources (**Databases**, **Collections**, **Object Stores**, **Folders**). * Setting up Data Channels to provide controlled and context-aware data access to your Assistants (**Data Channels**). * Building Data Ingestion pipelines, including Vector Pipelines, to prepare your data for AI applications (**Data Ingestion**). **Prerequisites:** Before utilizing many of the Data Management features, you will need to establish either **Connections** (for databases) or **Integrations** (for object stores) with your data providers. Refer to the **[Managing Connections](/data-management/connections)** and **[Managing Integrations](/kosmoy-studio/integrations)** sections for details. This comprehensive suite of data management tools empowers you to effectively leverage your data within the Kosmoy platform, unlocking the full potential of your AI applications, particularly those involving Retrieval Augmented Generation. # Gateways Source: https://docs.kosmoy.com/kosmoy-studio/gateways Learn how to create, configure, and manage Gateways to control access to models, routers, and guardrails for your AI applications. # Working with Gateways Gateways are a fundamental component of Kosmoy Studio, providing a secure and controlled way to expose models, routers, and guardrails to your AI applications (Assistants and Coded Apps). They act as an intermediary, enforcing your defined access rules and ensuring that your applications interact with the Kosmoy platform in a governed manner. ## Creating a Gateway 1. **Navigate to Gateways:** From the Kosmoy Studio home page, click on the **"Gateways"** menu in the left-hand navigation bar. 2. **Add a New Gateway:** Click the **"+ ADD"** button located in the upper right corner of the Gateways section. 3. **Configure Gateway:** * **Models:** Select the models you want to make available through this Gateway. * **Routers:** Select the routers you want to make available through this Gateway. * **Guardrails:** Select the guardrails you want to apply to this Gateway. These guardrails will be enforced for all traffic flowing through the Gateway. 4. **Click "Next":** Proceed to the next step. 5. **Name and Describe the Gateway:** Give your Gateway a unique name and an optional description. 6. **Click "Review":** Review the Gateway configuration. 7. **Click "Create":** Create the Gateway. ## Gateway Cards The Gateways section displays each created Gateway as a card. Each card shows: * **Gateway Icon:** An icon depicting a router. * **Gateway Name:** The name you assigned to the Gateway. * **Description:** The description you provided for the Gateway. * **Edit Icon (Pencil):** Click this icon to update the Gateway's name, description, or configuration (only if the Gateway is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the Gateway (only if the Gateway is not in use). ## Gateway Usage Restrictions **You cannot edit or delete a Gateway if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Assistants** * **Coded Apps** * **Any other Kosmoy Studio component that references Gateways.** **Before attempting to edit or delete a Gateway, ensure it is not actively used in any of these areas. You may need to modify or remove the Gateway from those components first.** ## Updating a Gateway You can update the configuration of a registered Gateway, including its name, description, associated models, routers, and guardrails, **provided it is not currently referenced** by any Assistant or Coded App. 1. **Navigate to Gateways:** From the Kosmoy Studio home page, click on the **"Gateways"** icon in the left-hand navigation bar. 2. **Locate the Gateway Card:** Find the card for the Gateway you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Gateway Parameters:** Update the Gateway's configuration as needed. You can change its name, description, add or remove models, routers, and guardrails. 5. **Click "Save":** Save the changes. **If you attempt to edit a Gateway that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Gateway You can remove a registered Gateway if it's no longer needed. **However, you cannot delete a Gateway that is currently referenced by any Assistant or Coded App.** 1. **Navigate to Gateways:** From the Kosmoy Studio home page, click on the **"Gateways"** icon in the left-hand navigation bar. 2. **Locate the Gateway Card:** Find the card for the Gateway you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a Gateway that is currently in use, a modal will appear, preventing the deletion and explaining that the Gateway is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the Gateway. **Warning:** Deleting a Gateway is a permanent action and cannot be undone. Ensure that the Gateway is not being referenced by any Assistant or Coded App before proceeding. ## Using Gateways Gateways are essential for connecting your Assistants and Coded Apps to the models, routers, and guardrails you've configured in Kosmoy Studio. * **When creating an Assistant or Coded App, you will be prompted to select a Gateway.** This defines which resources the Assistant or Coded App can access. This section provides a thorough overview of creating, managing, and utilizing Gateways within Kosmoy Studio. # Guardrails Source: https://docs.kosmoy.com/kosmoy-studio/guardrails Learn how to create, manage, and utilize guardrails to ensure responsible AI behavior in your applications. # Working with Guardrails Guardrails are essential components of Kosmoy Studio that allow you to define and enforce safety guidelines for your AI applications. They help ensure responsible AI behavior by detecting and mitigating potential risks, such as toxic language or prompt injection attempts. ## Guardrail Types Kosmoy Studio currently supports the following guardrail types: * **Toxic Language:** Detects and blocks offensive content, including sexual, hate and discrimination, violence and threats, and dangerous and criminal content. You can configure it to monitor user inputs, LLM outputs, or both. * **Prompt Injection:** Detects and prevents attempts to manipulate the AI model's behavior through malicious prompts. ## Creating a Guardrail The specific steps to create a guardrail vary slightly depending on the type you choose. However, the general process is as follows: 1. **Navigate to Guardrails:** From the Kosmoy Studio home page, click on the **"Guardrails"** menu in the left-hand navigation bar. 2. **Add a New Guardrail:** Click the **"+ ADD"** button located in the upper right corner of the Guardrails section. 3. **Select Guardrail Type:** Choose the desired guardrail type from the dropdown menu (e.g., "Toxic Language," "Prompt Injection"). 4. **Configure Guardrail:** Follow the specific configuration steps for the selected guardrail type, as detailed in the subsections below. 5. **Name and Describe the Guardrail:** Give your guardrail a unique name and an optional description. 6. **Review and Create:** Review the guardrail configuration and click **"Create"** to create the guardrail. ## Guardrail Creation Workflows ### Creating a Toxic Language Guardrail 1. **Select Guardrail Type:** Choose "Toxic Language" from the guardrail type dropdown. 2. **Configure Guardrail:** * **Model:** Select the model that will be used to power the Toxic Language detection. * **Preferred Response Message:** (Optional) Define a custom response message to be displayed when the guardrail blocks a message. * **Offensive Content Selection:** Choose the types of offensive content you want to block (e.g., Sexual, Hate and Discrimination, Violence and Threats, Dangerous and Criminal Content, Self-Harm). * **Monitoring:** Select whether to monitor **Inputs** (user messages), **Outputs** (LLM responses), or both. 3. **Click "Next":** Proceed to the next step. 4. **Name and Describe:** Give your guardrail a unique name and an optional description. 5. **Review and Create:** Review the configuration and click **"Create"**. ### Creating a Prompt Injection Guardrail 1. **Select Guardrail Type:** Choose "Prompt Injection" from the guardrail type dropdown. 2. **Configure Guardrail:** * **Model:** Select the model that will be used to power the Prompt Injection detection. * **Preferred Response Message:** (Optional) Define a custom response message to be displayed when the guardrail blocks a message. 3. **Click "Next":** Proceed to the next step. 4. **Name and Describe:** Give your guardrail a unique name and an optional description. 5. **Review and Create:** Review the configuration and click **"Create"**. ## Guardrail Cards The Guardrails section displays each created guardrail as a card. Each card shows: * **Guardrail Icon:** An icon representing a guardrail. * **Guardrail Name:** The name you assigned to the guardrail. * **Description:** The description you provided for the guardrail. * **Edit Icon (Pencil):** Click this icon to update the guardrail's name or description (only if the guardrail is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the guardrail (only if the guardrail is not in use). ## Guardrail Usage Restrictions **You cannot edit or delete a guardrail if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Gateways** * **Any other Kosmoy Studio component that references guardrails.** **Before attempting to edit or delete a guardrail, ensure it is not actively used in any of these areas. You may need to modify or remove the guardrail from those components first.** ## Updating a Guardrail You can update the name and description and certain configuration parameters of a registered guardrail, **provided it is not currently referenced** by any other component. 1. **Navigate to Guardrails:** From the Kosmoy Studio home page, click on the **"Guardrails"** icon in the left-hand navigation bar. 2. **Locate the Guardrail Card:** Find the card for the guardrail you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Guardrail:** Update the guardrail's configuration as needed. You will be able to modify the model and the preferred response message. Also, depending on the guardrail type, you will be able to turn on and off the offensive content you want to block (Toxic Language) and/or modify the monitoring settings. 5. **Click "Save":** Save the changes. **If you attempt to edit a guardrail that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Guardrail You can remove a registered guardrail if it's no longer needed. **However, you cannot delete a guardrail that is currently referenced by any other component.** 1. **Navigate to Guardrails:** From the Kosmoy Studio home page, click on the **"Guardrails"** icon in the left-hand navigation bar. 2. **Locate the Guardrail Card:** Find the card for the guardrail you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a guardrail that is currently in use, a modal will appear, preventing the deletion and explaining that the guardrail is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the guardrail. **Warning:** Deleting a guardrail is a permanent action and cannot be undone. Ensure that the guardrail is not being referenced by any other component before proceeding. ## Using Guardrails Guardrails are used in other parts of Kosmoy Studio to define the safety guidelines for your AI applications. For example, when creating a Gateway, you can select one or more guardrails to be applied to all traffic flowing through that Gateway. This comprehensive guide should provide a solid foundation for understanding and using guardrails in Kosmoy Studio. Remember to add screenshots to visually illustrate the workflows and interface elements! # Dashboard Source: https://docs.kosmoy.com/kosmoy-studio/insights/dashboard Learn how to use the Kosmoy Studio Insights Dashboard to monitor the performance, usage, and costs of your AI Assistants. # Working with the Insights Dashboard The **Dashboard** within the **Insights** section provides a centralized view of key performance indicators (KPIs) for your **AI Assistants**. It allows you to quickly assess the health and efficiency of your Assistant deployments. **Note:** Currently, the Dashboard focuses on metrics related to Assistants. Support for Coded App metrics is planned for a future release. ## Accessing the Dashboard 1. **Navigate to Insights:** From the Kosmoy Studio home page, click on the **"Insights"** icon in the left-hand navigation bar. 2. **Select "Dashboard":** The Dashboard is the default view within the Insights section. ## Dashboard Components The Dashboard is divided into two main panels: * **Platform metrics (Upper Panel):** Displays aggregated metrics for all your *Assistants* within the selected time range. * **Assistant metrics (Lower Panel):** Displays metrics for a specific Assistant, selectable via a dropdown menu within the selected time range. ### Global Filters The Dashboard includes the following global filters: * **Time Range Filter:** Allows you to select the time period for which data is displayed (e.g., last hour, last 24 hours, last 7 days, custom range). * **KPI Category Filters:** Three buttons allow you to switch between viewing **Usage**, **Costs**, or **Feedback** metrics. * The Usage metrics view will be selected and presented to the user by default. ### Usage Metrics View When the **"Usage"** button is selected, the following KPIs are displayed: * **Requests Card:** Displays the total number of requests made to your Assistants. Clicking this card updates the line chart to show the trend of requests over time. This is selected by default. * **Tokens Card:** Displays the total number of tokens processed by your Assistants. Clicking this card updates the line chart to show the trend of token usage over time. * **Errors Card:** Displays the total number of errors encountered by your Assistants. Clicking this card updates the line chart to show the trend of errors over time. * **Line Chart:** Displays a line chart showing the trend of the selected KPI (Requests, Tokens, or Errors) over the selected time range. ### Costs Metrics View When the **"Costs"** button is selected, the following KPIs are displayed: * **Cost Card:** Displays the total cost (in USD) associated with your Assistants' LLM usage. * **Line Chart:** Displays a line chart showing the trend of cost over the selected time range. ### Feedback Metrics View When the **"Feedback"** button is selected, the following KPIs are displayed: * **User Feedback Counts Card:** Displays the number of positive (thumbs up) and negative (thumbs down) feedback ratings received. * **Messages Card:** Displays the total number of messages. * **Pie Chart (when "User Feedback Counts" is selected):** Displays a pie chart showing the proportion of positive versus negative feedback. * **Pie Chart (when "Messages" is selected):** Displays a pie chart showing the proportion of messages that have been rated versus those that have not been rated. ### Assistant metrics (Lower Panel) The lower panel of the Dashboard displays the same KPIs (Usage, Costs, Feedback) as the upper panel, but filtered for a specific Assistant. * **Assistant Dropdown:** Use the dropdown menu to select the Assistant you want to analyze. The KPIs and charts in the lower panel will update to reflect the data for the selected Assistant. The upper panel always showcases aggregated data for all the assistants. # Insights Source: https://docs.kosmoy.com/kosmoy-studio/insights/introduction Gain a deep understanding of your AI Assistants with Kosmoy Studio's Insights, starting with the comprehensive Dashboard. # Working with Insights The **Insights** section in Kosmoy Studio provides a comprehensive view into the performance, usage, and cost of your AI applications. It's your central hub for monitoring, analyzing, and optimizing your deployments, ensuring they are running efficiently and delivering the desired results. **Currently Available: Dashboard** The primary feature currently available within Insights is the **Dashboard**. The Dashboard offers a centralized view of key metrics and data related to your **Assistants**, allowing you to track their performance and identify areas for optimization. **Coming Soon:** The Insights section will be expanded in future releases to include: * **Cost and Usage Tracker:** A dedicated section for detailed cost and usage analysis. * **Guardrail Alerts:** A dedicated section for viewing and managing alerts triggered by your configured Guardrails. * **Error Logs:** A dedicated section for accessing and analyzing error logs. * **Router Logs:** A dedicated section for viewing and analyzing logs from your configured Routers. * **Conversations Explorer:** A dedicated section for exploring user conversations and feedback. **In this section, you will learn how to:** * Navigate the Insights interface. * Utilize the **Dashboard** to monitor key performance indicators for your Assistants. Unlock the full potential of your AI Assistants with Kosmoy Studio's Insights. # Integrations Source: https://docs.kosmoy.com/kosmoy-studio/integrations Learn how to create, update, and remove integrations with third-party providers in Kosmoy Studio, understanding the difference between single-service and multi-service providers. # Working with Integrations Integrations are crucial to the Kosmoy platform, as they connect Kosmoy Studio to external providers, enabling you to leverage their services within your applications. **Specifically, integrations allow you to register models from third-party providers (such as OpenAI, Google, or AWS), register communication channels (such as WhatsApp via Twilio), configure access to object storage services (Such as Amazon S3, Azure Blob Storage or Google Cloud Storage), and more.** This section guides you through creating, updating, and removing integrations, with a focus on the different types of providers and their specific handling. ## Provider Types: Single-Service vs. Multi-Service It's important to understand that providers can be categorized as either **single-service** or **multi-service**: * **Single-Service Providers:** These providers offer a single core service. Examples include OpenAI, Anthropic, and Twilio. When you create an integration with a single-service provider, the integration is directly tied to that specific service. * **Multi-Service Providers:** These providers offer multiple distinct services. Examples include AWS, Azure, and Google. When you create an integration with a multi-service provider, you can selectively enable or disable individual services within that integration. This distinction is crucial for understanding the editing and deletion rules for integrations. ## Creating an Integration 1. **Navigate to Integrations:** From the Kosmoy Studio home page, click on the **"Integrations"** menu in the left-hand navigation bar. 2. **Add a New Integration:** Click the **"+ ADD"** button located in the upper right corner of the Integrations section. 3. **Select a Provider:** In the "Add Integration" workflow, choose a provider from the dropdown menu. Supported providers include: * OpenAI * Google * Azure * Twilio * Anthropic * AWS * OpenRouter 4. **Provide Credentials:** Enter the required credentials for the selected provider. This typically includes API keys, but some providers may require additional parameters. * **Note:** For multi-service providers like **AWS, Azure, and Google**, you will also need to select the specific services you want to enable access to (e.g., S3 and Amazon Bedrock for AWS). Each service will have a dedicated panel with a toggle to turn it on or off, as well as fields for service-specific parameters. {/* */} 5. **Click "Next":** Proceed to the next step. 6. **Name and Describe the Integration:** Give your integration a unique name and an optional description. 7. **Click "Review":** Review the integration details. 8. **Click "Create":** Create the integration. ## Integration Cards The Integrations section displays each created integration as a card. Each card shows: * **Provider Logo:** The logo of the integrated provider is displayed in the upper left-hand corner. * **Integration Name:** The name you assigned to the integration. * **Description:** The description you provided for the integration. * **Edit Icon (Pencil):** Click this icon to update the integration. * **Delete Icon (Trash Bin):** Click this icon to remove the integration. ## Editing an Integration The editing rules for an integration depend on whether it's associated with a single-service or multi-service provider: ### Single-Service Providers **You cannot edit an integration with a single-service provider if it is currently referenced by any other entity within Kosmoy Studio** (e.g., Models, Communication Channels, Data Sources). You will be prevented from making changes, and a warning banner will be displayed at the top of the screen if you attempt to edit an in-use integration. ### Multi-Service Providers For multi-service providers, you can **edit parameters or enable/disable services that are not currently in use**. * **Editing Parameters:** You can freely modify the parameters of any service that is **not currently in use**. * **Enabling/Disabling Services:** You can enable new services or disable services that are **not currently in use**. * **In-Use Services:** You **cannot** edit parameters or disable services that are currently referenced by other entities. A warning banner will be displayed at the top of the panel for each in-use service, indicating that it cannot be modified. **To edit an integration:** 1. **Navigate to Integrations:** From the Kosmoy Studio home page, click on the **"Integrations"** icon in the left-hand navigation bar. 2. **Locate the Integration Card:** Find the card for the integration you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Parameters (if allowed):** * For single-service providers, you can only modify the name and description if the integration is not in use. * For multi-service providers, you can modify parameters or enable/disable services that are not in use. 5. **Click "Save":** Save the changes. **Note:** If you need to update service-specific parameters of services that are currently in use, you must first ensure that no model or other component is referencing that service. ## Removing an Integration The deletion rules for an integration also depend on whether it's associated with a single-service or multi-service provider: ### Single-Service Providers **You cannot delete an integration with a single-service provider if it is currently referenced by any other entity within Kosmoy Studio.** A modal will appear, preventing the deletion and explaining that the integration is in use if you attempt to delete an in-use integration. ### Multi-Service Providers You can only delete a multi-service provider integration if **none** of its services are in use. If any service is currently in use, you cannot delete the integration. A modal will appear, preventing the deletion and explaining that the integration is in use if you attempt to delete an in-use integration. **To remove an integration:** 1. **Navigate to Integrations:** From the Kosmoy Studio home page, click on the **"Integrations"** icon in the left-hand navigation bar. 2. **Locate the Integration Card:** Find the card for the integration you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. 4. **Confirm Deletion:** Confirm that you want to delete the integration. **Warning:** Deleting an integration is a permanent action and cannot be undone. Ensure that the integration is not in use (or, for multi-service providers, that none of its services are in use) before proceeding. # Introduction to Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/introduction Discover the powerful features of Kosmoy Studio, your central hub for building, managing, and deploying enterprise-grade generative AI applications. # Exploring the Kosmoy Studio Welcome to **Kosmoy Studio**, the heart of the Kosmoy platform and your all-in-one environment for creating and managing sophisticated generative AI solutions. Designed for both technical and non-technical users, Kosmoy Studio provides the tools and infrastructure you need to harness the power of AI while maintaining complete control and oversight. **What can you do with Kosmoy Studio?** Kosmoy Studio empowers you to: * **Seamlessly Integrate with Leading AI Providers:** Connect to top-tier AI providers like OpenAI, Google Cloud, Microsoft Azure, and AWS, unlocking access to a vast library of cutting-edge large language models (LLMs) and other AI services. * **Register and Manage Models:** Easily register and manage models from your integrated providers, making them readily available for use within the Studio. * **Build Intelligent Routers:** Create custom routing strategies, including failover and load-balancing mechanisms, to ensure optimal performance and resilience for your AI applications. * **Implement Robust Guardrails:** Define and enforce global and model-specific guardrails to ensure responsible AI usage, mitigate risks, and maintain content safety. Leverage built-in guardrails for toxic language detection, prompt injection prevention, hallucination mitigation, and PII protection. * **Assemble and Deploy Powerful Assistants:** Design and deploy AI assistants tailored to your specific needs, leveraging pre-built templates or creating your own from scratch. Connect your assistants to your data sources through Data Channels to enable advanced capabilities like Retrieval Augmented Generation (RAG). * **Manage the Entire AI Lifecycle:** From initial integration and model registration to assistant creation, testing, deployment, and monitoring, Kosmoy Studio provides a centralized platform for managing the complete lifecycle of your AI applications. * **Govern and Secure Your AI:** Utilize the **Kosmoy Gateway** to control which models and routers your applications can access, ensuring that your AI solutions adhere to your organization's policies and security standards. * **Monitor and Optimize:** Gain valuable insights into your AI applications' performance through the comprehensive **Insights** section, allowing you to track usage, costs, errors, and identify areas for optimization. * **Register and Manage Coded Apps:** Integrate your existing Python-based chatbots and other code artifacts, enabling them to leverage the models, routers, and guardrails configured in the Studio via the Kosmoy SDK. **Key Features and Benefits:** * **User-Friendly Interface:** Kosmoy Studio's intuitive interface makes it easy to navigate and manage your AI projects, regardless of your technical expertise. * **Powerful Governance:** The Kosmoy Gateway provides unparalleled control over your AI deployments, ensuring responsible and secure usage. * **Enhanced Data Integration:** Connect your AI assistants to your data sources through Data Channels, enabling more context-aware and data-driven interactions. * **Streamlined Workflow:** Manage the entire AI application lifecycle from a single, unified platform. * **Comprehensive Monitoring:** Gain real-time insights into your AI applications' performance and identify areas for improvement. **Who is Kosmoy Studio for?** Kosmoy Studio is designed for a wide range of users, including: * **AI Engineers:** Build and deploy sophisticated AI assistants and applications. * **Data Scientists:** Integrate and manage data sources, create custom routers, and leverage advanced techniques like RAG. * **AI Managers:** Oversee the entire AI lifecycle, enforce governance policies, and monitor performance. * **Business Users:** Deploy and utilize pre-built AI assistants to enhance productivity and streamline workflows. **Ready to explore the power of Kosmoy Studio?** Dive into the following sections to learn more about each feature and start building your next-generation AI solutions. # Models Source: https://docs.kosmoy.com/kosmoy-studio/models Learn how to register and manage models from integrated providers within Kosmoy Studio. # Working with Models The **Models** section of Kosmoy Studio is where you register and manage models from your integrated providers. This section provides a centralized repository of all your available models, allowing you to easily use them when building Assistants, configuring Gateways, defining Router logic, or applying Guardrails. ## Prerequisites Before you can register a model from a third-party provider (e.g., OpenAI, Cohere, Anthropic, MistralAI, xAI, Google Cloud, Microsoft Azure, Amazon, OpenRouter), you must have a corresponding integration already enabled. See the **[Managing Integrations](/kosmoy-studio/integrations)** section for more details. ## Registering a Model To register a model, follow these steps: 1. **Navigate to Models:** From the Kosmoy Studio home page, click on the **"Models"** menu in the left-hand navigation bar. 2. **Add a New Model:** Click the **"+ ADD"** button located in the upper right corner of the Models section. 3. **Define Model Type:** Select the type of model you want to register (e.g., LLM). 4. **Choose Provider and Integration:** Select the provider (e.g., OpenAI, Google, Azure) and then choose the relevant integration from the dropdown. **This integration must be active for the provider whose model you want to register.** 5. **Select Model Version:** Choose the specific model version you want to register (e.g., GPT-4o, Gemini Pro). The available options will depend on the selected provider and integration. 6. **Click "Next":** Proceed to the next step. 7. **Name and Describe the Model:** Give your model a unique name and an optional description. This will help you identify the model later. 8. **Click "Review":** Review the model details. 9. **Click "Create":** Register the model. ## Model Cards The Models section displays each registered model as a card. Each card shows: * **Model Icon:** An icon representing the model type. * **Model Name:** The name you assigned to the model. * **Description:** The description you provided for the model. * **Edit Icon (Pencil):** Click this icon to update the model's name or description (only if the model is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the model (only if the model is not in use). ## Model Usage Restrictions **You cannot edit or delete a model if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Assistants** * **Routers** * **Gateways** * **Guardrails** * **Vector Pipelines** * **Coded Apps** * **Any other Kosmoy Studio component that references models.** **Before attempting to edit or delete a model, ensure it is not actively used in any of these areas. You may need to modify or remove the model from those components first.** ## Updating a Model You can update the name and description of a registered model, **provided it is not currently referenced** by any other component. 1. **Navigate to Models:** From the Kosmoy Studio home page, click on the **"Models"** icon in the left-hand navigation bar. 2. **Locate the Model Card:** Find the card for the model you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Name and/or Description:** Update the model's name and/or description as needed. 5. **Click "Save":** Save the changes. **Note:** You cannot update the model's provider, integration, or version after it has been registered. **If you attempt to edit a model that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Model You can remove a registered model if it's no longer needed. **However, you cannot delete a model that is currently referenced by any other component.** 1. **Navigate to Models:** From the Kosmoy Studio home page, click on the **"Models"** icon in the left-hand navigation bar. 2. **Locate the Model Card:** Find the card for the model you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a model that is currently in use, a modal will appear, preventing the deletion and explaining that the model is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the model. **Warning:** Deleting a model is a permanent action and cannot be undone. Ensure that the model is not being referenced by any other component before proceeding. # Assistant Tests Source: https://docs.kosmoy.com/kosmoy-studio/quality-assurance/assistant-tests Learn how to create, manage, and utilize Assistant Tests to ensure the quality of your AI Assistants. # Working with Assistant Tests The **Assistant Tests** section within Quality Assurance provides the tools you need to thoroughly test and refine your AI Assistants before deployment. It's an essential step in ensuring that your Assistants meet the highest standards of quality, performance, and user experience. ## Key Features of Assistant Tests * **Create Test Sessions:** Initiate new testing sessions for your Assistants, providing a unique name and description for each session. * **Select Assistant:** Choose the specific Assistant you want to test from your available Assistants. * **Interactive Chat:** Engage in real-time conversations with your Assistant within a dedicated chat interface. * **Detailed Session Information:** Access relevant details about the Assistant being tested, including its configuration parameters. * **Prompt, Model, and Parameters Tabs:** Navigate through dedicated tabs to inspect and adjust the Assistant's prompt, model selection, and other parameters during the testing session. * **Iterative Refinement:** Use your findings from the testing session to refine your Assistant's prompt, adjust its model selection, or modify other parameters to optimize its performance and ensure it meets your requirements. ## Creating an Assistant Test Session 1. **Navigate to Assistant Tests:** From the Kosmoy Studio home page, click on the **"Quality Assurance"** menu in the left-hand navigation bar, then select **"Assistant Tests"**. 2. **Add a New Test Session:** Click the **"+ ADD"** button located in the upper right corner of the Assistant Tests section. 3. **Select Assistant:** Choose the Assistant you want to test from the dropdown menu. 4. **Name and Describe the Test Session:** Give your test session a unique name and an optional description. 5. **Click "Review":** Review the test session details (selected Assistant, name, and description). 6. **Click "Create":** Create the Assistant Test session. You will be automatically redirected to the **Assistant Test Page**. ## Assistant Test Cards The Assistant Tests section displays each created test session as a card. Each card shows: * **Test Session Name:** The name you assigned to the test session. * **Description:** The description you provided for the test session. * **Assistant Name**: The name of the assistant being tested. * **Edit Icon (Pencil):** Click this icon to update the test session's name or description. * **Delete Icon (Trash Bin):** Click this icon to remove the test session. ## Managing Assistant Test Sessions ### Updating an Assistant Test Session You can update the name and description of an Assistant Test session. 1. **Navigate to Assistant Tests:** Go to **"Quality Assurance"** > **"Assistant Tests"**. 2. **Locate the Assistant Test Card:** Find the card for the Assistant Test session you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Name and/or Description:** Update the session's name and/or description as needed. 5. **Click "Save":** Save the changes. ### Removing an Assistant Test Session You can remove an Assistant Test session if it's no longer needed. 1. **Navigate to Assistant Tests:** Go to **"Quality Assurance"** > **"Assistant Tests"**. 2. **Locate the Assistant Test Card:** Find the card for the Assistant Test session you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. 4. **Confirm Deletion:** Confirm that you want to delete the test session. **Warning:** Deleting an Assistant Test session is a permanent action and cannot be undone. ## Assistant Test Page The **Assistant Test Page** provides a dedicated environment for interacting with and evaluating your AI Assistant. **Upon creation of an Assistant Test, you are automatically redirected to the Assistant Test Page.** **Key Elements:** * **Test Session Name:** The name of the current test session, displayed at the top of the page. * **Description:** The description of the current test session. * **Assistant Details:** Relevant information about the Assistant being tested, such as its configuration parameters. * **Chat Tab:** The primary interface for interacting with your Assistant. Engage in real-time conversations to assess its responses and behavior. * **Prompt Tab:** Inspect and modify the Assistant's prompt during the testing session to fine-tune its responses. * **Model Tab:** View and adjust the model selection for the Assistant during the testing session. * **Parameters Tab:** Review and modify other parameters of the Assistant during the testing session. * **"Back" button:** Returns the user to the Assistant Tests collection page. **Using the Assistant Test Page:** The Assistant Test Page allows for iterative refinement of your Assistant. Chat with your Assistant, analyze its responses, and make adjustments to its prompt, model, or other parameters as needed. This iterative process helps you optimize your Assistant's performance before deployment. # Quality Assurance in Kosmoy Studio Source: https://docs.kosmoy.com/kosmoy-studio/quality-assurance/introduction Ensure the quality and performance of your AI applications with Kosmoy Studio's Quality Assurance tools. # Quality Assurance The **Quality Assurance** section of Kosmoy Studio provides the tools you need to thoroughly test and refine your AI applications before deployment. It's an essential step in ensuring that your applications meet the highest standards of quality, performance, and user experience. **Current Capabilities: Assistant Testing** Currently, the Quality Assurance section focuses on testing **AI Assistants** through dedicated **Assistant Tests**. These testing sessions provide a controlled environment where you can: * **Create Test Sessions:** Initiate new testing sessions specifically for your Assistants. * **Interact and Evaluate:** Engage in real-time conversations with your Assistant and evaluate its responses. * **Inspect Configuration:** Access relevant details about the Assistant, including its prompt, model selection, and other parameters. * **Iteratively Refine:** Use your findings from the testing session to refine your Assistant's configuration and optimize its performance. * **Dedicated Tabs:** Navigate through dedicated tabs (Chat, Prompt, Models, Language) to inspect and adjust different aspects of your Assistant during testing. **Future Enhancements: Coded App Testing** The Quality Assurance section will be expanded to include testing capabilities for **Coded Apps**, providing a comprehensive suite of tools for ensuring the quality of *all* your AI deployments within Kosmoy. **In this section, you will learn how to:** * Navigate the Quality Assurance section. * Create and manage Assistant Tests for your AI Assistants. * Effectively utilize testing sessions to refine and optimize your Assistants. By incorporating rigorous testing into your development workflow, you can ensure that your AI applications are reliable, performant, and deliver a superior user experience. # Routers Source: https://docs.kosmoy.com/kosmoy-studio/routers Learn how to create, manage, and utilize routers to define intelligent routing logic for your AI applications. # Working with Routers Routers are a powerful feature in Kosmoy Studio that allow you to define how requests are routed to different models. This enables you to create sophisticated routing strategies, such as failover mechanisms and load balancing (future feature), to enhance the reliability and performance of your AI applications. ## Router Concepts Kosmoy Studio currently supports the following router type: * **Failover Router:** This router type defines a primary model and a secondary model. If the primary model fails to respond, the router automatically routes the request to the secondary model. **Future Router Types:** * **Load Balancing Router (Coming Soon):** This router type will distribute requests across multiple models based on a defined algorithm (e.g., round-robin, weighted round-robin), optimizing resource utilization and improving response times. ## Creating a Router To create a router in Kosmoy Studio, follow these general steps. Note that the specific configuration options will vary depending on the chosen router type: 1. **Navigate to Routers:** From the Kosmoy Studio home page, click on the **"Routers"** menu in the left-hand navigation bar. 2. **Add a New Router:** Click the **"+ ADD"** button located in the upper right corner of the Routers section. 3. **Select Router Type:** Choose the desired router type from the dropdown menu. 4. **Configure Router:** Follow the specific configuration steps for the selected router type, as detailed in the subsections below. 5. **Name and Describe the Router:** Give your router a unique name and an optional description. This will help you identify it later. 6. **Review and Create:** Review the router configuration and click **"Create"** to create the router. ## Router Creation Workflows ### Creating a Failover Router 1. **Select Router Type:** Choose "Failover" from the router type dropdown. 2. **Configure Router:** * **Primary Model:** Select the primary model for this router. * **Secondary Model:** Select the secondary model (fallback) for this router. * **Default Error Response Message:** Define a custom error message to be returned if both the primary and secondary models fail. 3. **Name and Describe:** Give your router a unique name and an optional description. 4. **Review and Create:** Review the configuration and click **"Create"**. ### Creating a Load Balancing Router (Future Feature) **Note:** The Load Balancing router is a future feature. The steps below are a conceptual outline. 1. **Select Router Type:** Choose "Load Balancing" from the router type dropdown. 2. **Configure Router:** * **Models:** Select the models that will participate in load balancing. * **Algorithm:** Choose the load balancing algorithm (e.g., round-robin, weighted round-robin). * **Weights (if applicable):** Assign weights to each model to define their relative share of the load. 3. **Name and Describe:** Give your router a unique name and an optional description. 4. **Review and Create:** Review the configuration and click **"Create"**. ## Router Cards The Routers section displays each created router as a card. Each card shows: * **Router Icon:** An icon representing the router type (e.g., Failover). * **Router Name:** The name you assigned to the router. * **Description:** The description you provided for the router. * **Edit Icon (Pencil):** Click this icon to update the router's configuration, name, or description (only if the router is not in use). * **Delete Icon (Trash Bin):** Click this icon to remove the router (only if the router is not in use). ## Router Usage Restrictions **You cannot edit or delete a router if it is currently referenced by other entities within Kosmoy Studio. This includes being used in:** * **Gateways** * **Any other Kosmoy Studio component that references routers.** **Before attempting to edit or delete a router, ensure it is not actively used in any of these areas. You may need to modify or remove the router from those components first.** ## Updating a Router You can update the configuration of a registered router, including its name, description, and parameters, **provided it is not currently referenced** by any other component. 1. **Navigate to Routers:** From the Kosmoy Studio home page, click on the **"Routers"** icon in the left-hand navigation bar. 2. **Locate the Router Card:** Find the card for the router you want to update. 3. **Click the Edit (Pencil) Icon:** This will open the update dialog. 4. **Modify Router Parameters:** Update the router's configuration as needed. This may include changing the primary/secondary models for a Failover router, or the model list/algorithm for a Load Balancing router, in addition to its name and description. 5. **Click "Save":** Save the changes. **If you attempt to edit a router that is currently in use, a warning banner will be displayed at the top of the screen, preventing the modification.** ## Removing a Router You can remove a registered router if it's no longer needed. **However, you cannot delete a router that is currently referenced by any other component.** 1. **Navigate to Routers:** From the Kosmoy Studio home page, click on the **"Routers"** icon in the left-hand navigation bar. 2. **Locate the Router Card:** Find the card for the router you want to remove. 3. **Click the Delete (Trash Bin) Icon:** This will trigger a confirmation prompt. **If you attempt to delete a router that is currently in use, a modal will appear, preventing the deletion and explaining that the router is in use.** 4. **Confirm Deletion:** Confirm that you want to delete the router. **Warning:** Deleting a router is a permanent action and cannot be undone. Ensure that the router is not being referenced by any other component before proceeding. ## Using Routers Routers are used in other parts of Kosmoy Studio to define the logic for routing requests to different models. For example, when creating a Gateway, you can select a Router to handle requests directed to that Gateway. **Note:** Although routers are not directly used in Assistants or Coded Apps, they are indirectly utilized through Gateways, which can be associated with Assistants and Coded Apps. # Settings Source: https://docs.kosmoy.com/kosmoy-studio/settings Learn how to manage your account settings, organization settings, and user permissions within Kosmoy Studio. # Configuring Settings Kosmoy Studio provides comprehensive settings to manage your account, organization, and users. This section explains how to access and use these settings. ## Accessing Settings 1. **Click on your Profile Icon:** Locate your profile icon in the top right corner of the Kosmoy Studio interface. 2. **Click "Settings":** In the dropdown menu, click the **"Settings"** button. ## Account Settings The **Account Settings** section allows you to manage your personal account details, including password and security settings. ### Security #### Changing Your Password 1. **Navigate to "Account Settings" and then "Security":** 2. **Enter Current Password:** Enter your current password in the designated field. 3. **Enter New Password:** Enter your desired new password. Ensure it meets the displayed complexity requirements. 4. **Confirm New Password:** Re-enter your new password for confirmation. 5. **Click "Save":** Save the changes. A toast notification will confirm that your password has been updated successfully. **Note:** If you enter an incorrect current password or if the new password doesn't meet the requirements, an error message will be displayed in red near the relevant field. #### Enabling Two-Factor Authentication (2FA) Enhance your account security by enabling 2FA using an authenticator app: 1. **Navigate to "Account Settings" and then "Security":** 2. **Locate the 2FA Section:** Find the section for Two-Factor Authentication. 3. **Enable 2FA:** Click the button or toggle to enable 2FA. 4. **Choose Authentication Method:** Select either scanning a QR code or manually entering a code. 5. **Follow the On-Screen Instructions:** * **Scan QR Code:** Use your authenticator app (e.g., Google Authenticator, Authy, Microsoft Authenticator) to scan the displayed QR code. * **Manual Entry:** Enter the provided code into your authenticator app. 6. **Enter Verification Code:** Enter the code generated by your authenticator app into the Kosmoy Studio interface. 7. **Confirm:** Complete the 2FA setup. **Note:** Recovery codes will be available in the future to regain access if you lose your authenticator app. #### Disabling 2FA 1. **Navigate to "Account Settings" and then "Security":** 2. **Locate the 2FA Section:** 3. **Disable 2FA:** Click the button or toggle to disable 2FA. ## Organization Settings (Root and Admin Users Only) The **Organization Settings** section is only accessible to **Root** and **Admin** users. It allows you to manage organization-level settings and users. **Note:** A visual indicator will be added in the future to clearly show that this section is restricted to Root and Admin users. ### General The **General** subsection displays information about your organization (tenant): * **Organization ID:** A unique identifier for your organization. * **Organization Name:** The name of your organization. (Cannot be edited after tenant creation). * **Owner Account:** The email address of the Root User (tenant owner). **Tenant Deletion:** To delete your tenant, please contact support at [support@kosmoy.com](mailto:support@kosmoy.com). ### Users Directory The **Users Directory** section contains the **Users** subsection, where you can manage users within your organization. #### Users The **Users** subsection allows you to view and manage all users within your tenant. ##### User Cards Each user is represented by a card that displays: * **Full Name:** The user's full name. * **Description:** The user's role or any other relevant information. ##### Inviting Users * **Root Users:** Can invite **Admin**, **Studio Developer**, and **Chat** users. * **Admin Users:** Can invite **Studio Developer** and **Chat** users. To invite a new user: 1. **Click the "Invite User" button:** 2. **Enter Email Address:** Provide the email address of the user you want to invite. 3. **Select Role:** Choose the appropriate role from the dropdown menu. 4. **Send Invitation:** Click the button to send the invitation email. ##### Editing User Properties **Root** and **Admin** users can edit certain properties of existing users. 1. **Locate the User Card:** Find the card for the user you want to edit. 2. **Click the Edit (Pencil) Icon:** 3. **Modify User Properties:** You can update the user's **name** and **role**. * **Note:** Admin users can only promote a Chat User to a Studio Developer or demote a Studio Developer to a Chat User. 4. **Save Changes:** Click the "Save" button to apply the changes. ##### Deleting Users **Root** and **Admin** users can delete other users from the tenant. **Warning:** Deleting a user is a permanent action. While the user's data will be removed, associated data will be kept for compliance purposes. 1. **Locate the User Card:** Find the card for the user you want to delete. 2. **Click the Delete (Trash Bin) Icon:** 3. **Confirm Deletion:** Confirm that you want to delete the user. **Note:** Users cannot delete themselves. This section provides a comprehensive guide to managing settings within Kosmoy Studio. # User Roles and Permissions Source: https://docs.kosmoy.com/user-roles-and-permissions Understand the different user roles within the Kosmoy platform and their respective permissions. # User Roles and Permissions Kosmoy offers a tiered system of user roles, each with specific permissions within the Kosmoy Studio and Kosmoy Chat. This ensures that users have appropriate access to the platform's features and functionalities based on their responsibilities. ## Role Hierarchy The Kosmoy platform follows a hierarchical structure for user roles: **Root User (Tenant Owner) > Admin User > Studio User > Chat User** This hierarchy defines the level of access and control each role has within the platform. ## Role Definitions ### Root User The **Root User** is the owner of the Kosmoy tenant and has the highest level of access. They have full control over the Kosmoy Studio and can manage all aspects of the platform, including: * **User Management:** * Invite Admin, Studio, and Chat Users to the platform. * Manage all existing users within the tenant. * **Organization Settings:** * Access and modify all organization settings. * Initiate tenant deletion if needed (by contacting support). * **Kosmoy Studio Access:** * Full access to all Kosmoy Studio features and functionalities, including integrations, data management, model management, router management, guardrail management, gateway management, assistant management, coded app management, and insights. * **Kosmoy Chat Customization:** * Customize the Kosmoy Chat appearance (e.g., company logo) and define terms and conditions and disclaimer messages. ### Admin User The **Admin User** has extensive permissions within the Kosmoy Studio and can manage most aspects of the platform, including: * **User Management:** * Invite Studio and Chat Users to the platform. * Manage all existing Studio and Chat users within the tenant. * **Organization Settings:** * Access and modify organization settings. * **Kosmoy Studio Access:** * Full access to all Kosmoy Studio features and functionalities, including integrations, data management, model management, router management, guardrail management, gateway management, assistant management, coded app management, and insights. ### Studio User The **Studio User** is primarily responsible for building and managing AI solutions within the Kosmoy Studio. They have extensive access to the Studio's features, including: * **Kosmoy Studio Access:** * Full access to all Kosmoy Studio features and functionalities, including integrations, data management, model management, router management, guardrail management, gateway management, assistant management, coded app management, and insights. * *Note:* In the future, more granular control over Studio User permissions will be implemented. ### Chat User (Client User) The **Chat User**, also referred to as the **Client User**, interacts solely with the Kosmoy Chat application. Their permissions are limited to: * **Kosmoy Chat Access:** * Log in to the Kosmoy Chat application. * Interact with AI assistants assigned to them. * **Personalization:** * Change their password. * Accept terms and conditions. * Enable/disable Two-Factor Authentication (2FA). This comprehensive breakdown of user roles and permissions should help users understand their access levels and responsibilities within the Kosmoy platform.