AI 日报

Anthropic tutorial: 如何创建 100 000 代币上下文 AI 聊天机器人

  • By aihubon
  • Dec 19, 2023 - 2 min read



Anthropic tutorial: 如何创建 100 000 代币上下文 AI 聊天机器人

Claude 适合聊天机器人吗?

当然如此!Anthropic 的 Claude 被设计成一个聊天机器人。首先,在建造过程中,安全是第一位的,因此得到了用户的好评!第二个事实是,它的 100 000 个令牌的大上下文窗口有助于长时间对话,并且其生成长文本的能力非常适合聊天机器人。它还允许我们为模型提供额外的上下文。因此,它将能够提取更多信息并做出更准确的响应。让我们看看如何与 Claude 一起构建一个简单的聊天机器人!有了这些知识,您就可以构建更多人性化应用程序!

我在之前的教程中描述了如何尽早访问 Anthropic Claude。

编码

依赖关系

我们可以继续创建项目了!让我们从创建主文件夹开始。

mkdir chatbot-claudecd chatbot-claude

现在我们可以创建一个虚拟环境并安装必要的库。

python3 -m venv venv# Linux/Mac OSsource venv/bin/activate# Windowsvenv\Scripts\activate.batpip install anthropic python-dotenv

最后一步是创建main.py文件并导入库。

import osimport anthropicfrom dotenv import load_dotenvload_dotenv()

聊天机器人

我们将遵循我们曾经创建的另一个项目的模板。我想在那里显示每条消息后生成响应的成本。这很重要,因为我不想超出用于生成响应的资金数额。

首先,我将初始化 Anthropic 客户端、上下文,并准备常量以及生成一个代币的价格(以美元为单位)。

anthropic_client = anthropic.Client(api_key=os.getenv("ANTHROPIC_API_KEY"))# you can put some context here, to specialize the Modelcontext = ""# Anthropic Claude pricing: https://cdn2.assets-servd.host/anthropic-website/production/images/model_pricing_may2023.pdfPRICE_PROMPT = 1.102e-5PRICE_COMPLETION = 3.268e-5

下一步是准备一个函数来计算提示和响应中的标记数量。然后返回文本,其中包含有关所用手段的信息。

def count_used_tokens(prompt, completion):    prompt_token_count = anthropic.count_tokens(prompt)    completion_token_count = anthropic.count_tokens(completion)    prompt_cost = prompt_token_count * PRICE_PROMPT    completion_cost = completion_token_count * PRICE_COMPLETION    total_cost = prompt_cost + completion_cost    return (        "🟡 Used tokens this round: "        + f"Prompt: {prompt_token_count} tokens, "        + f"Completion: {completion_token_count} tokens - "        + f"{format(total_cost, '.5f')} USD)"    )

最后一步是运行聊天循环、检索用户的文本、收集上下文并生成响应。

while True:    user_inp = input("You: ")    current_inp = anthropic.HUMAN_PROMPT + user_inp + anthropic.AI_PROMPT    context += current_inp    prompt = context    completion = anthropic_client.completion(        prompt=prompt, model="claude-v1.3-100k", max_tokens_to_sample=1000    )["completion"]    context += completion    print("Anthropic: " + completion)    print(count_used_tokens(prompt, completion))

我们来测试一下吧!

好了,我们的应用程序已准备就绪。我们来测试一下吧!

python main.py

设置又快又容易,对吗?

Anthropic tutorial: 如何创建 100 000 代币上下文 AI 聊天机器人

如您所见,我们的聊天机器人响应正确!值得用更多的例子来测试它,最重要的是,检查上下文!这里的字段相当大,有 100k 个代币!

我鼓励您关注我们的人工智能黑客马拉松,尤其是即将到来的人类黑客马拉松!

为什么您不应该构建自己的定制聊天机器人或任何其他 Anthropic 应用程序?还有什么比在短时间内与其他志同道合的人在导师的帮助下更好地做到这一点呢?

感谢您阅读本教程。

谢谢你!– AI未来百科 ; 探索AI的边界与未来! 懂您的AI未来站