LangStream Documentation
Langstream.aiLangStream GitHub RepoChangelog
  • LangStream Documentation
  • ❤️Langstream.ai
  • ⭐LangStream GitHub Repo
  • 📜Changelog
  • about
    • What is LangStream?
    • License
  • Get Started
  • installation
    • LangStream CLI
    • Docker
    • Minikube (mini-langstream)
    • Kubernetes
    • Build and install from source
  • Building Applications
    • Vector Databases
    • Application structure
      • Pipelines
      • Instances
      • Configuration
      • Topics
      • Assets
      • Secrets
      • YAML templating
      • Error Handling
      • Stateful agents
      • .langstreamignore
    • Sample App
    • Develop, test and deploy
    • Application Lifecycle
    • Expression Language
    • API Gateways
      • Websocket
      • HTTP
      • Message filtering
      • Gateway authentication
    • API Reference
      • Agents
      • Resources
      • Assets
  • LangStream CLI
    • CLI Commands
    • CLI Configuration
    • Web interface
  • Integrations
    • Large Language Models (LLMs)
      • OpenAI
      • Hugging Face
      • Google Vertex AI
      • Amazon Bedrock
      • Ollama
    • Data storage
      • Astra Vector DB
      • Astra
      • Cassandra
      • Pinecone
      • Milvus
      • Solr
      • JDBC
      • OpenSearch
    • Integrations
      • Apache Kafka Connect
      • Apache Camel
    • LangServe
  • Pipeline Agents
    • Agent Messaging
    • Builtin agents
      • Input & Output
        • webcrawler-source
        • s3-source
        • azure-blob-storage-source
        • sink
        • vector-db-sink
        • camel-source
      • AI Agents
        • ai-chat-completions
        • ai-text-completions
        • compute-ai-embeddings
        • flare-controller
      • Text Processors
        • document-to-json
        • language-detector
        • query
        • query-vector-db
        • re-rank
        • text-normaliser
        • text-extractor
        • text-splitter
        • http-request
      • Data Transform
        • cast
        • compute
        • drop
        • drop-fields
        • merge-key-value
        • unwrap-key-value
      • Flow control
        • dispatch
        • timer-source
        • trigger-event
    • Custom Agents
      • Python sink
      • Python source
      • Python processor
      • Python service
    • Agent Developer Guide
      • Agent Types
      • Agent Creation
      • Configuration and Testing
      • Environment variables
  • Messaging
    • Messaging
      • Apache Pulsar
      • Apache Kafka
      • Pravega.io
  • Patterns
    • RAG pattern
    • FLARE pattern
  • Examples
    • LangServe chatbot
    • LlamaIndex Cassandra sink
Powered by GitBook
On this page
  • Manifest
  • dependencies
  • resources
Edit on GitHub
  1. Building Applications
  2. Application structure

Configuration

PreviousInstancesNextTopics

Last updated 1 year ago

A manifest of additional resources and dependencies to run the pipeline.

Example of a data source that needs drivers as well as credentials:

configuration:
  resources:
    - type: "datasource"
      name: "PGDataSource"
      configuration:
        service: "jdbc"
        driverClass: "org.postgresql.Driver"
        url: "jdbc:postgresql://postgresql.default.svc.cluster.local:5432/"
        user: "postgres"
        password: "xxxxxx"
  dependencies:
    - name: "PostGRES JDBC Driver"
      url: "https://jdbc.postgresql.org/download/postgresql-42.6.0.jar"
      sha512sum: "ec3b57d8377715ef6286d457b610a2e056aa99db….1"
      type: "java-library"

LangStream has built-in support for a few Databases and Vector databases (no need for dependency), for example:

Cassandra (with Vector support)

configuration:
  resources:
    - type: "datasource"
      name: "Cassandra"
      configuration:
        service: "cassandra"
        username: ""
        password: ""
        contact-points: ""
        loadBalancing-localDc: ""

DataStax Astra DB

configuration:
  resources:
    - type: "vector-database"
      name: "AstraDBDatasource"
      configuration:
        service: "astra"
        secret: ""
        clientId: ""
        token: ""
        database: ""

Pinecone

configuration:
  resources:
    - type: "vector-database"
      name: "PineconeDatasource"
      configuration:
        api-key: ""
        environment: ""
        index-name: ""
        project-name: ""

OSS Milvus and Zillis

 configuration:
  resources: 
  - type: "datasource"
    name: "MilvusDatasource"
    configuration:
      service: "milvus"
      ## OSS Milvus
      username: "${secrets.milvus.username}"
      password: "${secrets.milvus.password}"
      host: "${secrets.milvus.host}"
      port: "${secrets.milvus.port}"
      ## Set to "upsert" for OSS Milvus, on Zills use "delete-insert"
      write-mode: "${secrets.milvus.write-mode}"
      ## Zillis
      url: "${secrets.milvus.url}"
      token: "${secrets.milvus.token}"

Apache Solr

configuration:
  resources:
  - type: "vector-database"
    name: "SolrDataSource"
    configuration:
      service: "solr"
      user: "${secrets.solr.username}"
      password: "${secrets.solr.password}"
      host: "${secrets.solr.host}"
      port: "${secrets.solr.port}"
      collection-name: "documents"
      

OpenSearch

configuration:
resources:
    - type: "vector-database"
      name: "OpenSearch"
      configuration:
        service: "opensearch"        
        username: "${secrets.opensearch.username}"
        password: "${secrets.opensearch.password}"
        host: "${secrets.opensearch.host}"
        port: "${secrets.opensearch.port}"
        index-name: "my-index-000"
      

Manifest

Root
Node
Type
Description

configuration

Top level node

dependencies

object

Example collection:

  • type: “xxx” name: “xxx” configuration: …

  • type: “xxx” name: “xxx” configuration: …

resources

object

Example collection:

  • type: “xxx” name: “xxx” sha: “xxx” …

  • type: “xxx” name: “xxx” sha: “xxx” …

dependencies

The given artifact will be downloaded, validated, and made available to the pipeline. \

Label
Type
Description

type

string (required)

The type of dependency. Supported values are:

  • java-library

Example: “java-library”

name

string (required)

The name of the dependency. It is used for display and as a reference pointer.

Example: "Postgres JDBC Driver"

url

string (required)

A fully qualified URL to the dependency artifact.

Example: "https://jdbc.postgresql.org/download/postgresql-42.6.0.jar"

sha512sum

string (required)

The downloaded artifact is validated against this value.

Example: "ec3b57d8377715ef6286d457…”

These dependencies are downloaded by the LangStream CLI when you run "apps deploy", "docker run" and similar commands. This mechanism is especially useful for JDBC Drivers and for Kafka Connect connectors.

resources

Label
Type
Description

type

string

The type of resource. Refer to the configuration resources reference for naming.

Example: “datasource”

name

string

The name of the resource. It is used for display and as a reference pointer.

Example: "PGDataSource"

configuration

object

Custom configuration for the given resource. Refer to the configuration resources reference for options.

A collection of artifacts that a pipeline step of resource may need to run.

A collection of resources.

To handle Python dependencies, check out the documentation about developing .

custom Python agents
Cassandra (with Vector support)
DataStax AstraDB
Pinecone
OSS Milvus and Zillis
Apache Solr
OpenSearch
Refer to the spec below.
Refer to the spec below.