LangStream 项目介绍
LangStream 是一个创新的平台,旨在帮助开发者简化应用程序的开发和部署流程。通过提供一系列工具和集成,LangStream 意图让用户更高效地构建、测试和发布他们的应用程序。
CLI 命令行工具
LangStream 提供了一个功能强大的命令行工具 (CLI),对于开发者来说,这个工具简直就是一位贴心小助手。但是,需要注意的是,该 CLI 工具需要在本地机器上预先安装 Java 11 或更高版本。
安装方法
在 MacOS 上,用户可以通过 Homebrew 进行安装:
brew install LangStream/langstream/langstream
或者,用户也可以使用 curl 下载安装脚本:
curl -Ls "https://raw.githubusercontent.com/LangStream/langstream/main/bin/get-cli.sh" | bash
确保安装成功,可以输入以下命令查看版本:
langstream -V
尝试示例应用程序
LangStream 提供了一些示例应用程序,用户可以直接运行这些应用程序。例如,可以尝试运行一个简单的 Chat Completions 应用:
export OPEN_AI_ACCESS_KEY=your-key-here
langstream docker run test \
-app https://github.com/LangStream/langstream/blob/main/examples/applications/openai-completions \
-s https://github.com/LangStream/langstream/blob/main/examples/secrets/secrets.yaml
在另一个终端窗口中运行客户端:
langstream gateway chat test -cg consume-output -pg produce-input -p sessionId=$(uuidgen)
创建您自己的应用程序
对于想要创建自己应用程序的开发者来说,LangStream 提供了详细的开发者文档,帮助用户搭建开发环境和定制他们的应用程序。
在 Kubernetes 上运行 LangStream
LangStream 支持在 Kubernetes 上的生产环境部署,推荐使用以下 Kubernetes 发行版:
- Amazon EKS
- Azure AKS
- Google GKE
- Minikube
生产环境部署
使用 Helm 图表可以轻松部署 LangStream:
helm repo add langstream https://langstream.ai/charts
helm repo update
根据用户所使用的存储服务,配置相应的存储,如 S3 或 Azure Blob Storage。然后,可以使用 kubectl 进行部署:
helm install -n langstream --create-namespace langstream langstream/langstream --values values.yaml
kubectl wait -n langstream deployment/langstream-control-plane --for condition=available --timeout=300s
本地部署
对于本地开发者,建议使用 Minikube 来创建并管理本地集群。LangStream 提供了 mini-langstream
工具来帮助用户安装和管理本地集群:
brew install LangStream/langstream/mini-langstream
启动本地集群:
mini-langstream start
用户可以快速部署应用程序:
export OPEN_AI_ACCESS_KEY=<your-openai-api-key>
mini-langstream cli apps deploy my-app -app https://github.com/LangStream/langstream/tree/main/examples/applications/openai-completions -s https://github.com/LangStream/langstream/blob/main/examples/secrets/secrets.yaml
停止本地集群:
mini-langstream delete
开发
LangStream 的开发环境需要 Docker、Java 17、Git 和 Python 3.11 以上版本。用户可以通过 mini-langstream
工具来测试本地代码更改,并在 minikube
上启动开发环境:
mini-langstream dev start
编译和加载特定服务的新版本:
mini-langstream dev build <service>
或者为所有服务进行编译:
mini-langstream dev build
LangStream 致力于提供便捷的解决方案,帮助用户更流畅地实现应用程序的开发与部署。无论是个人开发者还是团队,LangStream 都可以帮助实现高效的工作流。用户可以访问官方文档和社区获取更多信息。