Sign inSign up

embedchain/rest-api

By embedchain

•Updated about 3 years ago

Embedchain as a REST API server. Create your LLM data API in less than a minute.

Image
0

1.2K

embedchain/rest-api repository overview

⁠🌍 Embedchain REST API

⁠Quickstart

To run Embedchain as a REST API server use,

docker run -d --name embedchain -p 8080:8080 embedchain/rest-api:latest

Open up your browser and navigate to http://0.0.0.0:8080/docs⁠ to interact with the API. There is a full-fledged Swagger docs playground with all the information about the API endpoints.

Swagger Docs Screenshot

⁠Creating your first App

App requires an app_id to be created. The app_id is a unique identifier for your app.

By default we will use the opensource gpt4all model to perform operations. You can also specify your own config by uploading a config YAML file.

For example, create a config.yaml file (adjust according to your requirements):

app:
  config:
    id: "default-app"

llm:
  provider: openai
  config:
    model: "gpt-3.5-turbo"
    temperature: 0.5
    max_tokens: 1000
    top_p: 1
    stream: false
    template: |
      Use the following pieces of context to answer the query at the end.
      If you don't know the answer, just say that you don't know, don't try to make up an answer.

      $context

      Query: $query

      Helpful Answer:

vectordb:
  provider: chroma
  config:
    collection_name: "rest-api-app"
    dir: db
    allow_reset: true

embedder:
  provider: openai
  config:
    model: "text-embedding-ada-002"

To learn more about custom configurations, check out the Custom configurations⁠. To explore more examples of config YAMLs for Embedchain, visit embedchain/configs⁠.

Now, you can upload this config file in the request body.

Note: To use custom models, an API key might be required. Refer to the table below to determine the necessary API key for your provider.

KeysProviders
OPENAI_API_KEY OpenAI, Azure OpenAI, Jina etc
OPENAI_API_TYPEAzure OpenAI
OPENAI_API_BASEAzure OpenAI
OPENAI_API_VERSIONAzure OpenAI
COHERE_API_KEYCohere
ANTHROPIC_API_KEYAnthropic
JINACHAT_API_KEYJina
HUGGINGFACE_ACCESS_TOKENHuggingface
REPLICATE_API_TOKENLLAMA2

To provide them, you can simply run the docker command with the -e flag.

For example,

docker run -d --name embedchain -p 8080:8080 -e OPENAI_API_KEY=YOUR_API_KEY embedchain/rest-api:latest

Cool! This will create a new Embedchain App with the given app_id.

Tag summary

Content type

Image

Digest

sha256:1ce29864d…

Size

498.4 MB

Last updated

about 3 years ago

docker pull embedchain/rest-api