Cohere

文章目录

    • 关于 cohere
      • 公司介绍
      • 目标:构建大模型基础设施
      • 产品
      • 商业模式
    • API 使用
      • 基于 Cohere AI 实现语义搜索


关于 cohere

  • PYPI : https://pypi.org/project/cohere
  • 官网 : https://cohere.com
  • github : https://github.com/cohere-ai/cohere-python
  • 文档:https://docs.cohere.com

文章/教程

  • 硅谷科技评论:Cohere,为企业提供大模型
    https://mp.weixin.qq.com/s/H-FNecz6rhfVkWg_ayoKKg

  • 如何使用 Cohere AI 文本嵌入技术实现语义搜索
    https://mp.weixin.qq.com/s/wWeYopgO3t6vyjHlA85sBQ

  • 每个人都能做NLP开发:cohere及开源平替测试
    https://www.bilibili.com/video/BV1ov4y1U7Au/


公司介绍

Aidan Gomez(首席执行官)、Nick Frosst 和 Ivan Zhu 于 2019 年创立了 Cohere。
其中 Aidan Gomez 于 2017 年 6 月与人合著论文《Attention Is All You Need》,这个的分量大家都知道,在此不赘述。
2023 年初,YouTube 前首席财务官 Martin Kon(总裁兼首席运营官)加入团队。


目标:构建大模型基础设施

Gomes : “刚开始时,我们并不真正知道我们想要构建什么产品…我们只是专注于构建基础设施,以使用我们可以获得的任何计算在超级计算机上训练大型语言模型。很快在我们启动 Cohere 后,GPT-3 出现了,这是一个巨大的突破时刻,非常有效,并给了我们[一个指示],表明我们正在走上正确的道路。”


产品

Cohere 为各种阅读和写作任务训练大型语言模型 (LLMs),例如摘要、内容创建和情感分析。
其语言模型针对三个主要用例进行了优化:

  • 检索文本(retrieving text)
    • Embed(嵌入)
    • Semantic Search(语义搜索)
    • Rerank(重新排名)
  • 生成文本(generating text)
    • Summarize(总结)
    • Generate(生成)
    • Command Model:遵循业务应用程序的用户命令
  • 分类文本(classifying text)

在这里插入图片描述


根据您的隐私/安全要求,有多种方式可以访问Cohere:

  • Cohere的API:这是最简单的选择,只需从仪表板中获取一个API键,并开始使用Cohere托管的模型。
  • 云人工智能平台:此选项提供了易用性和安全性的平衡。您可以在各种云人工智能平台上访问Cohere,如Oracle的GenAI服务、AWS的Bedrock和Sagemaker平台、谷歌云和Azure的AML服务。
  • 私有云部署:Cohere的模型可以在大多数虚拟私有云(VPC)环境中进行私有部署,提供增强的安全性和最高程度的定制。有关信息,请联系销售人员。
    在这里插入图片描述

商业模式

Cohere 承担着构建每个模型的大量前期成本和持续的推理成本。
它通过基于使用量的定价来收回成本,并提供三种不同的定价等级:

  • 免费:访问所有 Cohere API 端点,并限速使用,用于学习和原型设计。
  • 产品:增加对所有 Coheres API 端点的访问速率限制、增强客户支持以及根据提供的数据训练自定义模型的能力。
    Cohere 根据其所有 API 端点的Token数量(Token基本上是数字、字母或符号)进行收费,端点的价格各不相同,从每个Token 0.0000004 美元(嵌入)到 0.001 美元(重新排序)不等。
  • 企业:专用模型实例、最高级别的支持和自定义部署选项。企业级的定价未公开。


API 使用

准备
1、安装库

pip install cohere

2、获取 秘钥

https://dashboard.cohere.ai/


基于 Cohere AI 实现语义搜索


import cohere
import numpy as np
import re
import pandas as pd
from tqdm import tqdm
from datasets import load_dataset
import umap
import altair as alt
from sklearn.metrics.pairwise import cosine_similarity
from annoy import AnnoyIndex
import warnings
warnings.filterwarnings('ignore')
pd.set_option('display.max_colwidth', None)

api_key = ''co = cohere.Client(api_key)

获取问题分类数据集
这里将使用trec数据集来演示,trec数据集由问题及其类别组成。

# 获取数据集
dataset = load_dataset("trec", split="train")# 将其导入到pandas的dataframe中,只取前1000行
df = pd.DataFrame(dataset)[:1000]# 预览数据以确保已正确加载
df.head(10)

文档嵌入

可以使用Cohere对问题文本进行嵌入。
使用Cohere库的embed函数对问题进行嵌入。生成一千个这样长度的嵌入大约需要15秒钟。

# 获取嵌入
embeds = co.embed(texts=list(df['text']),model="large",truncate="RIGHT").embeddings# 检查嵌入的维度
embeds = np.array(embeds)
embeds.shape

使用索引和最近邻搜索进行搜索
使用annoy库的AnnoyIndex函数,一种优化快速搜索的方式存储嵌入。
在给定集合中找到距离给定点最近(或最相似)的点的优化问题被称为最近邻搜索。
这种方法适用于大量的文本(其他选项包括Faiss、ScaNN和PyNNDescent)。

构建索引后,我们可以使用它来检索现有问题的最近邻,或者嵌入新问题并找到它们的最近邻。

