Skip to content

Instantly share code, notes, and snippets.

@yusukebe
Last active April 10, 2024 09:29
Show Gist options
  • Select an option

  • Save yusukebe/b701b2d810c92f374b07780f8503782e to your computer and use it in GitHub Desktop.

Select an option

Save yusukebe/b701b2d810c92f374b07780f8503782e to your computer and use it in GitHub Desktop.
import { Ai } from '@cloudflare/ai'
import { events } from 'fetch-event-stream'
import { streamText } from 'hono/streaming'
import { Hono } from 'hono'
type Bindings = {
AI: any
}
const app = new Hono<{ Bindings: Bindings }>()
app.get('/', async (c) => {
const ai = new Ai(c.env.AI)
const s = await ai.run('@cf/meta/llama-2-7b-chat-int8', {
prompt: 'What is the origin of the phrase Hello, World',
stream: true
})
const res = new Response(s as ReadableStream)
return streamText(c, async (stream) => {
const chunks = events(res)
for await (const event of chunks) {
const obj = JSON.parse(event.data)
stream.write(obj.response)
}
})
})
export default app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment