구독해서 새 게시물에 대한 알림을 받으세요.

Workers AI 업데이트: 100여 개의 도시에서 Stable Diffusion, Code Llama + Workers AI

2023-11-23

2분 읽기
이 게시물은 English, 繁體中文, 日本語简体中文로도 이용할 수 있습니다.

추수감사절은 미국의 명절이자 저희가 가장 좋아하는 명절 중 하나입니다. 감사할 일이 많기 때문이죠! 많은 사람들이 음식이나 할인 행사에 기대가 크지만, 개발자인 제게는 항상 새로운 빈둥거리며 새로운 기술을 가지고 소일하기 좋은 조용한 휴일이기도 합니다. 그런 의미에서, 이제 Cloudflare의 전 세계 네트워크에 걸쳐 100여 개의 도시에서 실행되는 Workers AI의 일부로 Stable DiffusionCode Llama를 사용할 수 있게 되었다는 소식을 알려드리게 되어 기쁩니다.

Workers AI Update: Stable Diffusion, Code Llama + Workers AI in 100 cities

많은 AI 팬들이 알고 있듯이, Stable Diffusion은 텍스트 입력을 기반으로 이미지를 생성할 수 있는 획기적인 이미지 생성 모델입니다. Code Llama는 프로그래밍 코드 생성에 최적화된 강력한 언어 모델입니다.

자세한 내용을 알아보려면 계속 읽거나 개발자 문서로 이동하여 시작하세요!

Stable Diffusion으로 생성 - "추수감사절을 축하하는 주황색 구름 속 행복한 라마"

Stable Diffusion으로 이미지 생성

Stability AI는 지난 여름에 Stable Diffusion XL 1.0(SDXL)을 출시했습니다. 자세한 내용은여기에서 확인할 수 있지만, 여기에서는 몇 가지 멋진 기능에 대해 간략히 언급하겠습니다.

우선, "모델이 주는 특정한 '느낌'을 받지 않고도 뚜렷한 이미지를 연출할 수 있어 스타일에 대한 절대적인 자유를 보장한다"는 점이 특징입니다. 이는 개발자로서, 아니 아티스트라고 해야 할까, 빈 캔버스를 제공한다는 점에서 매우 유용합니다.

또한 "기본 1024x1024 해상도에서 이전 제품보다 더 나은 대비, 조도, 음영 등을 제공하며 생생하고 정확한 색상을 위해 특히 잘 조정되었습니다." 오늘날 카메라(또는 휴대폰 카메라)의 발전으로 인해 화질은 이제 선택이 아닌 필수 요소이며, 이러한 모델이 이를 따라잡고 있는 것은 반가운 일입니다.

Workers AI + SDXL(API를 통해)을 시작하는 것이 더 이상 쉬울 수 없습니다. 아래 예시에서 확인해 보세요.

그리고 여기 행복한 라마가 있습니다.

curl -X POST \
"https://api.cloudflare.com/client/v4/accounts/{account-id}/ai/run/@cf/stabilityai/stable-diffusion-xl-base-1.0" \
-H "Authorization: Bearer {api-token}" \
-H "Content-Type:application/json" \
-d '{ "prompt": "A happy llama running through an orange cloud" }' \
-o 'happy-llama.png'

Worker에서도 이 작업을 수행할 수 있습니다.

Code Llama로 코드 생성

import { Ai } from '@cloudflare/ai';
export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const response = await ai.run('@cf/stabilityai/stable-diffusion-xl-base-1.0', {
      prompt: 'A happy llama running through an orange cloud'
    });
    return new Response(response, {
      headers: {
          "content-type": "image/png",
      },
  });
  }
}

아트 제작에 관심이 없다면 코딩을 통해 재미를 느낄 수도 있습니다. Meta에서 지난 여름에 출시한 Code Llama는 Llama 2를 기반으로 구축되었지만, 많은 인기 언어(Python, C++, Java, PHP, Typescript / Javascript, C#, Bash)의 코드를 이해하고 생성하도록 최적화되어 있습니다.

Code Llama는 직면한 어려운 문제에 대한 코드를 생성하는 데 사용하거나 코드를 이해하는 데 사용할 수 있으며, 기존의 알려지지 않은 코드베이스를 선택하는 경우에도 유용합니다.

다른 모든 모델과 마찬가지로 Workers AI로 코드를 생성하는 것은 정말 쉽습니다.

Worker에서:

curl 사용하기:

import { Ai } from '@cloudflare/ai';

// Enable env.AI for your worker by adding the ai binding to your wrangler.toml file:
// [ai]
// binding = "AI"

export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const response = await ai.run('@hf/thebloke/codellama-7b-instruct-awq', {
      prompt: 'In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority.'
    });
    return Response.json(response);
  }
}

