Skip to main content
Open In Colab在 GitHub 上打开

Cogniswitch 工具包

CogniSwitch 用于构建生产就绪型应用程序,这些应用程序可以完美地使用、组织和检索知识。使用您选择的框架,在本例中为 Langchain,CogniSwitch 有助于减轻在选择正确的存储和检索格式时做出决策的压力。它还消除了生成响应时的可靠性问题和幻觉。

设置

访问此页面以注册 Cogniswitch 帐户。

  • 使用您的电子邮件注册并验证您的注册

  • 您将收到一封包含平台令牌和 oauth 令牌的邮件,用于使用这些服务。

%pip install -qU langchain-community

导入必要的库

import warnings

warnings.filterwarnings("ignore")

import os

from langchain.agents.agent_toolkits import create_conversational_retrieval_agent
from langchain_community.agent_toolkits import CogniswitchToolkit
from langchain_openai import ChatOpenAI

Cogniswitch 平台令牌、OAuth 令牌和 OpenAI API 密钥

cs_token = "Your CogniSwitch token"
OAI_token = "Your OpenAI API token"
oauth_token = "Your CogniSwitch authentication token"

os.environ["OPENAI_API_KEY"] = OAI_token

使用凭证实例化 cogniswitch 工具包

cogniswitch_toolkit = CogniswitchToolkit(
cs_token=cs_token, OAI_token=OAI_token, apiKey=oauth_token
)

获取 cogniswitch 工具列表

tool_lst = cogniswitch_toolkit.get_tools()

实例化 LLM

llm = ChatOpenAI(
temperature=0,
openai_api_key=OAI_token,
max_tokens=1500,
model_name="gpt-3.5-turbo-0613",
)

将 LLM 与 Toolkit 结合使用

使用 LLM 和 Toolkit 创建代理

agent_executor = create_conversational_retrieval_agent(llm, tool_lst, verbose=False)

调用代理上传 URL

response = agent_executor.invoke("upload this url https://cogniswitch.ai/developer")

print(response["output"])
The URL https://cogniswitch.ai/developer has been uploaded successfully. The status of the document is currently being processed. You will receive an email notification once the processing is complete.

调用代理上传文件

response = agent_executor.invoke("upload this file example_file.txt")

print(response["output"])
The file example_file.txt has been uploaded successfully. The status of the document is currently being processed. You will receive an email notification once the processing is complete.

调用代理以获取文档的状态

response = agent_executor.invoke("Tell me the status of this document example_file.txt")

print(response["output"])
The status of the document example_file.txt is as follows:

- Created On: 2024-01-22T19:07:42.000+00:00
- Modified On: 2024-01-22T19:07:42.000+00:00
- Document Entry ID: 153
- Status: 0 (Processing)
- Original File Name: example_file.txt
- Saved File Name: 1705950460069example_file29393011.txt

The document is currently being processed.

使用 query 调用代理并获取答案

response = agent_executor.invoke("How can cogniswitch help develop GenAI applications?")

print(response["output"])
CogniSwitch can help develop GenAI applications in several ways:

1. Knowledge Extraction: CogniSwitch can extract knowledge from various sources such as documents, websites, and databases. It can analyze and store data from these sources, making it easier to access and utilize the information for GenAI applications.

2. Natural Language Processing: CogniSwitch has advanced natural language processing capabilities. It can understand and interpret human language, allowing GenAI applications to interact with users in a more conversational and intuitive manner.

3. Sentiment Analysis: CogniSwitch can analyze the sentiment of text data, such as customer reviews or social media posts. This can be useful in developing GenAI applications that can understand and respond to the emotions and opinions of users.

4. Knowledge Base Integration: CogniSwitch can integrate with existing knowledge bases or create new ones. This allows GenAI applications to access a vast amount of information and provide accurate and relevant responses to user queries.

5. Document Analysis: CogniSwitch can analyze documents and extract key information such as entities, relationships, and concepts. This can be valuable in developing GenAI applications that can understand and process large amounts of textual data.

Overall, CogniSwitch provides a range of AI-powered capabilities that can enhance the development of GenAI applications by enabling knowledge extraction, natural language processing, sentiment analysis, knowledge base integration, and document analysis.