这将帮助您开始使用 Contextual AI 的基础语言模型 聊天模型.
要了解有关 Contextual AI 的更多信息,请访问我们的 文档.
此集成需要 contextual-client Python SDK。了解更多关于 contextual-client Python SDK.
概述
此集成调用 Contextual AI 的基础语言模型。
集成详情
| 类 | 包 | 可序列化 | JS 支持 | 下载量 | 版本 |
|---|---|---|---|---|---|
ChatContextual | langchain-contextual | beta | ❌ | !PyPI - 下载量 | !PyPI - 版本 |
模型特性
| 工具调用 | 结构化输出 | 图像输入 | 音频输入 | 视频输入 | 令牌级流式处理 | 原生异步 | 令牌使用量 | 对数概率 |
|---|---|---|---|---|---|---|---|---|
| ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
设置
要访问 Contextual 模型,您需要创建一个 Contextual AI 账户,获取 API 密钥,并安装 langchain-contextual 集成包。
凭证
访问 app.contextual.ai 注册 Contextual 并生成 API 密钥。完成此操作后,设置 CONTEXTUAL_AI_API_KEY 环境变量:
if not os.getenv("CONTEXTUAL_AI_API_KEY"):
os.environ["CONTEXTUAL_AI_API_KEY"] = getpass.getpass(
"Enter your Contextual API key: "
)
如果您想获取模型调用的自动追踪功能,还可以设置您的 LangSmith API 密钥(取消下面的注释即可):
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
安装
LangChain Contextual 集成位于 langchain-contextual package:
pip install -qU langchain-contextual
实例化
现在我们可以实例化模型对象并生成聊天补全。
聊天客户端可以使用以下附加设置进行实例化:
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| temperature | Optional[float] | 采样温度,影响响应的随机性。请注意,较高的温度值可能会降低可靠性。 | 0 |
| top_p | Optional[float] | 核采样的参数,是温度的替代方案,同样会影响响应的随机性。请注意,较高的 top_p 值可能会降低可靠性。 | 0.9 |
| max_new_tokens | Optional[int] | 模型可以在响应中生成的最大令牌数。最小值为 1,最大值为 2048。 | 1024 |
from langchain_contextual import ChatContextual
llm = ChatContextual(
model="v1", # defaults to `v1`
api_key="",
temperature=0, # defaults to 0
top_p=0.9, # defaults to 0.9
max_new_tokens=1024, # defaults to 1024
)
调用
Contextual 基础语言模型接受额外的 kwargs 调用时 ChatContextual.invoke method.
这些额外输入包括:
| 参数 | 类型 | 描述 |
|---|---|---|
| knowledge | list[str] | 必需:一个字符串列表,表示可供基于知识的语言模型在生成响应时使用的知识来源。 |
| system_prompt | Optional[str] | 可选:模型在生成响应时应遵循的指令。请注意,我们不保证模型完全遵循这些指令。 |
| avoid_commentary | Optional[bool] | 可选(默认为 False):指示模型是否应避免在响应中提供额外评论的标志。评论本质上是对话性的,不包含可验证的声明;因此,评论并非严格基于可用上下文。然而,评论可能提供有用的上下文,从而提高响应的有用性。 |
# include a system prompt (optional)
system_prompt = "You are a helpful assistant that uses all of the provided knowledge to answer the user's query to the best of your ability."
# provide your own knowledge from your knowledge-base here in an array of string
knowledge = [
"There are 2 types of dogs in the world: good dogs and best dogs.",
"There are 2 types of cats in the world: good cats and best cats.",
]
# create your message
messages = [
("human", "What type of cats are there in the world and what are the types?"),
]
# invoke the GLM by providing the knowledge strings, optional system prompt
# if you want to turn off the GLM's commentary, pass True to the `avoid_commentary` argument
ai_msg = llm.invoke(
messages, knowledge=knowledge, system_prompt=system_prompt, avoid_commentary=True
)
print(ai_msg.content)
链接
我们可以将上下文模型与输出解析器链接起来。
from langchain_core.output_parsers import StrOutputParser
chain = llm | StrOutputParser
chain.invoke(
messages, knowledge=knowledge, systemp_prompt=system_prompt, avoid_commentary=True
)
API 参考
有关所有功能和配置的详细文档 ChatContextual 请访问 GitHub 页面: github.com/ContextualAI//langchain-contextual