python 사용하기:

curl -X POST \
"https://api.cloudflare.com/client/v4/accounts/{account-id}/ai/run/@hf/thebloke/codellama-7b-instruct-awq" \

-H "Authorization: Bearer {api-token}" \-H "Content-Type: application/json" \
-d '{ "prompt": "In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority." }

Workers AI 추론, 이제 100개 도시에서 가능

#!/usr/bin/env python3

import json
import os
import requests

ACCOUNT_ID=os.environ["ACCOUNT_ID"]
API_TOKEN=os.environ["API_TOKEN"]
MODEL="@hf/thebloke/codellama-7b-instruct-awq"

prompt="""In JavaScript, define a priority queue class. The constructor must take a function that is called on each object to determine its priority."""
url = f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/{MODEL}"
headers = {
  "Authorization": f"Bearer {API_TOKEN}"
}
payload = json.dumps({
  "prompt": prompt
})

print(url)
r = requests.post(url, data=payload, headers=headers)

j = r.json()
if "result" in j and "response" in j["result"]:
   print(r.json()["result"]["response"])
else:
   print(json.dumps(j, indent=2))

지난 9월 Workers AI를 처음 출시했을 때는 7개 도시에서 추론을 실행하는 것으로 시작했지만, 저희는 연말까지 100개 도시에서, 2024년 말까지 거의 모든 곳에서 Workers AI 추론을 지원하겠다는 야심찬 목표를 세웠습니다. 여러 팀에서 열심히 일하고 있는 멋진 분들 덕분에 예정보다 앞당겨 100개 도시에서 Workers AI 추론을 지원하게 된 것을 자랑스럽게 생각합니다. 이는 개발자에게는 추론 작업이 사용자 가까이에서 실행될 가능성이 더 높아졌다는 의미이며, 향후 18개월 동안 계속해서 개선하겠습니다.

Mistral, 놓치신 분을 위해

마지막으로, 이번 주 초에 업데이트된 다른 소식을 놓치신 분들을 위해 크기에 비해 강력한 기능을 갖춘 강력한 언어 모델인 Mistral 7B도 출시했음을 알려드립니다. 여기에서 자세한 내용을 확인하거나 여기에서 빌드를 시작할 수 있습니다.

재미있는 무언가를 만들어 보세요

오늘은 더 많은 도시에서 실행되는 이미지(아트), 코드, Workers AI 추론에 대해 알려드렸습니다. 즐거운 시간을 보내시고 멋진 무언가를 만들어 보세요. 도움이 필요하거나 피드백을 제공하거나 구축 중인 내용을 공유하고 싶으시면 Developer Discord를 방문해 주시기 바랍니다!

추수감사절 즐겁게 보내세요!

또한 이제 막 AI를 시작하는 분들을 위해 임베딩, 모델, 벡터 데이터베이스 등의 기본 사항 이해부터 Workers AI의 LLM 시작하기 등 다양한 개발자 워크숍 시리즈를 제공할 예정입니다. 여기에서 등록하시기 바랍니다.

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 앱을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
Workers AICloudflare Workers

X에서 팔로우하기

Phil Wittig|@pdwittig
Cloudflare|@cloudflare

관련 게시물

2024년 10월 31일 오후 1:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network....

2024년 10월 25일 오후 1:00

Elephants in tunnels: how Hyperdrive connects to databases inside your VPC networks

Hyperdrive (Cloudflare’s globally distributed SQL connection pooler and cache) recently added support for directing database traffic from Workers across Cloudflare Tunnels. We dive deep on what it took to add this feature....

2024년 10월 24일 오후 1:05

Build durable applications on Cloudflare Workers: you write the Workflows, we take care of the rest

Cloudflare Workflows is now in open beta! Workflows allows you to build reliable, repeatable, long-lived multi-step applications that can automatically retry, persist state, and scale out. Read on to learn how Workflows works, how we built it on top of Durable Objects, and how you can deploy your first Workflows application....