jupyter-naas / site Goto Github PK
View Code? Open in Web Editor NEWNaas Official Documentation. Contact us for more information about our early beta: [email protected]
Home Page: https://docs.naas.ai
Naas Official Documentation. Contact us for more information about our early beta: [email protected]
Home Page: https://docs.naas.ai
Get started
button on hover the text vanishes.<h1>
tag in all the docs pages is not rendered properly as per required.Currently the docs/core-components/jobs/pipeline
is producing the build error.
No response
No response
No response
TDB
No response
Current state:
<img width="1678" alt="Screenshot 2023-05-03 at 10 11 47" src="https://user-images.githubuser
content.com/21052349/235863760-6eae0e11-ebb1-4e04-bd76-a6848faf9fa0.png">
Following Figma design it seems we have Monserrat for headings and Roboto for other stuff:
https://www.figma.com/file/9ADwSAxVu9xDUz5ajlZnWV/Naas-V2---Design?type=design&node-id=218-477&t=kCM1khC0AaagjcuZ-0
Update platform section with up to date information.
No response
No response
We will do the yearly billing only when the beta is out.
Basic: Leverage pre-designed templates as plugins within the myChatGPT platform to facilitate dialogue with a collection of AI models, each designed and pre-prompted for distinct use cases. These interactions emulate the role of the models in the given scenarios.
Intermediate: Employ templates as adjustable logical frameworks to establish a myChatGPT plugin, a feature that lets you directly engage with data. The customization capabilities of these templates offer the flexibility to cater to specific requirements and data formats.
Advanced: Adapt templates to function as integral parts of data products, providing a foundation for constructing comprehensive data interfaces such as dashboards and APIs, and further extending into the creation of sophisticated myChatGPT plugins. This advanced use of templates not only optimizes data visualization and accessibility but also enhances the overall user experience with custom plugins.
The goal is to check how we can implement Algolia search in Docusaurus and if it's possible to link to with naas search.
No response
https://site.naas.ai/blog/ has improper text alignment
No response
No response
The purpose of this website is to serve as a landing page for my company, display pricing information, redirect users to the sign-up page on "workspace.naas.ai/login", host documentation, and provide a blog for the company.
Update templates section
No response
No response
Add intro page to driver
No response
No response
A site ready for prime time here: https://www.figma.com/file/9ADwSAxVu9xDUz5ajlZnWV/Naas-V2---Design?type=design&node-id=2210-5090&mode=design&t=bZLQ4QDvuWJt5SYC-4
We should reuse the code base in "prerelease-alpha" and integrate it into this new branch.
Describe the dev env
No response
No response
The current space doc page is actually the initial specs that we wanted to do. Now that the service is up let's update the docs with the following:
No response
No response
Revamp these section
to be more like https://www.recko.io/automate-reconciliation-operations/
No response
These links in the dropdown seem to be broken except the Blog.
No response
No response
No response
Update the get started section with up to date information.
No response
No response
To be able to offer the lowest prices as possible for our customers we need to have a good tracking mechanism of what our users are consuming.
Today, multiple products are directly leveraging credits.naas.ai as soon as the consumption is happening. For example, when a user is interacting with a chat on workspace.naas.ai, as soon as we get back the completion from an LLM, we create a transaction that will then be stored in credits.naas.ai.
Handling that at the API level is fine for now, but in the future it would be better that those APIs just send the consumption event to a Kafka topic for example and then a consumer would take those events, link the resources consumed to a price sheet which can be generic or specific to the customer and then create and store the transaction. It would be easier to apply modification on pricing as the computation would happen in a consumer and won't be spread across multiple services.
With the new development, we are going to start deploying Cloud Provider resources:
registry
api will for example create some ECR repository, that the user will have to pay for.****space
api will create Knative serving deployment, that will in turn deploy some containers in the Kubernetes cluster when some traffic is incoming.To properly answer the need of following user consumption, we need to define every aspect of a user consumption.
First we have the "Credit", it's a value that can be bought using real world money. It's associated a price conversion to it so we can defined its price per dolars (or euros, etc...)
Users will buy credits through subscriptions that will then allow them to use our different services and features.
When reaching 0 credits, the user should not be allowed to consume anymore. At that point it should be possible for the user to have a way to buy more credits, either by changing subscription type, or any other available mean.
At naas we have and will have multiple services, some are free, other are paid. Each service will consume different types of resources.
Space/Schedulers/Pipelines/Webhook will consume over time:
Registry will consume:
Notification will consume per request:
Naas Chat will consume per message:
Naas Storage will consume over time:
For each service we need to have a price conversion allowing us to know, based on the consumption data (CPU/Memory/Bandwith/GPU/Storage/Email/LLM Tokens/...) how much credits should be billed to the user.
We have the need to have a standard pricing table, but we also need to be able to have user/organization specific pricing table as we may have different deals.
So it's important to be able to link a user_id to a sspecific service credit rate.
So now that we defined the existence of services, credits and prices (credits / service) and users (credits / service / user), we must define a way to effectively create transactions based on user usage of the platform.
The complexity that we are faicing is that we want our platform to be deployable on multiple Clouds providers or even on premises, but also, each service that we are building may rely on multiple third parties technologies.
For exemple, Space/Schedulers/Pipelines/Webhook relies on Kubernetes, which is great because it's cloud agnostic. And we saw that those services will consume overtime:
But that's not all, 1vCPU on an intel Celeron or 1vCPU on an high end Xeon processor is not the same amount of CPU power, it goes the same for the memory, and the GPU. All of those are tied to a "machine type" which need to be know as well to be able to compute the right credits consumption.
To do that we need to emit "event" when the user is using paid services. On Kubernetes for example we can look for pod creations, what services it's coming from, what are the allocated resources, on which instance it's running and we need to send an event to a backend when we see that.
The event in itself won't be sufficient to know what is the real user consumption, indeed, in the case of the lifecycle of a container, it will be:
So in fact, we need to know the sequence of event to be able to compute the right credits consumption.
For Naas Chat it's simpler because it's transactionnal:
It's also easy for Naas Notifications, where we know the price of an email so it's easy to track.
For Naas Reigstry it's more complex as we need to know when a registry is created, follow the size it takes, look for security scans, bill accordingly the user during the month. The registry today relies on AWS ECR
but as we said earlier, we might need to handle different Container Registry provider based on the selected cloud provider.
For this we might need to emit events when something happens in the cloud provider. We might want, for AWS, to listen for Cloudtrail events, but it might not be sufficient, as we need to emit periodic event to know the state of the registry (size, etc).
The consumption will be triggered when a sequence of event reaches a state where we have a way to actually convert the event into a transaction.
For Space/Schedulers/Pipelines/Webhook we can do that when we have:
At that time we will be able to store that actual consumption so the transaction will be able to be computed.
Listening on the consumptions, we will then be able to get user prices and create the approriate transactions in credits.naas.ai api.
The first need for us will be to monitor consumption in Kubernetes, indeed this is our primary source of user consumption (space, scheduler, lab).
I think that we should have a tool running in the cluster and watching for Kubernetes API events.
The role of this software would be to:
Consumption in EKS should be measured based on time
+ kind of resources
+ amount of that resource
+ price
. The kind of resources that we should monitor are:
Being also aware of the type of instance on which the resource was deployed could be interesting, at some point we will definitely want to know what was over provisioned in our infrastructure to allow us to serve our customer as this will be a source of cost optimization.
For cloud provider monitoring, I think that it depends on the cloud provider, but we need to be able to link a resource to a user and watch for that resource periodically.
For resources that will be only be deleted through our API, these APIs can be responsible to store and update the required information. If at some point we have resources that can be removed automatically via the cloud provider, then we need to monitor what is happening as well on the APIs of the cloud provider. For example, with AWS, we could use AWS Cloudtrail to monitor creation/update/deletion of some resources that we know could be removed by the provider directly.
⚠️ To be continued.
We need to define a data format to store what is a resources, its link to a user and also its different states.
⚠️ To be continued.
Objective: explain how we see the integration with Nebari and our Terragrunt approach for multi-cluster deployment.
Google slides TBD
Combine the work done on this notion page with the current page:
The idea is to have on page that enables everyone to understand how to develop a data product.
That's why we need to rename first the page to "Data Product Development"
Then, shoot loom videos on each of the following subjects:
https://www.notion.so/Naas-Lab-74eaf70c2fa14109bfc5a023353cb091
No response
We should have videos on the page for each subject.
On Naas Lab, the server will be automatically shut down for Free users after 72 hours if there are active jobs running, or after 1 hour of inactivity if no jobs are detected.
Lets revamp this section
to look more like. https://www.intercom.com/
The logo's will be moving and its a loop giving an illusion of never ending brand list. More references: https://www.chatfood.io/
following what's already done in CI/CD by @Dr0p42 where at each update of the repo, we want the docs to get updated, we would like to migrate that system here in: /docs/category/templates where each folder is a tool and each notebook is a markdown page
@srini047 do you think you can try to reuse what @Dr0p42 has done?
The current home screen is not well aligned in mobile screens.
The text should alignment and sizes must be fixed in smaller devices. Improve padding and spacing between items
No response
No response
https://site.naas.ai should be ready for communication to contributors
We are basically missing:
No response
No response
No response
No response
Right now the font do not look right. We need to come back to the original Docusaurus.
No response
The idea is to integrate the current docs page with the v2 vision in mind.
go to yearly, should go monthly
No response
We want to have a section on the left with:
same color as the body of the website
on the right we want :
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.