diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd98dc42..9c8bd2dc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -## Contributing to OPEA +# Contributing to OPEA Welcome to the OPEA open-source community! We are thrilled to have you here and excited about the potential contributions you can bring to the OPEA platform. Whether you are fixing bugs, adding new GenAI components, improving documentation, or sharing your unique use cases, your contributions are invaluable. @@ -8,7 +8,7 @@ Please check the [Contributing guidelines](https://github.com/opea-project/docs/ Thank you for being a part of this journey. We can't wait to see what we can achieve together! -## Additional Content +# Additional Content - [Code of Conduct](https://github.com/opea-project/docs/tree/main/community/CODE_OF_CONDUCT.md) - [Security Policy](https://github.com/opea-project/docs/tree/main/community/SECURITY.md) \ No newline at end of file diff --git a/getting-started/README.md b/getting-started/README.md index 4d9a8e6f..9d115caa 100644 --- a/getting-started/README.md +++ b/getting-started/README.md @@ -14,80 +14,84 @@ Before moving forward, it's important to familiarize yourself with two key eleme ## Create and Configure a Virtual Server -::::{tab-set} :sync-group: cloudserviceproviders -:::{tab-item} AWS :sync: aws +::::{tab-set} +:::{tab-item} AWS +:sync: AWS -1. Navigate to [AWS console](https://console.aws.amazon.com/console/home) – Search EC2 in the search bar and select it. Click the "Launch Instance" button highlighted in orange. +1. Navigate to [AWS console](https://console.aws.amazon.com/console/home) – Search EC2 in the search bar and select it. Click the "Launch Instance" button highlighted in orange. -2. Provide a name to the VM. +2. Provide a name to the VM. -3. In Quick Start, select the base OS as Ubuntu (`ami-id : ami-04dd23e62ed049936`). +3. In Quick Start, select the base OS as Ubuntu (`ami-id : ami-04dd23e62ed049936`). -4. Select an Instance type that is based on Intel hardware. +4. Select an Instance type that is based on Intel hardware. ->**Note**: We recommend selecting a `m7i.4xlarge` or larger instance with an Intel(R) 4th Gen Xeon(C) Scalable Processor. For more information on virtual servers on AWS visit [here](https://aws.amazon.com/intel/). +>**Note**: We recommend selecting a `m7i.4xlarge` or larger instance with an Intel(R) 4th Gen Xeon(C) Scalable Processor. For more information on virtual servers on AWS visit [here](https://aws.amazon.com/intel/). -5. Next, create a new key pair, give it a name or select one from the existing key pairs. +5. Next, create a new key pair, give it a name or select one from the existing key pairs. -6. Under Network settings select an existing security group. If there is none, create a new one by selecting the Create security group radio button and select the Allow SSH traffic and Allow HTTP traffic check box. +6. Under Network settings select an existing security group. If there is none, create a new one by selecting the Create security group radio button and select the Allow SSH traffic and Allow HTTP traffic check box. -7. Configure the storage to 100 GiB and click `Launch Instance`. +7. Configure the storage to 100 GiB and click `Launch Instance`. 8. Click on the "connect" button on the top right and connect using your preferred method. -9. Look up Security Groups in the search bar and select the security group used when creating the instance. +9. Look up Security Groups in the search bar and select the security group used when creating the instance. -10. Click on the Edit inbound rules on the right side of the window. +10. Click on the Edit inbound rules on the right side of the window. 11. Select Add rule at the bottom, and create a rule with type as Custom TCP , port range as 80 and source as 0.0.0.0/0 . Learn more about [editing inbound/outbound rules](https://docs.aws.amazon.com/finspace/latest/userguide/step5-config-inbound-rule.html) ::: -:::{tab-item} Azure :sync: azure +:::{tab-item} Azure +:sync: Azure 1. Navigate to [Microsoft Azure](portal.azure.com) – Select the "Skip" button on the bottom right to land on the service offerings page. Search for "Virtual Machines" in the search bar and select it. Click the "Create" button and select "Azure Virtual Machine". -2. Select an existing "Resource group" from the drop down or click "Create" for a new Resource group and give it a name. If you have issues refer to [cannot create resource groups](https://learn.microsoft.com/en-us/answers/questions/1520133/cannot-create-resource-groups). +2. Select an existing "Resource group" from the drop down or click "Create" for a new Resource group and give it a name. If you have issues refer to [cannot create resource groups](https://learn.microsoft.com/en-us/answers/questions/1520133/cannot-create-resource-groups). 3. Provide a name to the VM and select the base OS as `Ubuntu 24.04 LTS` -4. Select x64 in VM architecture. +4. Select x64 in VM architecture. -5. Select an Instance type that is based on Intel hardware. +5. Select an Instance type that is based on Intel hardware. ->**Note**: We recommend selecting a `Standard_D16ds_v5` instance or larger with an Intel(R) 3rd/4th Gen Xeon(C) Scalable Processor. You can find this family of instances in the (US) West US Region. Visit for more information [virtual machines on Azure](https://azure.microsoft.com/en-us/partners/directory/intel-corporation). +>**Note**: We recommend selecting a `Standard_D16ds_v5` instance or larger with an Intel(R) 3rd/4th Gen Xeon(C) Scalable Processor. You can find this family of instances in the (US) West US Region. Visit for more information [virtual machines on Azure](https://azure.microsoft.com/en-us/partners/directory/intel-corporation). -6. Select Password as Authentication type and create username and password for your instance. +6. Select Password as Authentication type and create username and password for your instance. -7. Choose the Allow selected ports in Inbound port rule section and select HTTP. +7. Choose the Allow selected ports in Inbound port rule section and select HTTP. -8. Click "Next: Disk" button and select OS disk size as 128GiB. +8. Click "Next: Disk" button and select OS disk size as 128GiB. -9. Click on "Review + Create" to launch the VM. +9. Click on "Review + Create" to launch the VM. -10. Click Go to resource -> Connect -> Connect -> SSH using Azure CLI. Accept the terms and then select "Configure + connect" +10. Click Go to resource -> Connect -> Connect -> SSH using Azure CLI. Accept the terms and then select "Configure + connect" ->**Note**: If you have issues connecting to the instance with SSH, you could use instead Bastion with your username and password. +>**Note**: If you have issues connecting to the instance with SSH, you could use instead Bastion with your username and password. ::: -:::{tab-item} GCP :sync: gcp +:::{tab-item} GCP +:sync: GCP -1. Navigate to [GCP console](https://console.cloud.google.com/) – Click the "Create a VM" button. +1. Navigate to [GCP console](https://console.cloud.google.com/) – Click the "Create a VM" button. -2. Provide a name to the VM. +2. Provide a name to the VM. -3. Select the base OS as `Ubuntu 24.04 LTS` from Marketplace . +3. Select the base OS as `Ubuntu 24.04 LTS` from Marketplace . -4. Select an Instance type that is based on Intel hardware. +4. Select an Instance type that is based on Intel hardware. -> **Note:**   We recommend selecting a `c3-standard-22` or larger instance with an Intel(R) 4th Gen Xeon(C) Scalable Processor, and the minimum supported c3 instance type is c3-standard-8 with 32GB memory. For more information, visit [virtual servers on GCP](https://cloud.google.com/intel). +> **Note:**   We recommend selecting a `c3-standard-22` or larger instance with an Intel(R) 4th Gen Xeon(C) Scalable Processor, and the minimum supported c3 instance type is c3-standard-8 with 32GB memory. For more information, visit [virtual servers on GCP](https://cloud.google.com/intel). -5. Under Firewall settings select “Allow HTTP traffic” to access ChatQnA UI web portal. +5. Under Firewall settings select “Allow HTTP traffic” to access ChatQnA UI web portal. -6. Change the Boot disk to 100 GiB and click "Create". +6. Change the Boot disk to 100 GiB and click "Create". -7. Use any preferred SSH method such as "Open in browser window" to connect to the instance. +7. Use any preferred SSH method such as "Open in browser window" to connect to the instance. ::: -:::{tab-item} IBM Cloud :sync: ibmcloud +:::{tab-item} IBM Cloud +:sync: IBM Cloud 1. Navigate to [IBM Cloud](https://cloud.ibm.com). - Click the **Create resource** button at the top right of the screen. Select **Compute** from the options available and select "Virtual Server for VPC" @@ -112,7 +116,9 @@ Before moving forward, it's important to familiarize yourself with two key eleme 10. Enable inbound traffic for port 80. For more information on editing inbound/outbound rules, click [here](https://cloud.ibm.com/docs/vpc?topic=vpc-updating-the-default-security-group&interface=ui) 11. ssh into the instance using the floating IP (`ssh -i ubuntu@`) -::: :::: + +::: +:::: ## Deploy the ChatQnA Solution @@ -176,9 +182,9 @@ Run `docker ps -a` as an additional check to verify that all the services are ru ### Interact with ChatQnA -You can interact with ChatQnA via a browser interface: +You can interact with ChatQnA via a browser interface: -* To view the ChatQnA interface, open a browser and navigate to the UI by inserting your public facing IP address in the following: `http://{public_ip}:80’. +* To view the ChatQnA interface, open a browser and navigate to the UI by inserting your public facing IP address in the following: `http://{public_ip}:80’. We can go ahead and ask a sample question, say 'What is OPEA?'. @@ -188,12 +194,12 @@ A snapshot of the interface looks as follows: Given that any information about OPEA was not in the training data for the model, we see the model hallucinating and coming up with a response. We can upload a document (PDF) with information and observe how the response changes. -> **Note:** this example leverages the [OPEA document](assets/what_is_opea.pdf) for its RAG based content. You can download the [OPEA document](assets/what_is_opea.pdf) and upload it using the UI. +> **Note:** this example leverages the [OPEA document](assets/what_is_opea.pdf) for its RAG based content. You can download the [OPEA document](assets/what_is_opea.pdf) and upload it using the UI. ![Chat Interface with RAG](assets/chat_ui_response_rag.png) We observe that the response is relevant and is based on the PDF uploaded. See the [ChatQnA Sample Guide](https://opea-project.github.io/latest/examples/ChatQnA/ChatQnA_Guide.html) -to learn how you can customize the example with your own content. +to learn how you can customize the example with your own content. To interact with the ChatQnA application via a `curl` command: @@ -215,26 +221,26 @@ Modify the `message` parameter in the `curl` command to continue interacting wit ### Get Involved -Have you ideas and skills to build out genAI components, microservices, and solutions? Would you like to be a part of this evolving technology in its early stages? Welcome! -* Register for our mailing list: - * [Mailing List](https://lists.lfaidata.foundation/g/OPEA-announce) +Have you ideas and skills to build out genAI components, microservices, and solutions? Would you like to be a part of this evolving technology in its early stages? Welcome! +* Register for our mailing list: + * [Mailing List](https://lists.lfaidata.foundation/g/OPEA-announce) * [Technical Discussions](https://lists.lfaidata.foundation/g/OPEA-technical-discuss) * Subscribe to the working group mailing lists that interest you - * [End user](https://lists.lfaidata.foundation/g/OPEA-End-User) - * [Evaluation](https://lists.lfaidata.foundation/g/OPEA-Evaluation) - * [Community](https://lists.lfaidata.foundation/g/OPEA-Community) - * [Research](https://lists.lfaidata.foundation/g/OPEA-Research) - * [Security](https://lists.lfaidata.foundation/g/OPEA-Security) -* Go to the Community Section of the OPEA repo for [Contribution Guidelines](https://opea-project.github.io/latest/community/CONTRIBUTING.html) and step by step instructions. -* Attend any of our community events and hackathons. https://wiki.lfaidata.foundation/display/DL/OPEA+Community+Events + * [End user](https://lists.lfaidata.foundation/g/OPEA-End-User) + * [Evaluation](https://lists.lfaidata.foundation/g/OPEA-Evaluation) + * [Community](https://lists.lfaidata.foundation/g/OPEA-Community) + * [Research](https://lists.lfaidata.foundation/g/OPEA-Research) + * [Security](https://lists.lfaidata.foundation/g/OPEA-Security) +* Go to the Community Section of the OPEA repo for [Contribution Guidelines](https://opea-project.github.io/latest/community/CONTRIBUTING.html) and step by step instructions. +* Attend any of our community events and hackathons. https://wiki.lfaidata.foundation/display/DL/OPEA+Community+Events Current GenAI Examples -- Simple chatbot that uses retrieval augmented generation (RAG) architecture. [ChatQnA](/examples/ChatQnA/ChatQnA_Guide.rst) +- Simple chatbot that uses retrieval augmented generation (RAG) architecture. [ChatQnA](/examples/ChatQnA/ChatQnA_Guide.rst) - Code generation, from enabling non-programmers to generate code to improving productivity with code completion of complex applications. [CodeGen](https://opea-project.github.io/latest/GenAIExamples/CodeGen/README.html) - Make your applications more flexible by porting to different languages. [CodeTrans](https://opea-project.github.io/latest/GenAIExamples/CodeTrans/README.html) - Create summaries of news articles, research papers, technical documents, etc. to streamline content systems. [DocSum](https://opea-project.github.io/latest/GenAIExamples/DocSum/README.html) - Mimic human behavior by iteratively searching, selecting, and synthesizing information across large bodies of content. [SearchQnA](https://opea-project.github.io/latest/GenAIExamples/SearchQnA/README.html) - Provide critical content to your customers by automatically generating Frequently Asked Questions (FAQ) resources. [FaqGen](https://opea-project.github.io/latest/GenAIExamples/FaqGen/README.html) - Provide text descriptions from pictures, enabling your users to inquire directly about products, services, sites, etc. [VisualQnA](https://opea-project.github.io/latest/GenAIExamples/VisualQnA/README.html) -- Reduce language barriers through customizable text translation systems. [Translation](https://opea-project.github.io/latest/GenAIExamples/Translation/README.html) +- Reduce language barriers through customizable text translation systems. [Translation](https://opea-project.github.io/latest/GenAIExamples/Translation/README.html) diff --git a/index.rst b/index.rst index 42974299..4c6b3f37 100644 --- a/index.rst +++ b/index.rst @@ -76,6 +76,7 @@ Source code for the OPEA Project is maintained in the developer-guides/index community/index release_notes/index + CONTRIBUTING faq .. _OPEA Project GitHub repository: https://github.com/opea-project