Skip to main content

Jina

Jina是一个用于LangChain的生态系统,本页面介绍了如何在LangChain中使用Jina。它分为两个部分:安装和设置,以及对特定Jina包装器的引用。

安装和设置

  • 使用pip install jina安装Python SDK
  • 这里获取Jina AI Cloud的认证令牌,并将其设置为环境变量(JINA_AUTH_TOKEN

包装器

嵌入

存在一个Jina嵌入包装器,您可以使用以下代码访问:

from langchain.embeddings import JinaEmbeddings

有关更详细的步骤,请参见此笔记本

部署

由Jina提供支持的Langchain-serve可通过易于使用的REST/WebSocket API和Slack机器人将LangChain应用程序部署到生产环境。

使用方法

从PyPI安装该软件包。

pip install langchain-serve

使用serving装饰器包装您的LangChain应用程序。

# app.py
from lcserve import serving

@serving
def ask(input: str) -> str:
from langchain import LLMChain, OpenAI
from langchain.agents import AgentExecutor, ZeroShotAgent

tools = [...] # 工具列表
prompt = ZeroShotAgent.create_prompt(
tools, input_variables=["input", "agent_scratchpad"],
)
llm_chain = LLMChain(llm=OpenAI(temperature=0), prompt=prompt)
agent = ZeroShotAgent(
llm_chain=llm_chain, allowed_tools=[tool.name for tool in tools]
)
agent_executor = AgentExecutor.from_agent_and_tools(
agent=agent,
tools=tools,
verbose=True,
)
return agent_executor.run(input)

使用lc-serve deploy jcloud app在Jina AI Cloud上部署。部署后,我们可以发送POST请求到API端点以获取响应。

curl -X 'POST' 'https://<your-app>.wolf.jina.ai/ask' \
-d '{
"input": "Your Quesion here?",
"envs": {
"OPENAI_API_KEY": "sk-***"
}
}'

您还可以使用Docker-compose或Kubernetes在自己的基础设施上自托管该应用程序。有关更多详细信息,请参见此处

Langchain-serve还允许在Jina AI Cloud或自托管基础设施上使用WebSocket API和Slack机器人部署应用程序。