Sign inSign up

openeuler/codegen

Sponsored OSS

By openeuler

•Updated about 1 year ago

Image
0

10K+

openeuler/codegen repository overview

⁠Quick reference

⁠OPEA | openEuler

Current OPEA docker images are built on the openEuler⁠⁠. This repository is free to use and exempted from per-user rate limits.

OPEA is an open platform project that lets you create open, multi-provider, robust, and composable GenAI solutions that harness the best innovation across the ecosystem.

The OPEA platform includes:

  • Detailed framework of composable building blocks for state-of-the-art generative AI systems including LLMs, data stores, and prompt engines

  • Architectural blueprints of retrieval-augmented generative AI component stack structure and end-to-end workflows

  • A four-step assessment for grading generative AI systems around performance, features, trustworthiness, and enterprise-grade readiness

Read more about OPEA at opea.dev⁠ and explore the OPEA technical documentation at opea-project.github.io⁠

The tag of each CodeGen docker image is consist of the version of CodeGen and the version of basic image. The details are as follows

TagsCurrentlyArchitectures
1.0-oe2403lts⁠CodeGen 1.0 on openEuler 24.03-LTSamd64
1.2-oe2403lts⁠CodeGen 1.2 on openEuler 24.03-LTSamd64
1.3-oe2403lts⁠CodeGen 1.3 on openEuler 24.03-LTSamd64

⁠Usage

The CodeGen service can be effortlessly deployed on either Intel Gaudi2 or Intel Xeon Scalable Processor.

Currently we support two ways of deploying CodeGen services with docker compose:

  1. Start services using the docker image on docker hub:

    docker pull openeuler/codegen:latest
    
  2. Start services using the docker images built from source.

⁠Required Models

By default, the LLM model is set to a default value as listed below:

ServiceModel
LLM_MODEL_IDmeta-llama/CodeLlama-7b-hf⁠

meta-llama/CodeLlama-7b-hf⁠ is a gated model that requires submitting an access request through Hugging Face. You can replace it with another model. Change the LLM_MODEL_ID below for your needs, such as: Qwen/CodeQwen1.5-7B-Chat⁠, deepseek-ai/deepseek-coder-6.7b-instruct⁠

If you choose to use meta-llama/CodeLlama-7b-hf as LLM model, you will need to visit here⁠, click the Expand to review and access button to ask for model access.

⁠Quick Start: 1.Setup Environment Variable

To set up environment variables for deploying CodeGen services, follow these steps:

  1. Set the required environment variables:

    # Example: host_ip="192.168.1.1"
    export host_ip="External_Public_IP"
    # Example: no_proxy="localhost, 127.0.0.1, 192.168.1.1"
    export no_proxy="Your_No_Proxy"
    export HUGGINGFACEHUB_API_TOKEN="Your_Huggingface_API_Token"
    
  2. If you are in a proxy environment, also set the proxy-related environment variables:

    export http_proxy="Your_HTTP_Proxy"
    export https_proxy="Your_HTTPs_Proxy"
    
  3. Set up other environment variables:

    Get set_env.sh here: set_env.sh⁠

    source set_env.sh
    
⁠Quick Start: 2.Run Docker Compose

Get compose.yml here: compose.yml⁠

docker compose -f compose.yml up -d

It will automatically download the docker image on docker hub:

docker pull openeuler/codegen:latest
docker pull openeuler/codegen-ui:latest
⁠QuickStart: 3.Consume the CodeGen Service
  1. Use cURL command on terminal

    curl http://${host_ip}:7778/v1/codegen \
        -H "Content-Type: application/json" \
        -d '{"messages": "Implement a high-level API for a TODO list application. The API takes as input an operation request and updates the TODO list in place. If the request is invalid, raise an exception."}'
    
  2. Access via frontend

    To access the frontend, open the following URL in your browser: http://{host_ip}:5173.

    By default, the UI runs on port 5173 internally.

Tag summary

Content type

Image

Digest

sha256:142419fe6…

Size

354.8 MB

Last updated

about 1 year ago

docker pull openeuler/codegen

This week's pulls

Pulls:

22

Last week