Commit Graph

400 Commits (683e5f5a71bc7a1b0e5b7a35e087f53cc55fceea)

Author SHA1 Message Date
Ted Sanders 610f730144
Merge pull request #411 from anshulsharmas/main
Added kusto vector database sample
1 year ago
arno756 83ba1e6f49
Adding SingleStoreDB as a vector database with Python notebook (#402)
* SingleStoreDB folder

* Readme

* Readme with notebook

* S2DB notebook

* Update README.md

* Delete OpenAI_wikipedia semantic_search.ipynb

* Add files via upload

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
1 year ago
Sebastian Witalec 6d77a1b93e
Add Generative Search to Weaviate examples + fix authentication examples (#398)
* add Weaviate authentication to client configuration

* add a cookbook for generative search

* fix name
1 year ago
Ted Sanders 88c24e4289
Merge pull request #437 from openai/ted/update-unit-testing-example
updates unit test writing example to use gpt-3.5-turbo
1 year ago
Ted Sanders f71e6a96a1 updates unit test writing example to use gpt-3.5-turbo 1 year ago
colin-openai 925dd22eea
Initial commit of DALL-E and Segment Anything notebook (#406)
* Initial commit of DALL-E and Segment Anything notebook

* Add example images and changed wording of the notebook

* Updated comments and added base images

* minor text amendments

* fix typo

* makes bullets more consistent

* converts title DALLE to DALL·E

* converts DALL-E to DALL·E

* update original DALL-E notebook title

* makes time of writing explicit

* makes intro bullets more consistent

* clarifies which version of Pytorch is appropriate

* moves setup instructions into setup section (to help clarify that they do not need to be done separately from the notebook)

* explains size of model checkpoint file

* code linting

* added more background info in the introduction for folks unfamiliar with segment anything

* adds period to sentence

* updates table of contents with new DALL·E guide

---------

Co-authored-by: Ted Sanders <ted@openai.com>
1 year ago
Changgeng Zhao 1000312934
Add Hologres as a vector database with python notebook example (#404)
Co-authored-by: 长更 <zhaochanggeng.zcg@alibaba-inc.com>
1 year ago
Ted Sanders b90f835fbe
Merge pull request #424 from jamescalam/gpt-4-example-fix
added data creation loop
1 year ago
Ted Sanders 40c39a28a9
Merge pull request #423 from eltociear/patch-4
docs: fix typo in QA_with_Langchain_Qdrant_and_OpenAI.ipynb
1 year ago
Michael Yuan 47046a1c86 Changes and additions in response to PR comments 1 year ago
Michael Yuan ea124a2db3 Changes and additions in response to PR comments 1 year ago
Michael Yuan f6b67799e9 Changes and additions in response to PR comments 1 year ago
James Briggs 1dd1c0ef33 added data creation loop 1 year ago
colin-openai edfbae1571
Merge pull request #415 from joeywhelan/feature-redisqna
Add Redis Q&A example
1 year ago
colin-openai 1eed317bbe
Merge pull request #408 from joeywhelan/feature-redisjson
Add Redis JSON w/VSS examples
1 year ago
Ikko Eltociear Ashimine cd42418444
docs: fix typo in QA_with_Langchain_Qdrant_and_OpenAI.ipynb
futher -> further
1 year ago
joeywhelan 77276df2b0 Fix redisqna 1 year ago
joeywhelan f69e8a4ace Fix redisjson 1 year ago
Ted Sanders 24782325d2
Merge pull request #374 from wangxuqi/analyticdb_langchain_example
Add QA with Langchain of AnalyticDB  vector store and OpenAI example.
1 year ago
Michael Yuan 95747294f5 Redis hybrid VSS queries notebook 1 year ago
joeywhelan b3ef4e3ad3 Add Redis Q&A example 1 year ago
Anshul Sharma 7634abf68d kusto vector sample added 1 year ago
joeywhelan d505735974 Add Redis JSON w/VSS examples 1 year ago
Ted Sanders c14432efe7 fixes grammar 1 year ago
xuqi.wxq d12cb6c43b Add QA with Langchain of AnalyticDB vector store and OpenAI example. 1 year ago
Ted Sanders 594fc6c952
Merge pull request #391 from joeywhelan/fix-redisclients
Fix Redis supported client list
1 year ago
aiqinxuancai 23bd266fef
Update How_to_count_tokens_with_tiktoken.ipynb (#368)
* Update How_to_count_tokens_with_tiktoken.ipynb

add c# tiktoken lib.

* Update How_to_count_tokens_with_tiktoken.ipynb

fix format.

* Update How_to_count_tokens_with_tiktoken.ipynb

fix format.
1 year ago
Ted Sanders b59f105ed1 polishes wording in a few places 1 year ago
joeywhelan 403b15893c Fix Redis supported client list 1 year ago
colin-openai 21d1834e5f
Merge pull request #390 from acatav/agent_with_langchain_pinecone_docs
[Pinecone]: Add link for creating Pinecone API key and environment variable to pinecone init
1 year ago
Amnon Catav 7164818de5 add links to pinecone and add env var to index 1 year ago
liuliu abdb53c9b1
fix: some typo and add execution command sample (#299)
* fix: some typo and add execution command sample

* fix: some typo and add execution command sample

1. hybrid-search-with-weaviate-and-openai.ipynb

* fix: some typo and add execution command sample

1. question-answering-with-weaviate-and-openai.ipynb
1 year ago
colin-openai 021604a0fb
Merge pull request #356 from openai/conversational_agent_with_tools
Merge conversational LLM with tools example using LangChain
1 year ago
Colin Jarvis e9d1a94e4c Made further wording changes 1 year ago
Colin Jarvis 97319dd69a Fixing merge issues 1 year ago
Colin Jarvis 257d0cd9e1 Fixing merge conflicts 1 year ago
Colin Jarvis 2e333c9423 Pushing renamed notebook with changed wording based on Ted's comments 1 year ago
Ted Sanders 8b049378cd
Merge pull request #361 from eltociear/patch-3
Update Getting_started_with_AnalyticDB_and_OpenAI.ipynb
1 year ago
qingdi 7fcba408f1
🌟 MyScale VectorStore Support (#377)
* add myscale notebook

* add myscale to vector database notebook
1 year ago
Ted Sanders 7ee1c6c0d1
Merge pull request #369 from wey-gu/patch-1
chore: fixed broken URL in markdown
1 year ago
jiangying 4d59bafe25
add jtokkit to How_to_count_tokens_with_tiktoken.ipynb 1 year ago
Wey Gu f8bf577df9
chore: fixed broken URL in markdown 1 year ago
Ted Sanders 54246459bd removes old references to query and doc models 1 year ago
Ted Sanders 793384ff3b
Merge pull request #336 from Hannibal046/patch-2
Fix bugs at api_request_parallel_processor.py
1 year ago
Ikko Eltociear Ashimine 0565b90ddc
Update Getting_started_with_AnalyticDB_and_OpenAI.ipynb
PostgresSQL -> PostgreSQL
1 year ago
joe-at-openai 2b6f6392b1 More updates to preamble and code comments 1 year ago
joe-at-openai 2965304e35 Update preamble and code comments 1 year ago
Alice Chen a8add5b4c6
[Fix] Typo and grammar fix in Question_answering_using_embeddings.ipynb 1 year ago
Colin Jarvis d8e5160ce5 Added wget URL for zipped podcasts 1 year ago
Colin Jarvis 19aefa9002 Initial commit of conversational agent with TODO remaining 1 year ago
Eugene Yan 4f67e0cf43
Update the section token count from 1,000 to 1,600
This resolves the mismatch between the values in markdown cell and code cell.
1 year ago
Ted Sanders 53a34ea1cc updates example command to be consistent with text 1 year ago
Ted Sanders 091e8e8579 updates README table of contents 1 year ago
Ted Sanders 3e854a3e82
Merge pull request #344 from openai/ted/update-qa-example
updates Q&A example to use gpt-3.5-turbo
1 year ago
Ted Sanders df88ad86d4 updates Q&A example to use gpt-3.5-turbo 1 year ago
Logan Kilpatrick 028b51f188
Merge pull request #341 from jasonbosco/add-typesense-readme
Add README for Typesense
1 year ago
colin-openai 9012742f38
Merge pull request #238 from liuliuOD/fix/vector_databases
fix: about spelling and command
1 year ago
Jason Bosco a98f0d27d7 Add README for Typesense 1 year ago
Hannibal046 ab0f7c1bd5
Update api_request_parallel_processor.py
fixed bug for non-serializable Error
1 year ago
Ted Sanders b658e8d1cc
Merge pull request #325 from bricker/patch-1
Typo fix in Multiclass_classification_for_transactions.ipynb
1 year ago
James Briggs b71a70a435 update wget to new langchain docs url 1 year ago
Bryan Ricker 32faca403c
Typo fix in Multiclass_classification_for_transactions.ipynb 1 year ago
Ted Sanders 4c31db4987
Merge pull request #321 from wangxuqi/add_analyticdb_vector_database_example
Add getting started with AnalyticDB distributed vector database example
2 years ago
xuqi.wxq 94acedc6ba Add getting started with AnalyticDB distributed vector database and OpenAI example. 2 years ago
Anton Troynikov 1deea48511
Add Chroma to Vector Database examples (#262)
* Vector store notebook

* HyDE with Chroma

* Cleaner text

* add swyx edits

* Cleaned up text / outputs

* Spelling nits

* Fixed comment format

---------

Co-authored-by: swyx <shawnthe1@gmail.com>
2 years ago
liuliu f15616cb20 fix: typo, grammar and link
1. examples/.../zilliz/Getting_started_with_Zilliz_and_OpenAI.ipynb
2 years ago
liuliu 8983cf7df7 fix: typo and grammar
1. examples/.../zilliz/Filtered_search_with_Zilliz_and_OpenAI.ipynb
2 years ago
liuliu be64945407 revert: spelling adjustment in examples/
1. a -> an in getting-started-with-redis-and-openai.ipynb
2 years ago
Andriy Mulyar 1c05442070
Visualizing Embeddings with Atlas (#152)
* Embedding visualization in Atlas

* Updated Atlas Visualization Example

* Atlas for Embedding Visualization: removed extra outputs

* Rename Atlas_for_visualizing_embeddings.ipynb to Visualizing_embeddings_with_Atlas.ipynb
2 years ago
Jason Bosco da19a7e3eb
Add Typesense example to vector databases (#277)
* Add Typesense example to vector databases

* Fix typo

* Add to intro section
2 years ago
Filip Haltmayer 5c94ed3b9e
Zilliz integration and Milvus bugfixes (#259)
* integrating zilliz and fixing milvus bugs

Signed-off-by: Filip Haltmayer <filip.haltmayer@zilliz.com>

* Adding Milvus and Zilliz notebooks

Signed-off-by: Filip Haltmayer <filip.haltmayer@zilliz.com>

* cleaned outputs of shared notebook

Signed-off-by: Filip Haltmayer <filip.haltmayer@zilliz.com>

---------

Signed-off-by: Filip Haltmayer <filip.haltmayer@zilliz.com>
2 years ago
Christian Mürtz b2d2b57a34
[Azure] Chat completions example (#271)
* Added notebook for chat completions on Azure

* Added pointer from README
2 years ago
Ted Sanders 2eb3cc1fd5
Merge pull request #280 from jamescalam/pinecone-updates
Pinecone updates
2 years ago
dmitry-brazhenko be1f1187bd added sharptoken as exampel 2 years ago
Ted Sanders 7622aa1d20 updates description of token counting function 2 years ago
James Briggs 8b397868f3 added new notebooks 2 years ago
Ted Sanders d972e7482e updates chat guide with gpt-4 and updates token counting function 2 years ago
Ted Sanders b45d2b2346 updates token counting guide 2 years ago
James Briggs 8ef3729998 add colab link 2 years ago
James Briggs f71d2d23aa add pinecone readme 2 years ago
Herobs afa9436334
Add chat endpoint support (#244)
* add chat endpoint support

* supplement comment
2 years ago
Swastik Banerjee 3dde564948
fix iteration error (#208)
* fix iteration error

array iteration error: sentences up till max_len of token exceeds should be returned

* split list once instead of twice

split list once instead of twice and take parsed string up till max token length is exceeded
2 years ago
Ted Sanders feb53449e0
Merge pull request #250 from eltociear/patch-2
Fix typo in Embedding_long_inputs.ipynb
2 years ago
Ted Sanders a101157740 updates token counting function to work with gpt-4 2 years ago
Ikko Eltociear Ashimine 43d0ac230c
Fix typo in Embedding_long_inputs.ipynb
programatically -> programmatically
2 years ago
liuliu c7f3f31b2c docs: create a block to show how to export parameter to environment in terminal 2 years ago
liuliu 6faa0e16c9 fix: add space in block of python
1. !pip -> ! pip
2 years ago
liuliu dbb2c89539 fix: docker-compose up command
1. docker compose -> docker-compose
2 years ago
liuliu 662aefd480 docs: fix minor spelling issue 2 years ago
liuliu 9a8027d10b docs: create a block to show how to export parameter to environment in terminal 2 years ago
liuliu 0d55f254ea docs: create a block to show how to export parameter to environment in terminal 2 years ago
liuliu 5fac20f42c docs: highlight tool name and modify spell
1. highlight "Qdrant"
2. modify "REST" to "RESTful"
2 years ago
liuliu 8193d295b4 fix: remove unused package import
1. datetime is unused
2 years ago
liuliu afbf055b08 doc: highlight text and tool name
1. cannot: highlight to enhance the importance
2. Pinecone
2 years ago
liuliu 0421728133 docs: complete the missing symbol * that should be paired in pinecone/Gen_QA.ipynb 2 years ago
Ted Sanders 86c739bc46 fixes test/train bug 2 years ago
Ted Sanders 7b097669fe
Merge pull request #228 from MrZilinXiao/main
fix prompt list counter
2 years ago
Ted Sanders d87990fcbd
Merge pull request #227 from liuliuOD/fix/dalle
docs: update dalle example file
2 years ago
Ted Sanders 8c2d52eda4
Merge pull request #226 from liuliuOD/fix/fine-tuned_qa
fix: made some spelling and semantic adjustments
2 years ago
Ted Sanders d9c257c339
Merge pull request #192 from kacperlukawski/qdrant-in-docs
List Qdrant among the other vector databases
2 years ago
Zilin Xiao d2e343153c
fix prompt list counter 2 years ago
liuliu aa42182ae5 docs: update dalle/Image_generations_edits_and_variations_with_DALL-E.ipynb
1. add a terminal command sample about how to export OPENAI_API_KEY to environment
2 years ago
liuliu 23491928cc docs: correct the opposite meaning
1. "to increase the coherence of the text, and the frequency of breaks within the text." -> "to increase the coherence of the text, and decrease the frequency of breaks within the text."
2 years ago
liuliu e257a986cf docs: fix minor spelling issue
1. "to ensure that the examples from the traing set don't feature within the test set." -> "to ensure that the examples from the training set don't feature within the test set."
2 years ago
liuliu 869c745a3c Fix minor spelling issue
the examples from the traing set -> the examples from the training set
2 years ago
BasedLukas 5afbaf3140
Fix minor spelling issue
we check that he separator > we check that the separator
2 years ago
colin-openai c3b920f123
Merge pull request #202 from dandv/patch-1
Weaviate: update links, minor corrections
2 years ago
colin-openai fcc70e762c
Merge pull request #133 from filip-halt/milvus_merge
Adding Milvus vector db
2 years ago
Dan Dascalescu 1ceaa89f3a
Weaviate: update links, minor corrections 2 years ago
Logan Kilpatrick 0272e206f2
Merge pull request #194 from shizhediao/patch-1
Update Gen_QA.ipynb
2 years ago
shizhediao 35f765e218
Update Gen_QA.ipynb 2 years ago
Kacper Łukawski c8a8db7b94 List Qdrant among the other vector databases 2 years ago
ethanknights df79754e03 rm trailing cell 2 years ago
ethanknights f46e2c15b2 company typo 2 years ago
Logan Kilpatrick 38c84ede5f
Merge pull request #172 from eltociear/patch-1
fix typo in Gen_QA.ipynb
2 years ago
colin-openai bd03f796ee
Merge pull request #140 from kacperlukawski/qdrant-notebooks
Add Qdrant notebooks
2 years ago
Kacper Łukawski fa9fded505 Add custom prompt template example 2 years ago
Kacper Łukawski 98b639df22 Fix typos and increase langchain version to 0.0.100 2 years ago
Ted Sanders b92d7e7b92 updates streaming example for chat models 2 years ago
Ikko Eltociear Ashimine 916843f921
fix typo in Gen_QA.ipynb
recieve -> receive
2 years ago
Ted Sanders 8cd6b0f53b adds examples of counting tokens for the ChatGPT API 2 years ago
Ted Sanders 73a64ff7da
Ted/chat api (#163)
* adds example for calling ChatGPT API

* updates table of contents with ChatGPT API
2 years ago
colin-openai 6be0de50e5 Switching character chunking out for token-based chunking 2 years ago
colin-openai 7139df95c3 Pushing updated version with grammar changes 2 years ago
colin-openai 2131c770ea Notebook demonstrating approach to extracting entities from a long document 2 years ago
Kacper Łukawski c1f11dc8f7 Remove the output of pip install command 2 years ago
Kacper Łukawski cfdda833fd Add an example of how to use Langchain with Qdrant and OpenAI embeddings 2 years ago
Kacper Łukawski 878dd10d5c Add "Getting started" notebook for Qdrant 2 years ago
Kacper Łukawski d3da832448 Update Qdrant to 1.0.1 2 years ago
Filip Haltmayer 7198d48994 Add Milvus vector db
Signed-off-by: Filip Haltmayer <filip.haltmayer@zilliz.com>
2 years ago
colin-openai 9b17d00cab
Merge pull request #131 from Spartee/add-redis-example
Add Redis example notebooks and READMEs
2 years ago
Sam Partee d0dfca2b95 Add docker-compose and cleanup 2 years ago
Sam Partee 36cf06fc0a Add Redis example notebooks and READMEs 2 years ago
Ted Sanders 6b7e5f6695
updates docker link to docker.com (#129) 2 years ago
colin-openai 264bcb03dd
Merging Weaviate notebooks to main (#122)
* updates Weaviate vector database Cookbook examples
2 years ago
Ted Sanders 5b5f228121
Merge pull request #100 from scottire/main
Add W&B embedding projector example
2 years ago
Scott Condron f4c865cfef
Removing top from blurb 2 years ago
Scott Condron 5e0c3f92d3 Add W&B Blurb 2 years ago
colin-openai c31fe72f1a
Merge pull request #121 from openai/colin
Fixed commented out vector
2 years ago
colin-openai df570ceb4d Fixed commented out vector 2 years ago
jamescalam 7c43d6ab1a added pinecone-openai gen qa example 2 years ago
Ted Sanders fa3a64a3b8
Merge pull request #117 from Tobel158/patch-1
Update Question_answering_using_embeddings.ipynb
2 years ago
Tobel 1b9efd7726
Update Question_answering_using_embeddings.ipynb
remove typo
2 years ago
Filipe de Avila Belbute Peres d339859248 Fix weighted average 2 years ago
Ted Sanders 9f4bb5260a
Merge pull request #105 from wa11breaker/main
docs: fix example code in fine-tuned_qa section 2.3
2 years ago
Ted Sanders ac71280d5c
Merge pull request #95 from akshayvkt/patch-1
Updated a markdown in Clustering.ipynb
2 years ago
Ted Sanders 0acccd2ad4
Merge pull request #92 from Androbin/patch-1
Encode separator for completions endpoint
2 years ago
Ted Sanders 5ef1523014
Merge pull request #56 from openai/colin
Initial commit of vector database example with new embeddings
2 years ago
colin-openai 3ad0e718cb Pushing update to remove data loading 2 years ago
Akshay e894ddf315 docs: fix example code in fine-tuned_qa section 2.3 2 years ago
Scott e2106af5db Add W&B embedding projector example 2 years ago
colin-openai befe771b2c Updated to align wording 2 years ago
Akshay Chintalapati 5811e634a0
Update Clustering.ipynb
Updated the penultimate markdown to align with the code in the following cell
2 years ago
Robin Richtsfeld b34607ddb7
Encode separator for completions endpoint
`SEPARATOR` is being used to construct a prompt for use with the completions endpoint
2 years ago
Ted Sanders e3450242b2 updates model name in text description of Q&A notebook 2 years ago
colin-openai a37477f9bc Tested notebook end to end 2 years ago
colin-openai ea8a52d00b Updated text to include Qdrant in guide 2 years ago
Bryan Ricker c51a573f0d
fix typo 2 years ago
Ted Sanders ea6b4f1dd6 updates streaming guide with note about usage field 2 years ago
Ted Sanders 35aa675aef updates rate limit notebook with links to parallel processing script 2 years ago
Ted Sanders 23acf80aaf adds parallel processing script 2 years ago
Ted Sanders c9df23f7d0
Merge pull request #77 from Pankaj-Baranwal/patch-1
Replaced non-existent model with the new version.
2 years ago
Filipe de Avila Belbute Peres 2e59263390 Convert back to list only after all np operations 2 years ago
Ted Sanders d1165a7757 normalizes averaged embeddings to length 1 2 years ago
Ted Sanders 14262d47e8 polishes text and re-runs notebook 2 years ago
Filipe de Avila Belbute Peres ee69beb8cd Print len instead of full array 2 years ago
Filipe de Avila Belbute Peres f3289404b2 Wrap error message to avoid saving all the trace to the notebook 2 years ago
Filipe de Avila Belbute Peres ec564da44d Change len_safe function signature + other changes 2 years ago
Filipe de Avila Belbute Peres f259e82ab6 Rename file 2 years ago
Filipe de Avila Belbute Peres 85032e0831 Finish first draft 2 years ago
Kacper Łukawski 5ee5fecb76 Add Qdrant as another example of vector database 2 years ago
Filipe de Avila Belbute Peres cc6df3a8c3 Write initial draft 2 years ago
Ted Sanders 5050739cf1 adds tiktoken example 2 years ago
Colin Jarvis 225b9177c8 Updated wordings of headers 2 years ago
Colin Jarvis a367e11e39 Updated title 2 years ago
Colin Jarvis f20f6acfd1 Updated document name to be more descriptive 2 years ago
Colin Jarvis 80b8e5fc3f Pushing updated version responding to PR comments 2 years ago
Pankaj fdc0f42847
Replaced non-existent model with the new version.
davinci-instruct-beta-v2 model doesn't exist anymore.
It has been replaced by davinci-instruct-beta-v3
2 years ago
Ted Sanders 4adea8e4e2
Merge pull request #50 from cmurtz-msft/azure-openai-ga
Azure OpenAI GA
2 years ago
Ted Sanders df2758ac2e updates Q&A example with latest embedding and completion models 2 years ago
Colin Jarvis fb18b7f6c2 Added notes where users can consider adding thread pool to speed up upsert operation 2 years ago
Colin Jarvis 21ca5a9555 Removed extra whitespace within Weaviate query function 2 years ago
Colin Jarvis f2567b62a5 Pushing updated Vector DB introduction notebook with PR changes 2 years ago
Ted Sanders 49fca3f32e updates # of dimensions in embedding visualization examples 2 years ago
Ted Sanders 8b547fdb83 updates embedding examples based on ada-002 2 years ago
Colin Jarvis 73802cb7e1 Merge branch 'main' into colin 2 years ago
Shyamal H Anadkat 502429c7c8
Merge pull request #46 from scottleibrand/patch-1
Only get_embedding once
2 years ago
Shyamal H Anadkat c6fc1f2b2a
Merge pull request #54 from oaosman84/patch-1
Remove obsolete reference to old embedding engines
2 years ago
gloryjain 40e3a10417
Update notebook to point to form
Route rate limit increase requests to form instead of our support email
2 years ago
Colin Jarvis b7cb21689a Initial commit of vector database example with new embeddings 2 years ago
Osman A. Osman b2d9cd13d4
Remove obsolete reference to old embedding engines 2 years ago
Scott Leibrand ae45a48de3
Only get_embedding once
fd181ec78f updated what was previously two different get_embedding() calls w/ different models to be two identical calls. Rather than doing the same API call twice in a row, we can now just set the second variable to be equal to the first one.
2 years ago
Christian Muertz 934f4d863b Update ad auth section 2 years ago
Christian Muertz 0bd2dcfa5c Fix setup sections 2 years ago
Christian Muertz 9b3fd89a26 Fix typo 2 years ago
Christian Muertz 3708c28834 Adjust finetuning setup section 2 years ago
Christian Muertz ca628a18be Add ad auth to embeddings example 2 years ago
Christian Muertz 53a9891133 Fix completions notebook 2 years ago
Christian Muertz 7ce4de8467 Update metadata of azure notebooks 2 years ago
Christian Muertz 3eee35e24f Simple example just for completions with davinci 2 years ago