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机器人部署应用程序。