An open API service indexing awesome lists of open source software.

https://github.com/frontllm/frontllm-sdk

FrontLLM is your public gateway to LLMs. Request LLM directly from your front-end code. No backend needed.
https://github.com/frontllm/frontllm-sdk

ai gateway-api llm llm-framework llm-gateway openai

Last synced: 10 months ago
JSON representation

FrontLLM is your public gateway to LLMs. Request LLM directly from your front-end code. No backend needed.

Awesome Lists containing this project

README

          

![FrontLLM](.github/cover.png)

# FrontLLM

[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Ffrontllm%2Ffrontllm-sdk%2Fbadge%3Fref%3Dmain&style=flat-square)](https://actions-badge.atrox.dev/frontllm/frontllm-sdk/goto?ref=main) [![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat-square)](/LICENSE) [![View this project on NPM](https://img.shields.io/npm/v/frontllm.svg?style=flat-square)](https://npmjs.org/package/frontllm)

FrontLLM is your public gateway to LLMs. Request LLM directly from your front-end code. No backend needed.

📝 Check the [documentation](https://frontllm.com/docs/introduction) for more details.

### 👀 Demos

* [Explain This](https://frontllm.com/docs/demos/explain-this)
* [Streaming](https://frontllm.com/docs/demos/streaming)
* [Translator](https://frontllm.com/docs/demos/translator)

## 🚀 Installation

### NPM

To use FrontLLM in your project, you can install it via npm:

```bash
npm install frontllm
```

Now you can import the library and create an instance of the gateway with your specific gateway ID:

```js
import { frontLLM } from 'frontllm';
const gateway = frontLLM('');
```

### CDN

To use FrontLLM via CDN, you can include the following script tag in your HTML file:

```html

```

This will expose the `frontLLM` function globally, which you can use to create an instance of the gateway:

```html

const gateway = frontLLM('<gateway_id>');
// ...

```

## 🎬 Usage

Chat Completion:

```js
// Short syntax - requires the default model configured in the gateway

const response = await gateway.complete('Hello world!');

// Full syntax

const response = await gateway.complete({
model: 'gpt-4',
messages: [
{ role: 'user', content: 'Hello world!' }
],
temperature: 0.7
});

// Output the generated response text to the console.

console.log(response.choices[0].message.content);
```

Chat Completion with Streaming:

```js
// Short syntax - requires the default model configured in the gateway

const response = await gateway.completeStreaming('Where is Europe?');

// Full syntax

const response = await gateway.completeStreaming({
model: 'gpt-4',
messages: [
{ role: 'user', content: 'Where is Europe?' }
],
temperature: 0.7
});

// Output the generated response text to the console.

for (;;) {
const { finished, chunks } = await response.read();
for (const chunk of chunks) {
console.log(chunk.choices[0].delta.content);
}
if (finished) {
break;
}
}
```

## 💡 License

This project is released under the MIT license.