# 创建搜索索引,传入嵌入的大小
search_index = AnnoyIndex(embeds.shape[1], 'angular')
# 将所有向量添加到搜索索引中
for i in range(len(embeds)):search_index.add_item(i, embeds[i])search_index.build(10) # 10 trees
search_index.save('test.ann')

查找数据集中示例的邻居
如果我们只对数据集中的问题之间的距离感兴趣(没有外部查询),一种简单的方法是计算我们拥有的每对嵌入之间的相似性。

# 选择一个示例(我们将检索与之相似的其他示例)
example_id = 7# 检索最近的邻居
similar_item_ids = search_index.get_nns_by_item(example_id,10,include_distances=True)
# 格式化并打印文本和距离
results = pd.DataFrame(data={'texts': df.iloc[similar_item_ids[0]]['text'], 'distance': similar_item_ids[1]}).drop(example_id)print(f"问题:'{df.iloc[example_id]['text']}'\n最近的邻居:")
results

查找用户查询的邻居

我们可以使用诸如嵌入之类的技术来找到用户查询的最近邻居。
通过嵌入查询,我们可以衡量它与数据集中项目的相似性,并确定最近的邻居。

query = "世界上最高的山是什么?"# 获取查询的嵌入
query_embed = co.embed(texts=[query],model="large",truncate="RIGHT").embeddings# 检索最近的邻居
similar_item_ids = search_index.get_nns_by_vector(query_embed[0],10,include_distances=True)
# 格式化结果
results = pd.DataFrame(data={'texts': df.iloc[similar_item_ids[0]]['text'], 'distance': similar_item_ids[1]})print(f"问题:'{query}'\n最近的邻居:")
results

伊织 2024-03-04(周一)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513515.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2024】vue-router和pinia的配置使用

目录 vue-routerpiniavue-routerpinia进阶用法---动态路由 有同学在项目初始化后没有下载vue-router和pinia,下面开始: vue-router npm install vue-router然后在src目录下创建文件夹router,以及下面的index.ts文件: 写进下面的…

python--产品篇--游戏-坦克

文章目录 准备代码main.pycfg.py 效果 准备 下载 代码 main.py import os import cfg import pygame from modules import *主函数 def main(cfg):# 游戏初始化pygame.init()pygame.mixer.init()screen pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT))pygame.display.…

CHI协议学习

原始文档:https://developer.arm.com/documentation/102407/0100/?langen CHI 总线拓扑结构 CHI总线拓扑是实现自定义的,可以是RING/MESH/CROSSBAR的类型; RING 一般适用于中等规模芯片MESH 一般适用于大规模芯片CROSSBAR 一般适用于小规模…

工具函数模板题(蓝桥杯 C++ 代码 注解)

目录 一、Vector容器: 二、Queue队列 三、Map映射 四、题目(快递分拣 vector): 代码: 五、题目(CLZ银行问题 queue): 代码: 六、题目(费里的语言 map&…

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:从入门到入魔》 🚀 本…

三星成功研发出业界首款12层堆叠HBM3E

三星电子有限公司成功研发出业界首款12层堆叠HBM3E DRAM——HBM3E 12H,这是迄今为止容量最大的HBM产品。这款新型HBM3E 12H内存模块提供了高达1,280GB/s的史上最高带宽,并拥有36GB的存储容量,相较于之前的8层堆叠HBM3 8H,在带宽和…

记录一次排查负载均衡不能创建的排查过程

故障现象,某云上,运维同事在创建负载均衡的时候,发现可以创建资源,但是创建完之后,不显示对应的负载均衡。 创建负载均衡时候,按f12发现console有如下报错 后来请后端网络同事排查日志发现,是后…

《PyTorch深度学习实践》第十一讲卷积神经网络进阶

一、 1、卷积核超参数选择困难,自动找到卷积的最佳组合。 2、1x1卷积核,不同通道的信息融合。使用1x1卷积核虽然参数量增加了,但是能够显著的降低计算量(operations) 3、Inception Moudel由4个分支组成,要分清哪些是在Init里定义…

汽车后视镜反射率检测仪厂家

随着汽车工业的快速发展,汽车后视镜作为驾驶员观察车辆周围环境的重要工具,其性能和质量对于交通安全至关重要。汽车后视镜的反射率检测仪是一种用于检测汽车后视镜反射性能的专业设备,其重要性不言而喻。本文将重点介绍汽车后视镜反射率检测…

猜数字小游戏

目录 java: c语言: java编写: 首先我们要获取随机数 java帮我们写好了一个类叫Random,这个类就可以生成一个随机数 那我们该如何使用Random类呢? 1、导包———Random这个类在哪呢(导包必须出现在类定义…

短视频矩阵系统--抖去推---年后技术还能迭代更新开发运营吗?

短视频矩阵系统#短视频矩阵系统已经开发3年,年后这个市场还能继续搞吗?目前市面上开发短视频账号矩阵系统的源头公司已经不多了吧,或者说都已经被市场被官方平台的政策影响的不做了吧,做了3年多的矩阵系统开发到现在真的是心里没有…

二叉树——700. 二叉搜索树中的搜索、98. 验证二叉搜索树

二叉搜索树中的搜索 给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 示例 1: 输入:root [4,2,7,1,3], val 2 …